diff --git a/INSTALL.md b/INSTALL.md index add976b4a..fe2366be0 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -240,7 +240,7 @@ Defaults are listed in brackets after the description. production environment. --enable-pie - Build sudo and related programs as as a position independent + Build sudo and related programs as position independent executables (PIE). This improves the effectiveness of address space layout randomization (ASLR) on systems that support it. Sudo will create PIE binaries by default on Linux systems. @@ -476,10 +476,6 @@ Defaults are listed in brackets after the description. Specify the path to the SSSD shared library, which is loaded at run-time. - --enable-offensive-insults - Enable potentially offensive sudo insults from the classic - version of sudo. - --enable-pvs-studio Generate a sample PVS-Studio.cfg file based on the compiler and platform type. The "pvs-studio" Makefile target can then be @@ -811,14 +807,16 @@ Defaults are listed in brackets after the description. --with-classic-insults Uses insults from sudo "classic." If you just specify --with-insults - you will get the classic and CSOps insults. This is on by default if - --with-insults is given. + you will get the classic and CSOps insults. You must either specify + --with-insults or enable insults in the sudoers file for this to have + any effect. --with-csops-insults Insults the user with an extra set of insults (some quotes, some - original) from a sysadmin group at CU (CSOps). You must specify - --with-insults as well for this to have any effect. This is on by - default if --with-insults is given. + original) from a sysadmin group at CU (CSOps). If you just specify + --with-insults you will get the classic and CSOps insults. You + must either specify --with-insults or enable insults in the sudoers + file for this to have any effect. --with-editor=PATH Specify the default editor path for use by visudo. This may be a @@ -884,13 +882,19 @@ Defaults are listed in brackets after the description. Sudoers option: ignore_dot --with-insults - Define this if you want to be insulted for typing an incorrect password - just like the original sudo(8). This is off by default. + Define this if you want to be insulted by default for typing + an incorrect password just like the original sudo(8). + Insults may be optionally disabled in the sudoers file. Sudoers option: insults + --with-insults=no, --without-insults + By default, sudo will include support for insults that can be + enabled via the sudoers file. However, if --with-insults=no is + used, no insults will be available, even if enabled in sudoers. + --with-insults=disabled Include support for insults but disable them unless explicitly - enabled in sudoers. + enabled in the sudoers file. This is the default. Sudoers option: !insults --with-iologdir[=DIR] @@ -995,9 +999,17 @@ Defaults are listed in brackets after the description. be separate from the "user path." You will need to customize the path for your site. This is not applied to users in the group specified by --with-exemptgroup. If you do not specify a path, - "/bin:/usr/ucb:/usr/bin:/usr/sbin:/sbin:/usr/etc:/etc" is used. + "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" + is used. Sudoers option: secure_path + --with-secure-path-value[=PATH] + Sets the value of "secure_path" that is substituted into + the default sudoers file. This option is intended to be + used by package maintainers who wish to set "secure_path" + to a system-specific value in the default sudoers file. + It does not actually enable "secure-path". + --with-sendmail=PATH Override configure's guess as to the location of sendmail. Sudoers option: mailerpath @@ -1077,7 +1089,7 @@ You need to have a C compiler in order to build sudo. Since Solaris does not come with one by default this means that you either need to either install the Solaris Studio compiler suite, available for free from www.oracle.com, or install the GNU C compiler (gcc) which -is can be installed via the pkg utility on Solaris 11 and higher +can be installed via the pkg utility on Solaris 11 and higher and is distributed on the Solaris Companion CD for older Solaris releases. You can also download gcc packages from https://www.opencsw.org/packages/CSWgcc4core/. diff --git a/LICENSE.md b/LICENSE.md index 32d6f2daa..b1a81239d 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,6 +1,6 @@ Sudo is distributed under the following license: - Copyright (c) 1994-1996, 1998-2023 + Copyright (c) 1994-1996, 1998-2024 Todd C. Miller Permission to use, copy, modify, and distribute this software for any @@ -299,7 +299,7 @@ The file getentropy.c bears the following license: The embedded copy of zlib bears the following license: - Copyright (C) 1995-2022 Jean-loup Gailly and Mark Adler + Copyright (C) 1995-2024 Jean-loup Gailly and Mark Adler This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages diff --git a/MANIFEST b/MANIFEST index a3f8ffbd1..19a218172 100644 --- a/MANIFEST +++ b/MANIFEST @@ -32,6 +32,7 @@ docs/cvtsudoers.mdoc.in docs/fixman.sh docs/fixmdoc.sed docs/schema.ActiveDirectory +docs/schema.IBM_LDAP docs/schema.OpenLDAP docs/schema.iPlanet docs/schema.olcSudo @@ -716,6 +717,8 @@ plugins/sudoers/po/hr.mo plugins/sudoers/po/hr.po plugins/sudoers/po/hu.mo plugins/sudoers/po/hu.po +plugins/sudoers/po/id.mo +plugins/sudoers/po/id.po plugins/sudoers/po/it.mo plugins/sudoers/po/it.po plugins/sudoers/po/ja.mo diff --git a/Makefile.in b/Makefile.in index 3caa66750..6a097adb5 100644 --- a/Makefile.in +++ b/Makefile.in @@ -221,20 +221,24 @@ depend: siglist.c signame.c tsgetusershell.c lib/util/Makefile.in lib/zlib/Makefile.in \ lib/fuzzstub/Makefile.in lib/eventlog/Makefile.in \ lib/iolog/Makefile.in lib/logsrv/Makefile.in logsrvd/Makefile.in \ - lib/protobuf-c/Makefile.in plugins/group_file/Makefile.in \ - plugins/sample/Makefile.in plugins/sudoers/Makefile.in \ - plugins/system_group/Makefile.in plugins/python/Makefile.in \ - src/Makefile.in && \ + lib/protobuf-c/Makefile.in lib/ssl_compat/Makefile.in \ + plugins/group_file/Makefile.in plugins/audit_json/Makefile.in \ + plugins/sample/Makefile.in plugins/sample_approval/Makefile.in \ + plugins/sudoers/Makefile.in plugins/system_group/Makefile.in \ + plugins/python/Makefile.in src/Makefile.in && \ $(top_builddir)/config.status --file $(top_builddir)/lib/util/Makefile \ --file $(top_builddir)/lib/zlib/Makefile \ - --file $(top_builddir)/lib/eventlog/Makefile \ --file $(top_builddir)/lib/fuzzstub/Makefile \ + --file $(top_builddir)/lib/eventlog/Makefile \ --file $(top_builddir)/lib/iolog/Makefile \ --file $(top_builddir)/lib/logsrv/Makefile \ --file $(top_builddir)/lib/protobuf-c/Makefile \ + --file $(top_builddir)/lib/ssl_compat/Makefile \ --file $(top_builddir)/logsrvd/Makefile \ - --file $(top_builddir)/plugins/sample/Makefile \ --file $(top_builddir)/plugins/group_file/Makefile \ + --file $(top_builddir)/plugins/audit_json/Makefile \ + --file $(top_builddir)/plugins/sample/Makefile \ + --file $(top_builddir)/plugins/sample_approval/Makefile \ --file $(top_builddir)/plugins/sudoers/Makefile \ --file $(top_builddir)/plugins/system_group/Makefile \ --file $(top_builddir)/plugins/python/Makefile \ diff --git a/NEWS b/NEWS index 535964e57..775d2d1c8 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,72 @@ +What's new in Sudo 1.9.16 + + * Added the "cmddenial_message" sudoers option to provide additional + information to the user when a command is denied by the sudoers + policy. The default message is still displayed. + + * The time stamp used for file-based logs is now more consistent + with the time stamp produced by syslog. GitHub issues #327. + + * Sudo will now warn the user if it can detect the user's terminal + but cannot determine the path to the terminal device. The sudoers + time stamp file will now use the terminal device number directly. + GitHub issue #329. + + * The embedded copy of zlib has been updated to version 1.3.1. + + * Improved error handling if generating the list of signals and signal + names fails at build time. + + * Fixed a compilation issue on Linux systems without process_vm_readv(). + + * Fixed cross-compilation with WolfSSL. + + * Added a "json_compact" value for the sudoers "log_format" option + which can be used when logging to a file. The existing "json" + value has been aliased to "json_pretty". In a future release, + "json" will be an alias for "json_compact". GitHub issue #357. + + * A new "pam_silent" sudoers option has been added which may be + negated to avoid suppressing output from PAM authentication modules. + GitHub issue #216. + + * Fixed several cvtsudoers JSON output problems. + GitHub issues #369, #370, #371, #373, #381. + + * When sudo runs a command in a pseudo-terminal and the user's + terminal is revoked, the pseudo-terminal's foreground process + group will now receive SIGHUP before the terminal is revoked. + This emulates the behavior of the session leader exiting and is + consistent with what happens when, for example, an ssh session + is closed. GitHub issue #367. + + * Fixed "make test" with Python 3.12. GitHub issue #374. + + * In schema.ActiveDirectory, fixed the quoting in the example command. + GitHub issue #376. + + * Paths specified via a Chdir_Spec or Chroot_Spec in sudoers may + now be double-quoted. + + * Sudo insults are now included by default, but disabled unless + the --with-insults configure option is specified or the "insults" + sudoers option is enabled. + + * The default sudoers file now enables the "secure_path" option by + default and preserves the EDITOR, VISUAL, and SUDO_EDITOR environment + variables when running visudo. The new --with-secure-path-value + configure option can be used to set the value of "secure_path" in + the default sudoers file. GitHub issue #387. + + * A sudoers schema for IBM Directory Server (aka IBM Tivoli Directory + Server, IBM Security Directory Server, and IBM Security Verify + Directory) is now included. + + * When cross-compiling sudo, the configure script now assumes that + the snprintf() function is C99-compliant if the C compiler + supports the C99 standard. Previously, configure would use + sudo's own snprintf() when cross-compiling. GitHub issue #386. + What's new in Sudo 1.9.15p5 * Fixed evaluation of the "lecture", "listpw", "verifypw", and diff --git a/README.LDAP.md b/README.LDAP.md index 7d3e97f6a..bccda62f5 100644 --- a/README.LDAP.md +++ b/README.LDAP.md @@ -96,8 +96,17 @@ copy the schema.iPlanet file to the schema directory with the name 99sudo.ldif. On Solaris, schemas are stored in /var/Sun/mps/slapd-\`hostname\`/config/schema/. For Fedora Directory Server, they are stored in /etc/dirsrv/schema/. -After copying the schema file to the appropriate directory, restart -the LDAP server. +For IBM Directory Server, IBM Tivoli Directory Server, IBM Security +Directory Server, and IBM Security Verify Directory, the schema is +supplied in LDIF format. It can be installed using the ldapmodify +utility: + + # ldapmodify -c -f schema.IBM_LDAP -h ldapserver:port -w passwod \ + -D cn=Manager,dc=example,dc=com + +For schema files other than schema.olcSudo and schema.IBM_LDAP, you +will need to restart the LDAP server after copying the schema file +into place. Finally, using an LDAP browser/editor, enable indexing by editing the client profile to provide a Service Search Descriptor (SSD) for sudoers, diff --git a/config.h.in b/config.h.in index 7361c02ce..531fe8efe 100644 --- a/config.h.in +++ b/config.h.in @@ -1203,10 +1203,6 @@ /* Define if your C preprocessor does not support variadic macros. */ #undef NO_VARIADIC_MACROS -/* Define to 1 to include offensive insults from the classic version of sudo. - */ -#undef OFFENSIVE_INSULTS - /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT diff --git a/configure b/configure index d01f4286f..18eb2bdf2 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.72c for sudo 1.9.15p5. +# Generated by GNU Autoconf 2.72 for sudo 1.9.16. # # Report bugs to . # @@ -614,8 +614,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='sudo' PACKAGE_TARNAME='sudo' -PACKAGE_VERSION='1.9.15p5' -PACKAGE_STRING='sudo 1.9.15p5' +PACKAGE_VERSION='1.9.16' +PACKAGE_STRING='sudo 1.9.16' PACKAGE_BUGREPORT='https://bugzilla.sudo.ws/' PACKAGE_URL='' @@ -704,6 +704,7 @@ host_os host_vendor host_cpu host +JQ LDFLAGS_FOR_BUILD CPPFLAGS_FOR_BUILD CFLAGS_FOR_BUILD @@ -732,6 +733,7 @@ plugindir pam_login_service pam_session editor +secure_path_status secure_path netsvc_conf nsswitch_conf @@ -826,6 +828,7 @@ PRELOAD_MODULE INSTALL_NOEXEC INSTALL_INTERCEPT INSTALL_BACKUP +visudo sesh_file noexec_file NOEXECDIR @@ -924,7 +927,6 @@ ac_user_opts=' enable_option_checking with_otp_only with_alertmail -with_pc_insults with_devel with_CC with_rpath @@ -1000,6 +1002,7 @@ with_nsswitch with_ldap with_ldap_conf_file with_ldap_secret_file +with_secure_path_value with_secure_path with_interfaces with_askpass @@ -1043,7 +1046,6 @@ with_selinux with_apparmor enable_sasl enable_timestamp_type -enable_offensive_insults enable_package_build enable_gss_krb5_ccache_name enable_pvs_studio @@ -1642,7 +1644,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -'configure' configures sudo 1.9.15p5 to adapt to many kinds of systems. +'configure' configures sudo 1.9.16 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1708,7 +1710,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of sudo 1.9.15p5:";; + short | recursive ) echo "Configuration of sudo 1.9.16:";; esac cat <<\_ACEOF @@ -1760,8 +1762,6 @@ Optional Features: --enable-sasl Enable/disable LDAP SASL support --timestamp-type=TYPE Set the default time stamp record type to global, ppid or tty. - --enable-offensive-insults - Enable potentially offensive sudo insults. --enable-package-build Enable options for package building. --enable-gss-krb5-ccache-name Use GSS-API to set the Kerberos V cred cache name @@ -1797,7 +1797,6 @@ Optional Packages: --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-otp-only deprecated --with-alertmail deprecated - --with-pc-insults deprecated --with-devel add development options --with-CC C compiler to use --with-rpath deprecated, use --disable-rpath @@ -1885,6 +1884,8 @@ Optional Packages: --with-ldap[=DIR] enable LDAP support --with-ldap-conf-file path to LDAP configuration file --with-ldap-secret-file path to LDAP secret password file + --with-secure-path-value + value of secure_path in the default sudoers file --with-secure-path override the user's path with a built-in one --without-interfaces don't try to read the ip addr of network interfaces --with-askpass=PATH Fully qualified pathname of askpass helper @@ -2003,8 +2004,8 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -sudo configure 1.9.15p5 -generated by GNU Autoconf 2.72c +sudo configure 1.9.16 +generated by GNU Autoconf 2.72 Copyright (C) 2023 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation @@ -2823,8 +2824,8 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by sudo $as_me 1.9.15p5, which was -generated by GNU Autoconf 2.72c. Invocation command line was +It was created by sudo $as_me 1.9.16, which was +generated by GNU Autoconf 2.72. Invocation command line was $ $0$ac_configure_args_raw @@ -3166,11 +3167,13 @@ ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); # Test code for whether the C compiler supports C99 (global declarations) ac_c_conftest_c99_globals=' -// Does the compiler advertise C99 conformance? +/* Does the compiler advertise C99 conformance? */ #if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L # error "Compiler does not advertise C99 conformance" #endif +// See if C++-style comments work. + #include extern int puts (const char *); extern int printf (const char *, ...); @@ -3226,7 +3229,6 @@ typedef const char *ccp; static inline int test_restrict (ccp restrict text) { - // See if C++-style comments work. // Iterate through items via the restricted pointer. // Also check for declarations in for loops. for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) @@ -3315,7 +3317,7 @@ ac_c_conftest_c99_main=' # Test code for whether the C compiler supports C11 (global declarations) ac_c_conftest_c11_globals=' -// Does the compiler advertise C11 conformance? +/* Does the compiler advertise C11 conformance? */ #if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L # error "Compiler does not advertise C11 conformance" #endif @@ -3682,6 +3684,7 @@ sudoers_path='$(sysconfdir)/sudoers' + # @@ -3727,8 +3730,10 @@ netsvc_conf=/etc/netsvc.conf intercept_file="$libexecdir/sudo/sudo_intercept.so" noexec_file="$libexecdir/sudo/sudo_noexec.so" sesh_file="$libexecdir/sudo/sesh" +visudo="$sbindir/visudo" nsswitch_conf=/etc/nsswitch.conf -secure_path="not set" +secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" +secure_path_status="disabled" pam_session=on pam_login_service=sudo plugindir="$libexecdir/sudo" @@ -4388,6 +4393,8 @@ int main (void) { FILE *f = fopen ("conftest.out", "w"); + if (!f) + return 1; return ferror (f) || fclose (f) != 0; ; @@ -4999,23 +5006,6 @@ fi -# Check whether --with-pc-insults was given. -if test ${with_pc_insults+y} -then : - withval=$with_pc_insults; case $with_pc_insults in - yes) enable_offensive_insults=no - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: --with-pc-insults option deprecated, it is now the default" >&5 -printf "%s\n" "$as_me: --with-pc-insults option deprecated, it is now the default" >&6;} - ;; - no) enable_offensive_insults=yes - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: --without-pc-insults option deprecated, use --enable-offensive-insults" >&5 -printf "%s\n" "$as_me: --without-pc-insults option deprecated, use --enable-offensive-insults" >&6;} - ;; -esac -fi - - - # Check whether --with-devel was given. if test ${with_devel+y} @@ -5313,8 +5303,6 @@ printf "%s\n" "$as_me: adding CSOps standard options" >&6;} CHECKSIA=false with_ignore_dot=yes insults=on - with_classic_insults=yes - with_csops_insults=yes with_env_editor=yes : ${mansectsu='8'} : ${mansectform='5'} @@ -6153,6 +6141,8 @@ esac fi +with_classic_insults=yes +with_csops_insults=yes # Check whether --with-insults was given. if test ${with_insults+y} @@ -6161,14 +6151,12 @@ then : yes) insults=on printf "%s\n" "#define USE_INSULTS 1" >>confdefs.h - with_classic_insults=yes - with_csops_insults=yes ;; disabled) insults=off - with_classic_insults=yes - with_csops_insults=yes ;; no) insults=off + with_classic_insults=no + with_csops_insults=no ;; *) as_fn_error $? "--with-insults does not take an argument." "$LINENO" 5 ;; @@ -6322,25 +6310,41 @@ EOF -# Check whether --with-secure-path was given. -if test ${with_secure_path+y} +# Check whether --with-secure-path-value was given. +if test ${with_secure_path_value+y} then : - withval=$with_secure_path; case $with_secure_path in - yes) with_secure_path="/bin:/usr/ucb:/usr/bin:/usr/sbin:/sbin:/usr/etc:/etc" - printf "%s\n" "#define SECURE_PATH \"$with_secure_path\"" >>confdefs.h - - secure_path="set to $with_secure_path" + withval=$with_secure_path_value; case $with_secure_path_value in + yes|no) as_fn_error $? "must give --secure-path-value an argument." "$LINENO" 5 ;; - no) ;; - *) printf "%s\n" "#define SECURE_PATH \"$with_secure_path\"" >>confdefs.h - - secure_path="set to $with_secure_path" + *) secure_path="$with_secure_path_value" ;; esac fi +# Check whether --with-secure-path was given. +if test ${with_secure_path+y} +then : + withval=$with_secure_path; case $with_secure_path in + yes) with_secure_path="$secure_path" + ;; + no) ;; + *) secure_path="$with_secure_path" + ;; +esac +fi + +if test "${with_secure_path-no}" != "no" +then : + + printf "%s\n" "#define SECURE_PATH \"$secure_path\"" >>confdefs.h + + secure_path_status="set to $secure_path" + +fi + + # Check whether --with-interfaces was given. if test ${with_interfaces+y} then : @@ -7063,21 +7067,6 @@ fi printf "%s\n" "#define TIMESTAMP_TYPE $timestamp_type" >>confdefs.h -# Check whether --enable-offensive_insults was given. -if test ${enable_offensive_insults+y} -then : - enableval=$enable_offensive_insults; -else case e in #( - e) enable_offensive_insults=no ;; -esac -fi - -if test "$enable_offensive_insults" = "yes" -then : - printf "%s\n" "#define OFFENSIVE_INSULTS 1" >>confdefs.h - -fi - # Check whether --enable-package_build was given. if test ${enable_package_build+y} then : @@ -8578,6 +8567,8 @@ int main (void) { FILE *f = fopen ("conftest.out", "w"); + if (!f) + return 1; return ferror (f) || fclose (f) != 0; ; @@ -8836,6 +8827,55 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu +for ac_prog in jq +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_JQ+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) if test -n "$JQ"; then + ac_cv_prog_JQ="$JQ" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_JQ="$ac_prog" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi ;; +esac +fi +JQ=$ac_cv_prog_JQ +if test -n "$JQ"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $JQ" >&5 +printf "%s\n" "$JQ" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$JQ" && break +done +test -n "$JQ" || JQ=":" + if test "x$ac_cv_prog_cc_c89" = "xno" then : @@ -19938,13 +19978,16 @@ fi cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, +#ifndef FTYPE +# define FTYPE off_t +#endif + /* Check that FTYPE can represent 2**63 - 1 correctly. + We can't simply define LARGE_FTYPE to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) +#define LARGE_FTYPE (((FTYPE) 1 << 31 << 31) - 1 + ((FTYPE) 1 << 31 << 31)) + int FTYPE_is_large[(LARGE_FTYPE % 2147483629 == 721 + && LARGE_FTYPE % 2147483647 == 1) ? 1 : -1]; int main (void) @@ -19956,7 +19999,25 @@ main (void) _ACEOF if ac_fn_c_try_compile "$LINENO" then : - ac_cv_sys_largefile_opts="$ac_opt" + if test x"$ac_opt" = x"none needed" +then : + # GNU/Linux s390x and alpha need _FILE_OFFSET_BITS=64 for wide ino_t. + CC="$CC -DFTYPE=ino_t" + if ac_fn_c_try_compile "$LINENO" +then : + +else case e in #( + e) CC="$CC -D_FILE_OFFSET_BITS=64" + if ac_fn_c_try_compile "$LINENO" +then : + ac_opt='-D_FILE_OFFSET_BITS=64' +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam +fi + ac_cv_sys_largefile_opts=$ac_opt ac_opt_found=yes fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext @@ -24857,6 +24918,20 @@ printf "%s\n" "$as_me: WARNING: Replacing missing/broken (v)snprintf() with sudo printf "%s\n" "#define PREFER_PORTABLE_SNPRINTF 1" >>confdefs.h +fi +if test X"$ac_cv_build_prog_cc_c99" != X"no" +then : + + # If we have a C99 compiler and are cross-compiling, assume + # C99-compliant v?snprintf(). + if test X"$ac_cv_have_working_snprintf$ac_cv_have_working_vsnprintf" = X"crosscross" +then : + + ac_cv_have_working_snprintf=yes + ac_cv_have_working_vsnprintf=yes + +fi + fi if test X"$ac_cv_have_working_snprintf$ac_cv_have_working_vsnprintf" = X"yesyes" then : @@ -26326,7 +26401,7 @@ esac fi done - if test "$CPPFLAGS" = "$O_CPPFLAGS"; then + if test "$cross_compiling" != "yes" -a "$CPPFLAGS" = "$O_CPPFLAGS"; then # So we find the openssl compat headers under wolfssl (XXX) if test ${CPPFLAGS+y} @@ -35802,6 +35877,13 @@ while test X"$noexec_file" != X"$_noexec_file"; do eval "noexec_file=\"$_noexec_file\"" done +# Update exec_prefix in visudo +_visudo= +while test X"$visudo" != X"$_visudo"; do + _visudo="$visudo" + eval "visudo=\"$_visudo\"" +done + # Update exec_prefix in sesh_file _sesh_file= while test X"$sesh_file" != X"$_sesh_file"; do @@ -36673,8 +36755,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by sudo $as_me 1.9.15p5, which was -generated by GNU Autoconf 2.72c. Invocation command line was +This file was extended by sudo $as_me 1.9.16, which was +generated by GNU Autoconf 2.72. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -36741,8 +36823,8 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -sudo config.status 1.9.15p5 -configured by $0, generated by GNU Autoconf 2.72c, +sudo config.status 1.9.16 +configured by $0, generated by GNU Autoconf 2.72, with options \\"\$ac_cs_config\\" Copyright (C) 2023 Free Software Foundation, Inc. @@ -38417,18 +38499,18 @@ echo " password prompt : ${passprompt}" >&6 echo " password prompt timeout : ${password_timeout} minutes" >&6 echo " password tries : ${passwd_tries}" >&6 echo " bad password message : ${badpass_message}" >&6 -if test "$insults" = "on"; then - i="" - test "$enable_offensive_insults" = "yes" && i="offensive ${i}" - test "$with_python_insults" = "yes" && i="python ${i}" - test "$with_goons_insults" = "yes" && i="goons ${i}" - test "$with_hal_insults" = "yes" && i="hal ${i}" - test "$with_csops_insults" = "yes" && i="csops ${i}" - test "$with_classic_insults" = "yes" && i="classic ${i}" -else - i=no +insult_sets="" +test "$with_python_insults" = "yes" && insult_sets="python ${insult_sets}" +test "$with_goons_insults" = "yes" && insult_sets="goons ${insult_sets}" +test "$with_hal_insults" = "yes" && insult_sets="hal ${insult_sets}" +test "$with_csops_insults" = "yes" && insult_sets="csops ${insult_sets}" +test "$with_classic_insults" = "yes" && insult_sets="classic ${insult_sets}" +if test -z "$insult_sets"; then + insult_sets=no +elif test "$insults" != "on"; then + insult_sets="${insult_sets} (disabled)" fi -echo " insults : $i" >&6 +echo " insults : $insult_sets" >&6 echo " display lecture : ${lecture}" >&6 echo " timestamp (credential) type : ${timestamp_type}" >&6 echo " timestamp (credential) timeout: ${timeout} minutes" >&6 @@ -38685,6 +38767,5 @@ fi - diff --git a/configure.ac b/configure.ac index 1d3998de8..28b63ef0d 100644 --- a/configure.ac +++ b/configure.ac @@ -3,7 +3,7 @@ dnl Use the top-level autogen.sh script to generate configure and config.h.in dnl dnl SPDX-License-Identifier: ISC dnl -dnl Copyright (c) 1994-1996, 1998-2023 Todd C. Miller +dnl Copyright (c) 1994-1996, 1998-2024 Todd C. Miller dnl dnl Permission to use, copy, modify, and distribute this software for any dnl purpose with or without fee is hereby granted, provided that the above @@ -18,7 +18,7 @@ dnl ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF dnl OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. dnl AC_PREREQ([2.69]) -AC_INIT([sudo], [1.9.15p5], [https://bugzilla.sudo.ws/], [sudo]) +AC_INIT([sudo], [1.9.16], [https://bugzilla.sudo.ws/], [sudo]) AC_CONFIG_HEADERS([config.h pathnames.h]) AC_CONFIG_SRCDIR([src/sudo.c]) AC_CONFIG_AUX_DIR([scripts]) @@ -75,6 +75,7 @@ AC_SUBST([NOEXECFILE])dnl AC_SUBST([NOEXECDIR])dnl AC_SUBST([noexec_file])dnl AC_SUBST([sesh_file])dnl +AC_SUBST([visudo])dnl AC_SUBST([INSTALL_BACKUP])dnl AC_SUBST([INSTALL_INTERCEPT])dnl AC_SUBST([INSTALL_NOEXEC])dnl @@ -176,6 +177,7 @@ AC_SUBST([sssd_lib]) AC_SUBST([nsswitch_conf]) AC_SUBST([netsvc_conf]) AC_SUBST([secure_path]) +AC_SUBST([secure_path_status]) AC_SUBST([editor]) AC_SUBST([pam_session]) AC_SUBST([pam_login_service]) @@ -225,8 +227,10 @@ netsvc_conf=/etc/netsvc.conf intercept_file="$libexecdir/sudo/sudo_intercept.so" noexec_file="$libexecdir/sudo/sudo_noexec.so" sesh_file="$libexecdir/sudo/sesh" +visudo="$sbindir/visudo" nsswitch_conf=/etc/nsswitch.conf -secure_path="not set" +secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" +secure_path_status="disabled" pam_session=on pam_login_service=sudo plugindir="$libexecdir/sudo" @@ -299,16 +303,6 @@ AC_ARG_WITH(alertmail, [AS_HELP_STRING([--with-alertmail], [deprecated])], ;; esac]) -AC_ARG_WITH(pc-insults, [AS_HELP_STRING([--with-pc-insults], [deprecated])], -[case $with_pc_insults in - yes) enable_offensive_insults=no - AC_MSG_NOTICE([--with-pc-insults option deprecated, it is now the default]) - ;; - no) enable_offensive_insults=yes - AC_MSG_NOTICE([--without-pc-insults option deprecated, use --enable-offensive-insults]) - ;; -esac]) - dnl dnl Options for --with dnl @@ -450,8 +444,6 @@ AC_ARG_WITH(csops, [AS_HELP_STRING([--with-csops], [add CSOps standard options]) CHECKSIA=false with_ignore_dot=yes insults=on - with_classic_insults=yes - with_csops_insults=yes with_env_editor=yes : ${mansectsu='8'} : ${mansectform='5'} @@ -973,18 +965,23 @@ AC_ARG_WITH(tty-tickets, [AS_HELP_STRING([--with-tty-tickets], [use a different ;; esac]) +dnl +dnl The order of the insults options is important. The main option +dnl must come first, followed by all-insults, then the individual ones. +dnl The classic and csops insult sets are always included by default. +dnl +with_classic_insults=yes +with_csops_insults=yes AC_ARG_WITH(insults, [AS_HELP_STRING([--with-insults], [insult the user for entering an incorrect password])], [case $with_insults in yes) insults=on AC_DEFINE(USE_INSULTS) - with_classic_insults=yes - with_csops_insults=yes ;; disabled) insults=off - with_classic_insults=yes - with_csops_insults=yes ;; no) insults=off + with_classic_insults=no + with_csops_insults=no ;; *) AC_MSG_ERROR([--with-insults does not take an argument.]) ;; @@ -1071,18 +1068,27 @@ AC_ARG_WITH(ldap-secret-file, [AS_HELP_STRING([--with-ldap-secret-file], [path t test -n "$with_ldap_secret_file" && ldap_secret="$with_ldap_secret_file" SUDO_DEFINE_UNQUOTED(_PATH_LDAP_SECRET, "$ldap_secret", [Path to the ldap.secret file]) -AC_ARG_WITH(secure-path, [AS_HELP_STRING([--with-secure-path], [override the user's path with a built-in one])], -[case $with_secure_path in - yes) with_secure_path="/bin:/usr/ucb:/usr/bin:/usr/sbin:/sbin:/usr/etc:/etc" - AC_DEFINE_UNQUOTED(SECURE_PATH, "$with_secure_path") - secure_path="set to $with_secure_path" +AC_ARG_WITH(secure-path-value, [AS_HELP_STRING([--with-secure-path-value], [value of secure_path in the default sudoers file])], +[case $with_secure_path_value in + yes|no) AC_MSG_ERROR([must give --secure-path-value an argument.]) ;; - no) ;; - *) AC_DEFINE_UNQUOTED(SECURE_PATH, "$with_secure_path") - secure_path="set to $with_secure_path" + *) secure_path="$with_secure_path_value" ;; esac]) +AC_ARG_WITH(secure-path, [AS_HELP_STRING([--with-secure-path], [override the user's path with a built-in one])], +[case $with_secure_path in + yes) with_secure_path="$secure_path" + ;; + no) ;; + *) secure_path="$with_secure_path" + ;; +esac]) +AS_IF([test "${with_secure_path-no}" != "no"], [ + AC_DEFINE_UNQUOTED(SECURE_PATH, "$secure_path") + secure_path_status="set to $secure_path" +]) + AC_ARG_WITH(interfaces, [AS_HELP_STRING([--without-interfaces], [don't try to read the ip addr of network interfaces])], [case $with_interfaces in yes) ;; @@ -1483,11 +1489,6 @@ AC_ARG_ENABLE(timestamp-type, ]) AC_DEFINE_UNQUOTED(TIMESTAMP_TYPE, $timestamp_type) -AC_ARG_ENABLE(offensive_insults, -[AS_HELP_STRING([--enable-offensive-insults], [Enable potentially offensive sudo insults.])], -[], [enable_offensive_insults=no]) -AS_IF([test "$enable_offensive_insults" = "yes"], [AC_DEFINE(OFFENSIVE_INSULTS)]) - AC_ARG_ENABLE(package_build, [AS_HELP_STRING([--enable-package-build], [Enable options for package building.])], [], [enable_package_build=no]) @@ -1598,6 +1599,7 @@ AS_IF([test X"$AR" = X"false"], [ AC_MSG_ERROR([the "ar" utility is required to build sudo]) ]) AX_PROG_CC_FOR_BUILD +AC_CHECK_PROGS(JQ, jq, :) AS_IF([test "x$ac_cv_prog_cc_c89" = "xno"], [ AC_MSG_ERROR([Sudo version $PACKAGE_VERSION requires an ANSI C compiler to build.]) @@ -2380,7 +2382,7 @@ break) AC_SYS_LARGEFILE m4_ifdef([AC_SYS_YEAR2038], [AC_SYS_YEAR2038], [ # GNU libc only allows setting _TIME_BITS when FILE_OFFSET_BITS is also set. # GNU libc defines __TIMESIZE on systems where _TIME_BITS can be set. - AS_IF([test X"$ac_cv_sys_file_offset_bits" = X"yes"], [ + AS_IF([test X"$ac_cv_sys_file_offset_bits" = X"64"], [ AC_CHECK_DECL(__TIMESIZE, [ AC_DEFINE([_TIME_BITS], [64], [Number of bits in a timestamp, on hosts where this is settable.]) ], [], [ @@ -3059,6 +3061,14 @@ AS_IF([test X"$sudo_mktemp" = X"yes"], [ COMPAT_TEST_PROGS="${COMPAT_TEST_PROGS}${COMPAT_TEST_PROGS+ }mktemp_test" ]) AX_FUNC_SNPRINTF +AS_IF([test X"$ac_cv_prog_cc_c99" != X"no"], [ + # If we have a C99 compiler and are cross-compiling, assume + # C99-compliant v?snprintf(). + AS_IF([test X"$ac_cv_have_working_snprintf$ac_cv_have_working_vsnprintf" = X"crosscross"], [ + ac_cv_have_working_snprintf=yes + ac_cv_have_working_vsnprintf=yes + ]) +]) AS_IF([test X"$ac_cv_have_working_snprintf$ac_cv_have_working_vsnprintf" = X"yesyes"], [ # System has a C99-compliant v?snprintf(), check for v?asprintf() AC_CHECK_FUNCS([asprintf], [], [ @@ -4312,6 +4322,13 @@ while test X"$noexec_file" != X"$_noexec_file"; do eval "noexec_file=\"$_noexec_file\"" done +# Update exec_prefix in visudo +_visudo= +while test X"$visudo" != X"$_visudo"; do + _visudo="$visudo" + eval "visudo=\"$_visudo\"" +done + # Update exec_prefix in sesh_file _sesh_file= while test X"$sesh_file" != X"$_sesh_file"; do @@ -4524,18 +4541,18 @@ echo " password prompt : ${passprompt}" >&AS_MESSAGE_FD echo " password prompt timeout : ${password_timeout} minutes" >&AS_MESSAGE_FD echo " password tries : ${passwd_tries}" >&AS_MESSAGE_FD echo " bad password message : ${badpass_message}" >&AS_MESSAGE_FD -if test "$insults" = "on"; then - i="" - test "$enable_offensive_insults" = "yes" && i="offensive ${i}" - test "$with_python_insults" = "yes" && i="python ${i}" - test "$with_goons_insults" = "yes" && i="goons ${i}" - test "$with_hal_insults" = "yes" && i="hal ${i}" - test "$with_csops_insults" = "yes" && i="csops ${i}" - test "$with_classic_insults" = "yes" && i="classic ${i}" -else - i=no +insult_sets="" +test "$with_python_insults" = "yes" && insult_sets="python ${insult_sets}" +test "$with_goons_insults" = "yes" && insult_sets="goons ${insult_sets}" +test "$with_hal_insults" = "yes" && insult_sets="hal ${insult_sets}" +test "$with_csops_insults" = "yes" && insult_sets="csops ${insult_sets}" +test "$with_classic_insults" = "yes" && insult_sets="classic ${insult_sets}" +if test -z "$insult_sets"; then + insult_sets=no +elif test "$insults" != "on"; then + insult_sets="${insult_sets} (disabled)" fi -echo " insults : $i" >&AS_MESSAGE_FD +echo " insults : $insult_sets" >&AS_MESSAGE_FD echo " display lecture : ${lecture}" >&AS_MESSAGE_FD echo " timestamp (credential) type : ${timestamp_type}" >&AS_MESSAGE_FD echo " timestamp (credential) timeout: ${timeout} minutes" >&AS_MESSAGE_FD @@ -4735,7 +4752,6 @@ AH_TEMPLATE(NO_PAM_SESSION, [Define to 1 if you don't want to use sudo's PAM ses AH_TEMPLATE(NO_ROOT_MAILER, [Define to avoid running the mailer as root.]) AH_TEMPLATE(NO_ROOT_SUDO, [Define to 1 if root should not be allowed to use sudo.]) AH_TEMPLATE(TIMESTAMP_TYPE, [Define to global, ppid or tty to set the default timestamp record type.]) -AH_TEMPLATE(OFFENSIVE_INSULTS, [Define to 1 to include offensive insults from the classic version of sudo.]) AH_TEMPLATE(SECURE_PATH, [A colon-separated list of directories to override the user's PATH with.]) AH_TEMPLATE(SEND_MAIL_WHEN_NOT_OK, [Define to 1 to send mail when the user is not allowed to run a command.]) AH_TEMPLATE(SEND_MAIL_WHEN_NO_HOST, [Define to 1 to send mail when the user is not allowed to run sudo on this host.]) diff --git a/docs/HISTORY.md b/docs/HISTORY.md index f728f62dd..c1fcfd2f0 100644 --- a/docs/HISTORY.md +++ b/docs/HISTORY.md @@ -66,7 +66,8 @@ In 2010, Quest Software began sponsoring Sudo development by hiring Todd to work on Sudo as part of his full-time job. This enabled the addition of I/O logging, the plugin API, the log server, additional regression and fuzz tests, support for binary packages -and more regular releases. +and more regular releases. Quest's sponsorship of Sudo ended in +February of 2024. ## Present Day diff --git a/docs/Makefile.in b/docs/Makefile.in index d8614d69f..b9ba1bb4c 100644 --- a/docs/Makefile.in +++ b/docs/Makefile.in @@ -140,7 +140,7 @@ $(srcdir)/sudo.man.in: $(srcdir)/sudo.mdoc.in $(srcdir)/sudo.man.in.sed echo "Generating $@"; \ mansectsu=`echo @MANSECTSU@|$(TR) A-Z a-z`; \ mansectform=`echo @MANSECTFORM@|$(TR) A-Z a-z`; \ - $(SED) -e 's/^\(\.nr [A-Z][A-Z]\) .[A-Z][A-Z]MAN./\1 1/' -e "s/$$mansectsu/8/g" -e "s/$$mansectform/5/g" $(srcdir)/sudo.mdoc.in | $(MANDOC) -Tman | $(SED) -e 's/^\(\.TH "SUDO" \)"8"\(.*\)/\1"'$$mansectsu'"\2/' -e "s/(5)/($$mansectform)/g" -e "s/(8)/($$mansectsu)/g" -f $(srcdir)/sudo.man.in.sed > $@; \ + $(SED) -e 's/^\(\.nr [A-Z][A-Z]\) .[A-Z][A-Z]MAN./\1 1/' -e "s/$$mansectsu/8/g" -e "s/$$mansectform/5/g" $(srcdir)/sudo.mdoc.in | $(MANDOC) -Tman | $(SED) -e 's/^\(\.TH "SUDO" \)"8"\(.*\)/\1"'$$mansectsu'"\2/' -e "s/(5)/($$mansectform)/g" -e "s/(8)/($$mansectsu)/g" -e 's/an mdoc input/the sudo.mdoc.in/' -f $(srcdir)/sudo.man.in.sed > $@; \ fi fixman.sed: $(srcdir)/fixman.sh @@ -150,189 +150,203 @@ fixman.sed: $(srcdir)/fixman.sh (cd $(top_builddir) && $(SHELL) config.status --file=-) < $(srcdir)/sudo.man.in | $(SED) -f fixman.sed > $@ ./sudo.mdoc: $(top_builddir)/config.status $(srcdir)/sudo.mdoc.in - cd $(top_builddir) && $(SHELL) config.status --file=docs/$@ + printf '.\\" Automatically generated from the sudo.mdoc.in file. Do not edit.\n' > $@ + (cd $(top_builddir) && $(SHELL) config.status --file=-) < $(srcdir)/sudo.mdoc.in >> $@ $(srcdir)/visudo.man.in: $(srcdir)/visudo.mdoc.in @if [ -n "$(DEVEL)" ]; then \ echo "Generating $@"; \ mansectsu=`echo @MANSECTSU@|$(TR) A-Z a-z`; \ mansectform=`echo @MANSECTFORM@|$(TR) A-Z a-z`; \ - $(SED) -e "s/$$mansectsu/8/g" -e "s/$$mansectform/5/g" $(srcdir)/visudo.mdoc.in | $(MANDOC) -Tman | $(SED) -e 's/^\(\.TH "VISUDO" \)"8"\(.*\)/\1"'$$mansectsu'"\2/' -e "s/(5)/($$mansectform)/g" -e "s/(8)/($$mansectsu)/g" > $@; \ + $(SED) -e "s/$$mansectsu/8/g" -e "s/$$mansectform/5/g" $(srcdir)/visudo.mdoc.in | $(MANDOC) -Tman | $(SED) -e 's/^\(\.TH "VISUDO" \)"8"\(.*\)/\1"'$$mansectsu'"\2/' -e "s/(5)/($$mansectform)/g" -e "s/(8)/($$mansectsu)/g" -e 's/an mdoc input/the visudo.mdoc.in/' > $@; \ fi ./visudo.man: $(top_builddir)/config.status $(srcdir)/visudo.man.in fixman.sed (cd $(top_builddir) && $(SHELL) config.status --file=-) < $(srcdir)/visudo.man.in | $(SED) -f fixman.sed > $@ ./visudo.mdoc: $(top_builddir)/config.status $(srcdir)/visudo.mdoc.in - cd $(top_builddir) && $(SHELL) config.status --file=docs/$@ + printf '.\\" Automatically generated from the visudo.mdoc.in file. Do not edit.\n' > $@ + (cd $(top_builddir) && $(SHELL) config.status --file=-) < $(srcdir)/visudo.mdoc.in >> $@ $(srcdir)/sudo.conf.man.in: $(srcdir)/sudo.conf.mdoc.in @if [ -n "$(DEVEL)" ]; then \ echo "Generating $@"; \ mansectsu=`echo @MANSECTSU@|$(TR) A-Z a-z`; \ mansectform=`echo @MANSECTFORM@|$(TR) A-Z a-z`; \ - $(SED) -e 's/^\(\.nr [A-Z][A-Z]\) .[A-Z][A-Z]MAN./\1 1/' -e "s/$$mansectsu/8/g" -e "s/$$mansectform/5/g" $(srcdir)/sudo.conf.mdoc.in | $(MANDOC) -Tman | $(SED) -e 's/^\(\.TH "SUDO.CONF" \)"5"\(.*\)/\1"'$$mansectform'"\2/' -e "s/(5)/($$mansectform)/g" -e "s/(8)/($$mansectsu)/g" -f $(srcdir)/sudo.conf.man.in.sed > $@; \ + $(SED) -e 's/^\(\.nr [A-Z][A-Z]\) .[A-Z][A-Z]MAN./\1 1/' -e "s/$$mansectsu/8/g" -e "s/$$mansectform/5/g" $(srcdir)/sudo.conf.mdoc.in | $(MANDOC) -Tman | $(SED) -e 's/^\(\.TH "SUDO.CONF" \)"5"\(.*\)/\1"'$$mansectform'"\2/' -e "s/(5)/($$mansectform)/g" -e "s/(8)/($$mansectsu)/g" -e 's/an mdoc input/the sudo.conf.mdoc.in/' -f $(srcdir)/sudo.conf.man.in.sed > $@; \ fi ./sudo.conf.man: $(top_builddir)/config.status $(srcdir)/sudo.conf.man.in fixman.sed (cd $(top_builddir) && $(SHELL) config.status --file=-) < $(srcdir)/sudo.conf.man.in | $(SED) -f fixman.sed > $@ ./sudo.conf.mdoc: $(top_builddir)/config.status $(srcdir)/sudo.conf.mdoc.in - cd $(top_builddir) && $(SHELL) config.status --file=docs/$@ + printf '.\\" Automatically generated from the sudo.conf.mdoc.in file. Do not edit.\n' > $@ + (cd $(top_builddir) && $(SHELL) config.status --file=-) < $(srcdir)/sudo.conf.mdoc.in >> $@ $(srcdir)/sudoers.man.in: $(srcdir)/sudoers.mdoc.in $(srcdir)/sudoers.man.in.sed @if [ -n "$(DEVEL)" ]; then \ echo "Generating $@"; \ mansectsu=`echo @MANSECTSU@|$(TR) A-Z a-z`; \ mansectform=`echo @MANSECTFORM@|$(TR) A-Z a-z`; \ - $(SED) -e 's/^\(\.nr [A-Z][A-Z]\) .[A-Z][A-Z]MAN./\1 1/' -e "s/$$mansectsu/8/g" -e "s/$$mansectform/5/g" $(srcdir)/sudoers.mdoc.in | $(MANDOC) -Tman | $(SED) -e 's/^\(\.TH "SUDOERS" \)"5"\(.*\)/\1"'$$mansectform'"\2/' -e "s/(5)/($$mansectform)/g" -e "s/(8)/($$mansectsu)/g" -f $(srcdir)/sudoers.man.in.sed> $@; \ + $(SED) -e 's/^\(\.nr [A-Z][A-Z]\) .[A-Z][A-Z]MAN./\1 1/' -e "s/$$mansectsu/8/g" -e "s/$$mansectform/5/g" $(srcdir)/sudoers.mdoc.in | $(MANDOC) -Tman | $(SED) -e 's/^\(\.TH "SUDOERS" \)"5"\(.*\)/\1"'$$mansectform'"\2/' -e "s/(5)/($$mansectform)/g" -e "s/(8)/($$mansectsu)/g" -e 's/an mdoc input/the sudoers.mdoc.in/' -f $(srcdir)/sudoers.man.in.sed> $@; \ fi ./sudoers.man: $(top_builddir)/config.status $(srcdir)/sudoers.man.in fixman.sed (cd $(top_builddir) && $(SHELL) config.status --file=-) < $(srcdir)/sudoers.man.in | $(SED) -f fixman.sed > $@ ./sudoers.mdoc: $(top_builddir)/config.status $(srcdir)/sudoers.mdoc.in $(srcdir)/fixmdoc.sed - (cd $(top_builddir) && $(SHELL) config.status --file=-) < $(srcdir)/sudoers.mdoc.in | $(SED) -f $(srcdir)/fixmdoc.sed > $@ + printf '.\\" Automatically generated from the sudoers.mdoc.in file. Do not edit.\n' > $@ + (cd $(top_builddir) && $(SHELL) config.status --file=-) < $(srcdir)/sudoers.mdoc.in | $(SED) -f $(srcdir)/fixmdoc.sed >> $@ $(srcdir)/sudoers.ldap.man.in: $(srcdir)/sudoers.ldap.mdoc.in @if [ -n "$(DEVEL)" ]; then \ echo "Generating $@"; \ mansectsu=`echo @MANSECTSU@|$(TR) A-Z a-z`; \ mansectform=`echo @MANSECTFORM@|$(TR) A-Z a-z`; \ - $(SED) -e "s/$$mansectsu/8/g" -e "s/$$mansectform/5/g" $(srcdir)/sudoers.ldap.mdoc.in | $(MANDOC) -Tman | $(SED) -e 's/^\(\.TH "SUDOERS.LDAP" \)"5"\(.*\)/\1"'$$mansectform'"\2/' -e "s/(5)/($$mansectform)/g" -e "s/(8)/($$mansectsu)/g" > $@; \ + $(SED) -e "s/$$mansectsu/8/g" -e "s/$$mansectform/5/g" $(srcdir)/sudoers.ldap.mdoc.in | $(MANDOC) -Tman | $(SED) -e 's/^\(\.TH "SUDOERS.LDAP" \)"5"\(.*\)/\1"'$$mansectform'"\2/' -e "s/(5)/($$mansectform)/g" -e "s/(8)/($$mansectsu)/g" -e 's/an mdoc input/the sudoers.ldap.mdoc.in/' > $@; \ fi ./sudoers.ldap.man: $(top_builddir)/config.status $(srcdir)/sudoers.ldap.man.in fixman.sed (cd $(top_builddir) && $(SHELL) config.status --file=-) < $(srcdir)/sudoers.ldap.man.in | $(SED) -f fixman.sed > $@ ./sudoers.ldap.mdoc: $(top_builddir)/config.status $(srcdir)/sudoers.ldap.mdoc.in - cd $(top_builddir) && $(SHELL) config.status --file=docs/$@ + printf '.\\" Automatically generated from the sudoers.ldap.mdoc.in file. Do not edit.\n' > $@ + (cd $(top_builddir) && $(SHELL) config.status --file=-) < $(srcdir)/sudoers.ldap.mdoc.in >> $@ $(srcdir)/sudoers_timestamp.man.in: $(srcdir)/sudoers_timestamp.mdoc.in @if [ -n "$(DEVEL)" ]; then \ echo "Generating $@"; \ mansectsu=`echo @MANSECTSU@|$(TR) A-Z a-z`; \ mansectform=`echo @MANSECTFORM@|$(TR) A-Z a-z`; \ - $(SED) -e "s/$$mansectsu/8/g" -e "s/$$mansectform/5/g" $(srcdir)/sudoers_timestamp.mdoc.in | $(MANDOC) -Tman | $(SED) -e 's/^\(\.TH "SUDOERS_TIMESTAMP" \)"5"\(.*\)/\1"'$$mansectform'"\2/' -e "s/(5)/($$mansectform)/g" -e "s/(8)/($$mansectsu)/g" > $@; \ + $(SED) -e "s/$$mansectsu/8/g" -e "s/$$mansectform/5/g" $(srcdir)/sudoers_timestamp.mdoc.in | $(MANDOC) -Tman | $(SED) -e 's/^\(\.TH "SUDOERS_TIMESTAMP" \)"5"\(.*\)/\1"'$$mansectform'"\2/' -e "s/(5)/($$mansectform)/g" -e "s/(8)/($$mansectsu)/g" -e 's/an mdoc input/the sudoers_timestamp.mdoc.in/' > $@; \ fi ./sudoers_timestamp.man: $(top_builddir)/config.status $(srcdir)/sudoers_timestamp.man.in fixman.sed (cd $(top_builddir) && $(SHELL) config.status --file=-) < $(srcdir)/sudoers_timestamp.man.in | $(SED) -f fixman.sed > $@ ./sudoers_timestamp.mdoc: $(top_builddir)/config.status $(srcdir)/sudoers_timestamp.mdoc.in - cd $(top_builddir) && $(SHELL) config.status --file=docs/$@ + printf '.\\" Automatically generated from the sudoers_timestamp.mdoc.in file. Do not edit.\n' > $@ + (cd $(top_builddir) && $(SHELL) config.status --file=-) < $(srcdir)/sudoers_timestamp.mdoc.in >> $@ $(srcdir)/cvtsudoers.man.in: $(srcdir)/cvtsudoers.mdoc.in @if [ -n "$(DEVEL)" ]; then \ echo "Generating $@"; \ mansectsu=`echo @MANSECTSU@|$(TR) A-Z a-z`; \ mansectform=`echo @MANSECTFORM@|$(TR) A-Z a-z`; \ - $(SED) -e "s/$$mansectsu/8/g" -e "s/$$mansectform/5/g" $(srcdir)/cvtsudoers.mdoc.in | $(MANDOC) -Tman | $(SED) -e "s/(5)/($$mansectform)/g" -e "s/(8)/($$mansectsu)/g" > $@; \ + $(SED) -e "s/$$mansectsu/8/g" -e "s/$$mansectform/5/g" $(srcdir)/cvtsudoers.mdoc.in | $(MANDOC) -Tman | $(SED) -e "s/(5)/($$mansectform)/g" -e "s/(8)/($$mansectsu)/g" -e 's/an mdoc input/the cvtsudoers.mdoc.in/' > $@; \ fi ./cvtsudoers.man: $(top_builddir)/config.status $(srcdir)/cvtsudoers.man.in fixman.sed (cd $(top_builddir) && $(SHELL) config.status --file=-) < $(srcdir)/cvtsudoers.man.in | $(SED) -f fixman.sed > $@ ./cvtsudoers.mdoc: $(top_builddir)/config.status $(srcdir)/cvtsudoers.mdoc.in - cd $(top_builddir) && $(SHELL) config.status --file=docs/$@ + printf '.\\" Automatically generated from the cvtsudoers.mdoc.in file. Do not edit.\n' > $@ + (cd $(top_builddir) && $(SHELL) config.status --file=-) < $(srcdir)/cvtsudoers.mdoc.in >> $@ $(srcdir)/sudoreplay.man.in: $(srcdir)/sudoreplay.mdoc.in @if [ -n "$(DEVEL)" ]; then \ echo "Generating $@"; \ mansectsu=`echo @MANSECTSU@|$(TR) A-Z a-z`; \ mansectform=`echo @MANSECTFORM@|$(TR) A-Z a-z`; \ - $(SED) -e "s/$$mansectsu/8/g" -e "s/$$mansectform/5/g" $(srcdir)/sudoreplay.mdoc.in | $(MANDOC) -Tman | $(SED) -e 's/^\(\.TH "SUDOREPLAY" \)"8"\(.*\)/\1"'$$mansectsu'"\2/' -e "s/(5)/($$mansectform)/g" -e "s/(8)/($$mansectsu)/g" > $@; \ + $(SED) -e "s/$$mansectsu/8/g" -e "s/$$mansectform/5/g" $(srcdir)/sudoreplay.mdoc.in | $(MANDOC) -Tman | $(SED) -e 's/^\(\.TH "SUDOREPLAY" \)"8"\(.*\)/\1"'$$mansectsu'"\2/' -e "s/(5)/($$mansectform)/g" -e "s/(8)/($$mansectsu)/g" -e 's/an mdoc input/the sudoreplay.mdoc.in/' > $@; \ fi ./sudoreplay.man: $(top_builddir)/config.status $(srcdir)/sudoreplay.man.in fixman.sed (cd $(top_builddir) && $(SHELL) config.status --file=-) < $(srcdir)/sudoreplay.man.in | $(SED) -f fixman.sed > $@ ./sudoreplay.mdoc: $(top_builddir)/config.status $(srcdir)/sudoreplay.mdoc.in - cd $(top_builddir) && $(SHELL) config.status --file=docs/$@ + printf '.\\" Automatically generated from the sudoreplay.mdoc.in file. Do not edit.\n' > $@ + (cd $(top_builddir) && $(SHELL) config.status --file=-) < $(srcdir)/sudoreplay.mdoc.in >> $@ $(srcdir)/sudo_logsrvd.man.in: $(srcdir)/sudo_logsrvd.mdoc.in @if [ -n "$(DEVEL)" ]; then \ echo "Generating $@"; \ mansectsu=`echo @MANSECTSU@|$(TR) A-Z a-z`; \ mansectform=`echo @MANSECTFORM@|$(TR) A-Z a-z`; \ - $(SED) -e "s/$$mansectsu/8/g" -e "s/$$mansectform/5/g" $(srcdir)/sudo_logsrvd.mdoc.in | $(MANDOC) -Tman | $(SED) -e 's/^\(\.TH "SUDO_LOGSRVD" \)"8"\(.*\)/\1"'$$mansectsu'"\2/' -e "s/(5)/($$mansectform)/g" -e "s/(8)/($$mansectsu)/g" > $@; \ + $(SED) -e "s/$$mansectsu/8/g" -e "s/$$mansectform/5/g" $(srcdir)/sudo_logsrvd.mdoc.in | $(MANDOC) -Tman | $(SED) -e 's/^\(\.TH "SUDO_LOGSRVD" \)"8"\(.*\)/\1"'$$mansectsu'"\2/' -e "s/(5)/($$mansectform)/g" -e "s/(8)/($$mansectsu)/g" -e 's/an mdoc input/the sudo_logsrvd.mdoc.in/' > $@; \ fi ./sudo_logsrvd.man: $(top_builddir)/config.status $(srcdir)/sudo_logsrvd.man.in fixman.sed (cd $(top_builddir) && $(SHELL) config.status --file=-) < $(srcdir)/sudo_logsrvd.man.in | $(SED) -f fixman.sed > $@ ./sudo_logsrvd.mdoc: $(top_builddir)/config.status $(srcdir)/sudo_logsrvd.mdoc.in - cd $(top_builddir) && $(SHELL) config.status --file=docs/$@ + printf '.\\" Automatically generated from the sudo_logsrvd.mdoc.in file. Do not edit.\n' > $@ + (cd $(top_builddir) && $(SHELL) config.status --file=-) < $(srcdir)/sudo_logsrvd.mdoc.in >> $@ $(srcdir)/sudo_logsrv.proto.man.in: $(srcdir)/sudo_logsrv.proto.mdoc.in @if [ -n "$(DEVEL)" ]; then \ echo "Generating $@"; \ mansectsu=`echo @MANSECTSU@|$(TR) A-Z a-z`; \ mansectform=`echo @MANSECTFORM@|$(TR) A-Z a-z`; \ - $(SED) -e "s/$$mansectsu/8/g" -e "s/$$mansectform/5/g" $(srcdir)/sudo_logsrv.proto.mdoc.in | $(MANDOC) -Tman | $(SED) -e 's/^\(\.TH "SUDO_LOGSRV.PROTO" \)"5"\(.*\)/\1"'$$mansectform'"\2/' -e "s/(5)/($$mansectform)/g" -e "s/(5)/($$mansectform)/g" > $@; \ + $(SED) -e "s/$$mansectsu/8/g" -e "s/$$mansectform/5/g" $(srcdir)/sudo_logsrv.proto.mdoc.in | $(MANDOC) -Tman | $(SED) -e 's/^\(\.TH "SUDO_LOGSRV.PROTO" \)"5"\(.*\)/\1"'$$mansectform'"\2/' -e "s/(5)/($$mansectform)/g" -e "s/(5)/($$mansectform)/g" -e 's/an mdoc input/the sudo_logsrv.proto.mdoc.in/' > $@; \ fi ./sudo_logsrv.proto.man: $(top_builddir)/config.status $(srcdir)/sudo_logsrv.proto.man.in fixman.sed (cd $(top_builddir) && $(SHELL) config.status --file=-) < $(srcdir)/sudo_logsrv.proto.man.in | $(SED) -f fixman.sed > $@ ./sudo_logsrv.proto.mdoc: $(top_builddir)/config.status $(srcdir)/sudo_logsrv.proto.mdoc.in - cd $(top_builddir) && $(SHELL) config.status --file=docs/$@ + printf '.\\" Automatically generated from the sudo_logsrv.proto.mdoc.in file. Do not edit.\n' > $@ + (cd $(top_builddir) && $(SHELL) config.status --file=-) < $(srcdir)/sudo_logsrv.proto.mdoc.in >> $@ $(srcdir)/sudo_logsrvd.conf.man.in: $(srcdir)/sudo_logsrvd.conf.mdoc.in @if [ -n "$(DEVEL)" ]; then \ echo "Generating $@"; \ mansectsu=`echo @MANSECTSU@|$(TR) A-Z a-z`; \ mansectform=`echo @MANSECTFORM@|$(TR) A-Z a-z`; \ - $(SED) -e "s/$$mansectsu/8/g" -e "s/$$mansectform/5/g" $(srcdir)/sudo_logsrvd.conf.mdoc.in | $(MANDOC) -Tman | $(SED) -e 's/^\(\.TH "SUDO_LOGSRVD.CONF" \)"5"\(.*\)/\1"'$$mansectform'"\2/' -e "s/(5)/($$mansectform)/g" -e "s/(5)/($$mansectform)/g" > $@; \ + $(SED) -e "s/$$mansectsu/8/g" -e "s/$$mansectform/5/g" $(srcdir)/sudo_logsrvd.conf.mdoc.in | $(MANDOC) -Tman | $(SED) -e 's/^\(\.TH "SUDO_LOGSRVD.CONF" \)"5"\(.*\)/\1"'$$mansectform'"\2/' -e "s/(5)/($$mansectform)/g" -e "s/(5)/($$mansectform)/g" -e 's/an mdoc input/the sudo_logsrvd.conf.mdoc.in/' > $@; \ fi ./sudo_logsrvd.conf.man: $(top_builddir)/config.status $(srcdir)/sudo_logsrvd.conf.man.in fixman.sed (cd $(top_builddir) && $(SHELL) config.status --file=-) < $(srcdir)/sudo_logsrvd.conf.man.in | $(SED) -f fixman.sed > $@ ./sudo_logsrvd.conf.mdoc: $(top_builddir)/config.status $(srcdir)/sudo_logsrvd.conf.mdoc.in - cd $(top_builddir) && $(SHELL) config.status --file=docs/$@ + printf '.\\" Automatically generated from the sudo_logsrvd.conf.mdoc.in file. Do not edit.\n' > $@ + (cd $(top_builddir) && $(SHELL) config.status --file=-) < $(srcdir)/sudo_logsrvd.conf.mdoc.in >> $@ $(srcdir)/sudo_plugin.man.in: $(srcdir)/sudo_plugin.mdoc.in @if [ -n "$(DEVEL)" ]; then \ echo "Generating $@"; \ mansectsu=`echo @MANSECTSU@|$(TR) A-Z a-z`; \ mansectform=`echo @MANSECTFORM@|$(TR) A-Z a-z`; \ - $(SED) -e "s/$$mansectsu/8/g" -e "s/$$mansectform/5/g" $(srcdir)/sudo_plugin.mdoc.in | $(MANDOC) -Tman | $(SED) -e 's/^\(\.TH "SUDO_PLUGIN" \)"8"\(.*\)/\1"'$$mansectsu'"\2/' -e "s/(5)/($$mansectform)/g" -e "s/(8)/($$mansectsu)/g" > $@; \ + $(SED) -e "s/$$mansectsu/8/g" -e "s/$$mansectform/5/g" $(srcdir)/sudo_plugin.mdoc.in | $(MANDOC) -Tman | $(SED) -e 's/^\(\.TH "SUDO_PLUGIN" \)"8"\(.*\)/\1"'$$mansectsu'"\2/' -e "s/(5)/($$mansectform)/g" -e "s/(8)/($$mansectsu)/g" -e 's/an mdoc input/the sudo_plugin.mdoc.in/' > $@; \ fi ./sudo_plugin.man: $(top_builddir)/config.status $(srcdir)/sudo_plugin.man.in fixman.sed (cd $(top_builddir) && $(SHELL) config.status --file=-) < $(srcdir)/sudo_plugin.man.in | $(SED) -f fixman.sed > $@ ./sudo_plugin.mdoc: $(top_builddir)/config.status $(srcdir)/sudo_plugin.mdoc.in - cd $(top_builddir) && $(SHELL) config.status --file=docs/$@ + printf '.\\" Automatically generated from the sudo_plugin.mdoc.in file. Do not edit.\n' > $@ + (cd $(top_builddir) && $(SHELL) config.status --file=-) < $(srcdir)/sudo_plugin.mdoc.in >> $@ $(srcdir)/sudo_plugin_python.man.in: $(srcdir)/sudo_plugin_python.mdoc.in @if [ -n "$(DEVEL)" ]; then \ echo "Generating $@"; \ mansectsu=`echo @MANSECTSU@|$(TR) A-Z a-z`; \ mansectform=`echo @MANSECTFORM@|$(TR) A-Z a-z`; \ - $(SED) -e "s/$$mansectsu/8/g" -e "s/$$mansectform/5/g" $(srcdir)/sudo_plugin_python.mdoc.in | $(MANDOC) -Tman | $(SED) -e 's/^\(\.TH "SUDO_PLUGIN_PYTHON" \)"8"\(.*\)/\1"'$$mansectsu'"\2/' -e "s/(5)/($$mansectform)/g" -e "s/(8)/($$mansectsu)/g" > $@; \ + $(SED) -e "s/$$mansectsu/8/g" -e "s/$$mansectform/5/g" $(srcdir)/sudo_plugin_python.mdoc.in | $(MANDOC) -Tman | $(SED) -e 's/^\(\.TH "SUDO_PLUGIN_PYTHON" \)"8"\(.*\)/\1"'$$mansectsu'"\2/' -e "s/(5)/($$mansectform)/g" -e "s/(8)/($$mansectsu)/g" -e 's/an mdoc input/the sudo_plugin_python.mdoc.in/' > $@; \ fi ./sudo_plugin_python.man: $(top_builddir)/config.status $(srcdir)/sudo_plugin_python.man.in fixman.sed (cd $(top_builddir) && $(SHELL) config.status --file=-) < $(srcdir)/sudo_plugin_python.man.in | $(SED) -f fixman.sed > $@ ./sudo_plugin_python.mdoc: $(top_builddir)/config.status $(srcdir)/sudo_plugin_python.mdoc.in - cd $(top_builddir) && $(SHELL) config.status --file=docs/$@ + printf '.\\" Automatically generated from the sudo_plugin_python.mdoc.in file. Do not edit.\n' > $@ + (cd $(top_builddir) && $(SHELL) config.status --file=-) < $(srcdir)/sudo_plugin_python.mdoc.in >> $@ $(srcdir)/sudo_sendlog.man.in: $(srcdir)/sudo_sendlog.mdoc.in @if [ -n "$(DEVEL)" ]; then \ echo "Generating $@"; \ mansectsu=`echo @MANSECTSU@|$(TR) A-Z a-z`; \ mansectform=`echo @MANSECTFORM@|$(TR) A-Z a-z`; \ - $(SED) -e "s/$$mansectsu/8/g" -e "s/$$mansectform/5/g" $(srcdir)/sudo_sendlog.mdoc.in | $(MANDOC) -Tman | $(SED) -e 's/^\(\.TH "SUDO_SENDLOG" \)"8"\(.*\)/\1"'$$mansectsu'"\2/' -e "s/(5)/($$mansectform)/g" -e "s/(8)/($$mansectsu)/g" > $@; \ + $(SED) -e "s/$$mansectsu/8/g" -e "s/$$mansectform/5/g" $(srcdir)/sudo_sendlog.mdoc.in | $(MANDOC) -Tman | $(SED) -e 's/^\(\.TH "SUDO_SENDLOG" \)"8"\(.*\)/\1"'$$mansectsu'"\2/' -e "s/(5)/($$mansectform)/g" -e "s/(8)/($$mansectsu)/g" -e 's/an mdoc input/the sudo_sendlog.mdoc.in/' > $@; \ fi ./sudo_sendlog.man: $(top_builddir)/config.status $(srcdir)/sudo_sendlog.man.in fixman.sed (cd $(top_builddir) && $(SHELL) config.status --file=-) < $(srcdir)/sudo_sendlog.man.in | $(SED) -f fixman.sed > $@ ./sudo_sendlog.mdoc: $(top_builddir)/config.status $(srcdir)/sudo_sendlog.mdoc.in - cd $(top_builddir) && $(SHELL) config.status --file=docs/$@ + printf '.\\" Automatically generated from the sudo_sendlog.mdoc.in file. Do not edit.\n' > $@ + (cd $(top_builddir) && $(SHELL) config.status --file=-) < $(srcdir)/sudo_sendlog.mdoc.in >> $@ pre-install: diff --git a/docs/UPGRADE.md b/docs/UPGRADE.md index 1e2cb5ff5..83df1f44c 100644 --- a/docs/UPGRADE.md +++ b/docs/UPGRADE.md @@ -542,7 +542,7 @@ Notes on upgrading from an older release Defaults !env_reset - There have also been changes to how the "env_keep" and + There have also been changes to how the "env_keep" and "env_check" options behave. Prior to sudo 1.6.9, the TERM and PATH environment variables @@ -593,7 +593,7 @@ Notes on upgrading from an older release without a password and `/bin/ls` as root with a password. As of sudo 1.6, the same line now means that millert is able - to run run both `/usr/bin/whoami` and `/bin/ls` as user daemon + to run both `/usr/bin/whoami` and `/bin/ls` as user daemon without a password. To expand on this, take the following example: diff --git a/docs/cvtsudoers.man.in b/docs/cvtsudoers.man.in index 401996e1d..8c727cb64 100644 --- a/docs/cvtsudoers.man.in +++ b/docs/cvtsudoers.man.in @@ -1,4 +1,4 @@ -.\" Automatically generated from an mdoc input file. Do not edit. +.\" Automatically generated from the cvtsudoers.mdoc.in file. Do not edit. .\" .\" SPDX-License-Identifier: ISC .\" @@ -16,7 +16,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.TH "CVTSUDOERS" "1" "January 16, 2023" "Sudo @PACKAGE_VERSION@" "General Commands Manual" +.TH "CVTSUDOERS" "1" "April 26, 2024" "Sudo @PACKAGE_VERSION@" "General Commands Manual" .nh .if n .ad l .SH "NAME" @@ -912,20 +912,28 @@ A boolean value that, if true, will negate any comparison performed with the object. .TP 9n sha224 -A string containing the SHA224 digest of the -\fIcommand\fR. +One or more SHA224 digests for the +\fIcommand\fR +in string form. +Multiple digests of the same type are stored as an array. .TP 9n sha256 -A string containing the SHA256 digest of the -\fIcommand\fR. +One or more SHA256 digests for the +\fIcommand\fR +in string form. +Multiple digests of the same type are stored as an array. .TP 9n sha384 -A string containing the SHA384 digest of the -\fIcommand\fR. +One or more SHA384 digests for the +\fIcommand\fR +in string form. +Multiple digests of the same type are stored as an array. .TP 9n sha512 -A string containing the SHA512 digest of the -\fIcommand\fR. +One or more SHA512 digests for the +\fIcommand\fR +in string form. +Multiple digests of the same type are stored as an array. .PP The \fIrunasusers\fR @@ -1374,7 +1382,19 @@ exhaustive list of people who have contributed to .SH "BUGS" If you believe you have found a bug in \fBcvtsudoers\fR, -you can submit a bug report at https://bugzilla.sudo.ws/ +you can either file a bug report in the sudo bug database, +https://bugzilla.sudo.ws/, or open an issue at +https://github.com/sudo-project/sudo/issues. +If you would prefer to use email, messages may be sent to the +sudo-workers mailing list, +https://www.sudo.ws/mailman/listinfo/sudo-workers (public) +or (private). +.PP +Please not report security vulnerabilities through public GitHub +issues, Bugzilla or mailing lists. +Instead, report them via email to . +You may encrypt your message with PGP if you would like, using +the key found at https://www.sudo.ws/dist/PGPKEYS. .SH "SUPPORT" Limited free support is available via the sudo-users mailing list, see https://www.sudo.ws/mailman/listinfo/sudo-users to subscribe or diff --git a/docs/cvtsudoers.mdoc.in b/docs/cvtsudoers.mdoc.in index 561837641..a4d8a3366 100644 --- a/docs/cvtsudoers.mdoc.in +++ b/docs/cvtsudoers.mdoc.in @@ -15,7 +15,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd January 16, 2023 +.Dd April 26, 2024 .Dt CVTSUDOERS 1 .Os Sudo @PACKAGE_VERSION@ .Sh NAME @@ -793,17 +793,25 @@ it will match any command. A boolean value that, if true, will negate any comparison performed with the object. .It sha224 -A string containing the SHA224 digest of the -.Em command . +One or more SHA224 digests for the +.Em command +in string form. +Multiple digests of the same type are stored as an array. .It sha256 -A string containing the SHA256 digest of the -.Em command . +One or more SHA256 digests for the +.Em command +in string form. +Multiple digests of the same type are stored as an array. .It sha384 -A string containing the SHA384 digest of the -.Em command . +One or more SHA384 digests for the +.Em command +in string form. +Multiple digests of the same type are stored as an array. .It sha512 -A string containing the SHA512 digest of the -.Em command . +One or more SHA512 digests for the +.Em command +in string form. +Multiple digests of the same type are stored as an array. .El .Pp The @@ -1190,7 +1198,19 @@ exhaustive list of people who have contributed to .Sh BUGS If you believe you have found a bug in .Nm , -you can submit a bug report at https://bugzilla.sudo.ws/ +you can either file a bug report in the sudo bug database, +https://bugzilla.sudo.ws/, or open an issue at +https://github.com/sudo-project/sudo/issues. +If you would prefer to use email, messages may be sent to the +sudo-workers mailing list, +https://www.sudo.ws/mailman/listinfo/sudo-workers (public) +or (private). +.Pp +Please not report security vulnerabilities through public GitHub +issues, Bugzilla or mailing lists. +Instead, report them via email to . +You may encrypt your message with PGP if you would like, using +the key found at https://www.sudo.ws/dist/PGPKEYS. .Sh SUPPORT Limited free support is available via the sudo-users mailing list, see https://www.sudo.ws/mailman/listinfo/sudo-users to subscribe or diff --git a/docs/schema.ActiveDirectory b/docs/schema.ActiveDirectory index f488eefec..0bc4b94d8 100644 --- a/docs/schema.ActiveDirectory +++ b/docs/schema.ActiveDirectory @@ -4,7 +4,7 @@ # To extend your Active Directory schema, run one of the following command # on your Windows DC (default port - Active Directory): # -# ldifde -i -f schema.ActiveDirectory -c "CN=Schema,CN=Configuration,DC=X" #schemaNamingContext +# ldifde -i -f schema.ActiveDirectory -c "CN=Schema,CN=Configuration,DC=X" "#schemaNamingContext" # # or on your Windows DC if using another port (with Active Directory LightWeight Directory Services / ADAM-Active Directory Application Mode) # Port 50000 by example (or any other port specified when defining the ADLDS/ADAM instance diff --git a/docs/schema.IBM_LDAP b/docs/schema.IBM_LDAP new file mode 100644 index 000000000..43e1ecd66 --- /dev/null +++ b/docs/schema.IBM_LDAP @@ -0,0 +1,91 @@ +# +# sudoers schema for IBM Directory Server, also known as Tivoli Directory +# Server, IBM Security Directory Server, and IBM Security Verify Directory. +# +# To import: ldapmodify -c -D binddn -h host:port -w password -f schema.IBM_LDAP +# Substitute the correct values for binddn, host:port and password. +# +dn: cn=schema +changetype: modify +add: attributetypes +attributetypes: ( 1.3.6.1.4.1.15953.9.1.1 NAME 'sudoUser' DESC 'User(s) who may run sudo' EQUALITY caseExactMatch SUBSTR caseExactSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) +- +add: ibmattributetypes +ibmattributetypes: ( 1.3.6.1.4.1.15953.9.1.1 DBNAME( 'sudoUser' 'sudoUser' ) ACCESS-CLASS normal LENGTH 512 ) + +dn: cn=schema +changetype: modify +add: attributetypes +attributeTypes: ( 1.3.6.1.4.1.15953.9.1.2 NAME 'sudoHost' DESC 'Host(s) who may run sudo' EQUALITY caseExactIA5Match SUBSTR caseExactSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) +- +add: ibmattributetypes +ibmattributetypes: ( 1.3.6.1.4.1.15953.9.1.2 DBNAME( 'sudoHost' 'sudoHost' ) ACCESS-CLASS normal LENGTH 512 ) + +dn: cn=schema +changetype: modify +add: attributetypes +attributeTypes: ( 1.3.6.1.4.1.15953.9.1.3 NAME 'sudoCommand' DESC 'Command(s) to be executed by sudo' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) +- +add: ibmattributetypes +ibmattributetypes: ( 1.3.6.1.4.1.15953.9.1.3 DBNAME( 'sudoCommand' 'sudoCommand' ) ACCESS-CLASS normal LENGTH 2048 ) + +dn: cn=schema +changetype: modify +add: attributetypes +attributeTypes: ( 1.3.6.1.4.1.15953.9.1.4 NAME 'sudoRunAs' DESC 'User(s) impersonated by sudo (deprecated)' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) +- +add: ibmattributetypes +ibmattributetypes: ( 1.3.6.1.4.1.15953.9.1.4 DBNAME( 'sudoRunAs' 'sudoRunAs' ) ACCESS-CLASS normal LENGTH 512 ) + +dn: cn=schema +changetype: modify +add: attributetypes +attributeTypes: ( 1.3.6.1.4.1.15953.9.1.5 NAME 'sudoOption' DESC 'Options(s) followed by sudo' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) +- +add: ibmattributetypes +ibmattributetypes: ( 1.3.6.1.4.1.15953.9.1.5 DBNAME( 'sudoOption' 'sudoOption' ) ACCESS-CLASS normal LENGTH 512 ) + +dn: cn=schema +changetype: modify +add: attributetypes +attributeTypes: ( 1.3.6.1.4.1.15953.9.1.6 NAME 'sudoRunAsUser' DESC 'User(s) impersonated by sudo' EQUALITY caseExactMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) +- +add: ibmattributetypes +ibmattributetypes: ( 1.3.6.1.4.1.15953.9.1.6 DBNAME( 'sudoRunAsUser' 'sudoRunAsUser' ) ACCESS-CLASS normal LENGTH 512 ) + +dn: cn=schema +changetype: modify +add: attributetypes +attributeTypes: ( 1.3.6.1.4.1.15953.9.1.7 NAME 'sudoRunAsGroup' DESC 'Group(s) impersonated by sudo' EQUALITY caseExactMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) +- +add: ibmattributetypes +ibmattributetypes: ( 1.3.6.1.4.1.15953.9.1.7 DBNAME( 'sudoRunAsGroup' 'sudoRunAsGroup' ) ACCESS-CLASS normal LENGTH 512 ) + +dn: cn=schema +changetype: modify +add: attributetypes +attributeTypes: ( 1.3.6.1.4.1.15953.9.1.8 NAME 'sudoNotBefore' DESC 'Start of time interval for which the entry is valid' EQUALITY generalizedTimeMatch ORDERING generalizedTimeOrderingMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.24 ) +- +add: ibmattributetypes +ibmattributetypes: ( 1.3.6.1.4.1.15953.9.1.8 DBNAME( 'sudoNotBefore' 'sudoNotBefore' ) ACCESS-CLASS normal LENGTH 512 ) + +dn: cn=schema +changetype: modify +add: attributetypes +attributeTypes: ( 1.3.6.1.4.1.15953.9.1.9 NAME 'sudoNotAfter' DESC 'End of time interval for which the entry is valid' EQUALITY generalizedTimeMatch ORDERING generalizedTimeOrderingMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.24 ) +- +add: ibmattributetypes +ibmattributetypes: ( 1.3.6.1.4.1.15953.9.1.9 DBNAME( 'sudoNotAfter' 'sudoNotAfter' ) ACCESS-CLASS normal LENGTH 512 ) + +dn: cn=schema +changetype: modify +add: attributetypes +attributeTypes: ( 1.3.6.1.4.1.15953.9.1.10 NAME 'sudoOrder' DESC 'an integer to order the sudoRole entries' EQUALITY integerMatch ORDERING integerOrderingMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 ) +- +add: ibmattributetypes +ibmattributetypes: ( 1.3.6.1.4.1.15953.9.1.10 DBNAME( 'sudoOrder' 'sudoOrder' ) ACCESS-CLASS normal ) + +dn: cn=schema +changetype: modify +add: objectClasses +objectClasses: ( 1.3.6.1.4.1.15953.9.2.1 NAME 'sudoRole' SUP top STRUCTURAL DESC 'Sudoer Entries' MUST ( cn ) MAY ( sudoUser $ sudoHost $ sudoCommand $ sudoRunAs $ sudoRunAsUser $ sudoRunAsGroup $ sudoOption $ sudoOrder $ sudoNotBefore $ sudoNotAfter $ description ) ) diff --git a/docs/sudo.conf.man.in b/docs/sudo.conf.man.in index 5c4354ea5..b1d80e78e 100644 --- a/docs/sudo.conf.man.in +++ b/docs/sudo.conf.man.in @@ -1,4 +1,4 @@ -.\" Automatically generated from an mdoc input file. Do not edit. +.\" Automatically generated from the sudo.conf.mdoc.in file. Do not edit. .\" .\" SPDX-License-Identifier: ISC .\" @@ -911,8 +911,20 @@ exhaustive list of people who have contributed to \fBsudo\fR. .SH "BUGS" If you believe you have found a bug in -\fBsudo\fR, -you can submit a bug report at https://bugzilla.sudo.ws/ +\fBsudo.conf\fR, +you can either file a bug report in the sudo bug database, +https://bugzilla.sudo.ws/, or open an issue at +https://github.com/sudo-project/sudo/issues. +If you would prefer to use email, messages may be sent to the +sudo-workers mailing list, +https://www.sudo.ws/mailman/listinfo/sudo-workers (public) +or (private). +.PP +Please not report security vulnerabilities through public GitHub +issues, Bugzilla or mailing lists. +Instead, report them via email to . +You may encrypt your message with PGP if you would like, using +the key found at https://www.sudo.ws/dist/PGPKEYS. .SH "SUPPORT" Limited free support is available via the sudo-users mailing list, see https://www.sudo.ws/mailman/listinfo/sudo-users to subscribe or diff --git a/docs/sudo.conf.mdoc.in b/docs/sudo.conf.mdoc.in index 3359b0d16..b7b40bdeb 100644 --- a/docs/sudo.conf.mdoc.in +++ b/docs/sudo.conf.mdoc.in @@ -841,8 +841,20 @@ exhaustive list of people who have contributed to .Nm sudo . .Sh BUGS If you believe you have found a bug in -.Nm sudo , -you can submit a bug report at https://bugzilla.sudo.ws/ +.Nm , +you can either file a bug report in the sudo bug database, +https://bugzilla.sudo.ws/, or open an issue at +https://github.com/sudo-project/sudo/issues. +If you would prefer to use email, messages may be sent to the +sudo-workers mailing list, +https://www.sudo.ws/mailman/listinfo/sudo-workers (public) +or (private). +.Pp +Please not report security vulnerabilities through public GitHub +issues, Bugzilla or mailing lists. +Instead, report them via email to . +You may encrypt your message with PGP if you would like, using +the key found at https://www.sudo.ws/dist/PGPKEYS. .Sh SUPPORT Limited free support is available via the sudo-users mailing list, see https://www.sudo.ws/mailman/listinfo/sudo-users to subscribe or diff --git a/docs/sudo.man.in b/docs/sudo.man.in index eab53e209..c45191456 100644 --- a/docs/sudo.man.in +++ b/docs/sudo.man.in @@ -1,4 +1,4 @@ -.\" Automatically generated from an mdoc input file. Do not edit. +.\" Automatically generated from the sudo.mdoc.in file. Do not edit. .\" .\" SPDX-License-Identifier: ISC .\" @@ -1415,6 +1415,9 @@ Default editor to use in \fRSUDO_GID\fR Set to the group-ID of the user who invoked sudo. .TP 17n +\fRSUDO_HOME\fR +Set to the home directory of the user who invoked sudo. +.TP 17n \fRSUDO_PROMPT\fR Used as the default password prompt unless the \fB\-p\fR @@ -1722,7 +1725,19 @@ set-user-ID shell scripts are generally safe). .SH "BUGS" If you believe you have found a bug in \fBsudo\fR, -you can submit a bug report at https://bugzilla.sudo.ws/ +you can either file a bug report in the sudo bug database, +https://bugzilla.sudo.ws/, or open an issue at +https://github.com/sudo-project/sudo/issues. +If you would prefer to use email, messages may be sent to the +sudo-workers mailing list, +https://www.sudo.ws/mailman/listinfo/sudo-workers (public) +or (private). +.PP +Please not report security vulnerabilities through public GitHub +issues, Bugzilla or mailing lists. +Instead, report them via email to . +You may encrypt your message with PGP if you would like, using +the key found at https://www.sudo.ws/dist/PGPKEYS. .SH "SUPPORT" Limited free support is available via the sudo-users mailing list, see https://www.sudo.ws/mailman/listinfo/sudo-users to subscribe or diff --git a/docs/sudo.mdoc.in b/docs/sudo.mdoc.in index 9374f6c16..61f5eae43 100644 --- a/docs/sudo.mdoc.in +++ b/docs/sudo.mdoc.in @@ -1345,6 +1345,8 @@ Default editor to use in (sudoedit) mode. .It Ev SUDO_GID Set to the group-ID of the user who invoked sudo. +.It Ev SUDO_HOME +Set to the home directory of the user who invoked sudo. .It Ev SUDO_PROMPT Used as the default password prompt unless the .Fl p @@ -1611,7 +1613,19 @@ set-user-ID shell scripts are generally safe). .Sh BUGS If you believe you have found a bug in .Nm , -you can submit a bug report at https://bugzilla.sudo.ws/ +you can either file a bug report in the sudo bug database, +https://bugzilla.sudo.ws/, or open an issue at +https://github.com/sudo-project/sudo/issues. +If you would prefer to use email, messages may be sent to the +sudo-workers mailing list, +https://www.sudo.ws/mailman/listinfo/sudo-workers (public) +or (private). +.Pp +Please not report security vulnerabilities through public GitHub +issues, Bugzilla or mailing lists. +Instead, report them via email to . +You may encrypt your message with PGP if you would like, using +the key found at https://www.sudo.ws/dist/PGPKEYS. .Sh SUPPORT Limited free support is available via the sudo-users mailing list, see https://www.sudo.ws/mailman/listinfo/sudo-users to subscribe or diff --git a/docs/sudo_logsrv.proto.man.in b/docs/sudo_logsrv.proto.man.in index fadb8b6ec..53a7add16 100644 --- a/docs/sudo_logsrv.proto.man.in +++ b/docs/sudo_logsrv.proto.man.in @@ -1,4 +1,4 @@ -.\" Automatically generated from an mdoc input file. Do not edit. +.\" Automatically generated from the sudo_logsrv.proto.mdoc.in file. Do not edit. .\" .\" SPDX-License-Identifier: ISC .\" @@ -893,8 +893,20 @@ exhaustive list of people who have contributed to \fBsudo\fR. .SH "BUGS" If you believe you have found a bug in -\fBsudo\fR, -you can submit a bug report at https://bugzilla.sudo.ws/ +\fBsudo_logsrv.proto\fR, +you can either file a bug report in the sudo bug database, +https://bugzilla.sudo.ws/, or open an issue at +https://github.com/sudo-project/sudo/issues. +If you would prefer to use email, messages may be sent to the +sudo-workers mailing list, +https://www.sudo.ws/mailman/listinfo/sudo-workers (public) +or (private). +.PP +Please not report security vulnerabilities through public GitHub +issues, Bugzilla or mailing lists. +Instead, report them via email to . +You may encrypt your message with PGP if you would like, using +the key found at https://www.sudo.ws/dist/PGPKEYS. .SH "SUPPORT" Limited free support is available via the sudo-users mailing list, see https://www.sudo.ws/mailman/listinfo/sudo-users to subscribe or diff --git a/docs/sudo_logsrv.proto.mdoc.in b/docs/sudo_logsrv.proto.mdoc.in index daa4a551b..78d4d1eb1 100644 --- a/docs/sudo_logsrv.proto.mdoc.in +++ b/docs/sudo_logsrv.proto.mdoc.in @@ -810,8 +810,20 @@ exhaustive list of people who have contributed to .Nm sudo . .Sh BUGS If you believe you have found a bug in -.Nm sudo , -you can submit a bug report at https://bugzilla.sudo.ws/ +.Nm , +you can either file a bug report in the sudo bug database, +https://bugzilla.sudo.ws/, or open an issue at +https://github.com/sudo-project/sudo/issues. +If you would prefer to use email, messages may be sent to the +sudo-workers mailing list, +https://www.sudo.ws/mailman/listinfo/sudo-workers (public) +or (private). +.Pp +Please not report security vulnerabilities through public GitHub +issues, Bugzilla or mailing lists. +Instead, report them via email to . +You may encrypt your message with PGP if you would like, using +the key found at https://www.sudo.ws/dist/PGPKEYS. .Sh SUPPORT Limited free support is available via the sudo-users mailing list, see https://www.sudo.ws/mailman/listinfo/sudo-users to subscribe or diff --git a/docs/sudo_logsrvd.conf.man.in b/docs/sudo_logsrvd.conf.man.in index 2b5826adf..5cfc7bd5d 100644 --- a/docs/sudo_logsrvd.conf.man.in +++ b/docs/sudo_logsrvd.conf.man.in @@ -1,4 +1,4 @@ -.\" Automatically generated from an mdoc input file. Do not edit. +.\" Automatically generated from the sudo_logsrvd.conf.mdoc.in file. Do not edit. .\" .\" SPDX-License-Identifier: ISC .\" @@ -16,7 +16,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.TH "SUDO_LOGSRVD.CONF" "@mansectform@" "January 16, 2023" "Sudo @PACKAGE_VERSION@" "File Formats Manual" +.TH "SUDO_LOGSRVD.CONF" "@mansectform@" "March 9, 2024" "Sudo @PACKAGE_VERSION@" "File Formats Manual" .nh .if n .ad l .SH "NAME" @@ -682,15 +682,58 @@ Defaults to .TP 6n log_format = string The event log format. -Supported log formats are -\(lqsudo\(rq -for traditional sudo-style logs and -\(lqjson\(rq -for JSON-format logs. -The JSON log entries contain the full contents of the accept, reject, exit +Supported log formats are: +.PP +.RS 6n +.PD 0 +.TP 6n +json +Currently, this is an alias for +\fIjson_pretty\fR. +In a future version of +\fBsudo_logsrvd\fR, +\fIjson\fR +will be equivalent to +\fIjson_compact\fR. +JSON log entries contain the full contents of the accept, reject, exit and alert messages. +.PD +.TP 6n +json_compact +Log events in +\(lqcompact\(rq +(minified) JSON format. +Each event is written as a separate JSON object on single line without +extraneous white space. +Due to limitations of the protocol, JSON events sent via +\fIsyslog\fR +may be truncated. +.TP 6n +json_pretty +Log events in +\(lqpretty\(rq +JSON format. +When logging to a file, the entire file is treated as a single JSON +object consisting of multiple events, each event spanning multiple lines. +When logging via +\fIsyslog\fR, +there is no difference between the +\fIjson_pretty\fR +and +\fIjson_compact\fR +formats. +.TP 6n +sudo +Log events in traditional sudo-style log format. +See the +\fIEVENT LOGGING\fR +section in +sudoers(@mansectform@) +for details. +.PP The default value is \fIsudo\fR. +.RE .SS "syslog" The \fIsyslog\fR @@ -1096,8 +1139,20 @@ exhaustive list of people who have contributed to \fBsudo\fR. .SH "BUGS" If you believe you have found a bug in -\fBsudo\fR, -you can submit a bug report at https://bugzilla.sudo.ws/ +\fBsudo_logsrvd.conf\fR, +you can either file a bug report in the sudo bug database, +https://bugzilla.sudo.ws/, or open an issue at +https://github.com/sudo-project/sudo/issues. +If you would prefer to use email, messages may be sent to the +sudo-workers mailing list, +https://www.sudo.ws/mailman/listinfo/sudo-workers (public) +or (private). +.PP +Please not report security vulnerabilities through public GitHub +issues, Bugzilla or mailing lists. +Instead, report them via email to . +You may encrypt your message with PGP if you would like, using +the key found at https://www.sudo.ws/dist/PGPKEYS. .SH "SUPPORT" Limited free support is available via the sudo-users mailing list, see https://www.sudo.ws/mailman/listinfo/sudo-users to subscribe or diff --git a/docs/sudo_logsrvd.conf.mdoc.in b/docs/sudo_logsrvd.conf.mdoc.in index 8fee88c34..5b2787335 100644 --- a/docs/sudo_logsrvd.conf.mdoc.in +++ b/docs/sudo_logsrvd.conf.mdoc.in @@ -15,7 +15,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd January 16, 2023 +.Dd March 9, 2024 .Dt SUDO_LOGSRVD.CONF @mansectform@ .Os Sudo @PACKAGE_VERSION@ .Sh NAME @@ -611,13 +611,49 @@ Defaults to .Em false . .It log_format = string The event log format. -Supported log formats are -.Dq sudo -for traditional sudo-style logs and -.Dq json -for JSON-format logs. -The JSON log entries contain the full contents of the accept, reject, exit +Supported log formats are: +.Bl -tag -width 4n +.It json +Currently, this is an alias for +.Em json_pretty . +In a future version of +.Nm sudo_logsrvd , +.Em json +will be equivalent to +.Em json_compact . +JSON log entries contain the full contents of the accept, reject, exit and alert messages. +.It json_compact +Log events in +.Dq compact +(minified) JSON format. +Each event is written as a separate JSON object on single line without +extraneous white space. +Due to limitations of the protocol, JSON events sent via +.Em syslog +may be truncated. +.It json_pretty +Log events in +.Dq pretty +JSON format. +When logging to a file, the entire file is treated as a single JSON +object consisting of multiple events, each event spanning multiple lines. +When logging via +.Em syslog , +there is no difference between the +.Em json_pretty +and +.Em json_compact +formats. +.It sudo +Log events in traditional sudo-style log format. +See the +.Em "EVENT LOGGING" +section in +.Xr sudoers @mansectform@ +for details. +.El +.Pp The default value is .Em sudo . .El @@ -1020,8 +1056,20 @@ exhaustive list of people who have contributed to .Nm sudo . .Sh BUGS If you believe you have found a bug in -.Nm sudo , -you can submit a bug report at https://bugzilla.sudo.ws/ +.Nm , +you can either file a bug report in the sudo bug database, +https://bugzilla.sudo.ws/, or open an issue at +https://github.com/sudo-project/sudo/issues. +If you would prefer to use email, messages may be sent to the +sudo-workers mailing list, +https://www.sudo.ws/mailman/listinfo/sudo-workers (public) +or (private). +.Pp +Please not report security vulnerabilities through public GitHub +issues, Bugzilla or mailing lists. +Instead, report them via email to . +You may encrypt your message with PGP if you would like, using +the key found at https://www.sudo.ws/dist/PGPKEYS. .Sh SUPPORT Limited free support is available via the sudo-users mailing list, see https://www.sudo.ws/mailman/listinfo/sudo-users to subscribe or diff --git a/docs/sudo_logsrvd.man.in b/docs/sudo_logsrvd.man.in index eb9363699..788ca212f 100644 --- a/docs/sudo_logsrvd.man.in +++ b/docs/sudo_logsrvd.man.in @@ -1,8 +1,8 @@ -.\" Automatically generated from an mdoc input file. Do not edit. +.\" Automatically generated from the sudo_logsrvd.mdoc.in file. Do not edit. .\" .\" SPDX-License-Identifier: ISC .\" -.\" Copyright (c) 2019-2023 Todd C. Miller +.\" Copyright (c) 2019-2024 Todd C. Miller .\" .\" Permission to use, copy, modify, and distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above @@ -16,7 +16,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.TH "SUDO_LOGSRVD" "@mansectsu@" "January 16, 2023" "Sudo @PACKAGE_VERSION@" "System Manager's Manual" +.TH "SUDO_LOGSRVD" "@mansectsu@" "July 14, 2024" "Sudo @PACKAGE_VERSION@" "System Manager's Manual" .nh .if n .ad l .SH "NAME" @@ -277,7 +277,7 @@ If you enter '.', the field will be left blank. Country Name (2 letter code) [AU]:US State or Province Name (full name) [Some-State]:Colorado Locality Name (eg, city) []: -Organization Name (eg, company) [Internet Widgits Pty Ltd]:sudo +Organization Name (eg, company) [Internet Widgets Pty Ltd]:sudo Organizational Unit Name (eg, section) []:sudo Certificate Authority Common Name (e.g., server FQDN or YOUR name) []:sudo Root CA Email Address []: @@ -335,7 +335,7 @@ If you enter '.', the field will be left blank. Country Name (2 letter code) [AU]:US State or Province Name (full name) [Some-State]:Colorado Locality Name (eg, city) []: -Organization Name (eg, company) [Internet Widgits Pty Ltd]:sudo +Organization Name (eg, company) [Internet Widgets Pty Ltd]:sudo Organizational Unit Name (eg, section) []:sudo log server Common Name (e.g., server FQDN or YOUR name) []:logserver.example.com Email Address []: @@ -440,6 +440,7 @@ If peer authentication is enabled on the client, a copy of must be present on the client system too. .SH "SEE ALSO" sudo.conf(@mansectform@), +sudo_logsrv.proto(@mansectform@), sudo_logsrvd.conf(@mansectform@), sudoers(@mansectform@), sudo(@mansectsu@), @@ -462,7 +463,19 @@ exhaustive list of people who have contributed to .SH "BUGS" If you believe you have found a bug in \fBsudo_logsrvd\fR, -you can submit a bug report at https://bugzilla.sudo.ws/ +you can either file a bug report in the sudo bug database, +https://bugzilla.sudo.ws/, or open an issue at +https://github.com/sudo-project/sudo/issues. +If you would prefer to use email, messages may be sent to the +sudo-workers mailing list, +https://www.sudo.ws/mailman/listinfo/sudo-workers (public) +or (private). +.PP +Please not report security vulnerabilities through public GitHub +issues, Bugzilla or mailing lists. +Instead, report them via email to . +You may encrypt your message with PGP if you would like, using +the key found at https://www.sudo.ws/dist/PGPKEYS. .SH "SUPPORT" Limited free support is available via the sudo-users mailing list, see https://www.sudo.ws/mailman/listinfo/sudo-users to subscribe or diff --git a/docs/sudo_logsrvd.mdoc.in b/docs/sudo_logsrvd.mdoc.in index bde5ff672..b9e105440 100644 --- a/docs/sudo_logsrvd.mdoc.in +++ b/docs/sudo_logsrvd.mdoc.in @@ -1,7 +1,7 @@ .\" .\" SPDX-License-Identifier: ISC .\" -.\" Copyright (c) 2019-2023 Todd C. Miller +.\" Copyright (c) 2019-2024 Todd C. Miller .\" .\" Permission to use, copy, modify, and distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above @@ -15,7 +15,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd January 16, 2023 +.Dd July 14, 2024 .Dt SUDO_LOGSRVD @mansectsu@ .Os Sudo @PACKAGE_VERSION@ .Sh NAME @@ -253,7 +253,7 @@ If you enter '.', the field will be left blank. Country Name (2 letter code) [AU]:US State or Province Name (full name) [Some-State]:Colorado Locality Name (eg, city) []: -Organization Name (eg, company) [Internet Widgits Pty Ltd]:sudo +Organization Name (eg, company) [Internet Widgets Pty Ltd]:sudo Organizational Unit Name (eg, section) []:sudo Certificate Authority Common Name (e.g., server FQDN or YOUR name) []:sudo Root CA Email Address []: @@ -302,7 +302,7 @@ If you enter '.', the field will be left blank. Country Name (2 letter code) [AU]:US State or Province Name (full name) [Some-State]:Colorado Locality Name (eg, city) []: -Organization Name (eg, company) [Internet Widgits Pty Ltd]:sudo +Organization Name (eg, company) [Internet Widgets Pty Ltd]:sudo Organizational Unit Name (eg, section) []:sudo log server Common Name (e.g., server FQDN or YOUR name) []:logserver.example.com Email Address []: @@ -397,6 +397,7 @@ If peer authentication is enabled on the client, a copy of must be present on the client system too. .Sh SEE ALSO .Xr sudo.conf @mansectform@ , +.Xr sudo_logsrv.proto @mansectform@ , .Xr sudo_logsrvd.conf @mansectform@ , .Xr sudoers @mansectform@ , .Xr sudo @mansectsu@ , @@ -418,7 +419,19 @@ exhaustive list of people who have contributed to .Sh BUGS If you believe you have found a bug in .Nm , -you can submit a bug report at https://bugzilla.sudo.ws/ +you can either file a bug report in the sudo bug database, +https://bugzilla.sudo.ws/, or open an issue at +https://github.com/sudo-project/sudo/issues. +If you would prefer to use email, messages may be sent to the +sudo-workers mailing list, +https://www.sudo.ws/mailman/listinfo/sudo-workers (public) +or (private). +.Pp +Please not report security vulnerabilities through public GitHub +issues, Bugzilla or mailing lists. +Instead, report them via email to . +You may encrypt your message with PGP if you would like, using +the key found at https://www.sudo.ws/dist/PGPKEYS. .Sh SUPPORT Limited free support is available via the sudo-users mailing list, see https://www.sudo.ws/mailman/listinfo/sudo-users to subscribe or diff --git a/docs/sudo_plugin.man.in b/docs/sudo_plugin.man.in index c36fe0014..d0acb0023 100644 --- a/docs/sudo_plugin.man.in +++ b/docs/sudo_plugin.man.in @@ -1,8 +1,8 @@ -.\" Automatically generated from an mdoc input file. Do not edit. +.\" Automatically generated from the sudo_plugin.mdoc.in file. Do not edit. .\" .\" SPDX-License-Identifier: ISC .\" -.\" Copyright (c) 2009-2023 Todd C. Miller +.\" Copyright (c) 2009-2024 Todd C. Miller .\" .\" Permission to use, copy, modify, and distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above @@ -16,7 +16,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.TH "SUDO_PLUGIN" "5" "July 10, 2023" "Sudo @PACKAGE_VERSION@" "File Formats Manual" +.TH "SUDO_PLUGIN" "5" "August 14, 2024" "Sudo @PACKAGE_VERSION@" "File Formats Manual" .nh .if n .ad l .SH "NAME" @@ -674,10 +674,18 @@ process or 0 if there is no terminal present. Only available starting with API version 1.2. .TP 6n tty=string -The path to the user's terminal device. -If the user has no terminal device associated with the session, -the value will be empty, as in -\(oqtty=\(cq. +The path to the user's terminal device, if one exists. +This entry is only present if the user has a terminal device +associated with the session. +.TP 6n +ttydev=dev_t +The number of the user's terminal device, if one exists, +formatted as a +\fIlong long\fR +value. +This entry is only present if the user has a terminal device +associated with the session. +Only available starting with API version 1.22. .TP 6n uid=uid_t The real user-ID of the user invoking @@ -1552,7 +1560,7 @@ front-end to determine which elements of the vector are files to be edited. The \(oq--\(cq -element must immediately precede the first file to be editied. +element must immediately precede the first file to be edited. If \fIsudoedit_nfiles\fR is not specified, the @@ -5474,6 +5482,13 @@ The entry was added to the \fIcommand_info\fR list. +.TP 6n +Version 1.22 (sudo 1.9.16) +The +\fIttydev\fR +entry was added to the +\fIuser_info\fR +list. .SH "SEE ALSO" sudo.conf(@mansectform@), sudoers(@mansectform@), @@ -5494,8 +5509,20 @@ exhaustive list of people who have contributed to \fBsudo\fR. .SH "BUGS" If you believe you have found a bug in -\fBsudo\fR, -you can submit a bug report at https://bugzilla.sudo.ws/ +\fBsudo_plugin\fR, +you can either file a bug report in the sudo bug database, +https://bugzilla.sudo.ws/, or open an issue at +https://github.com/sudo-project/sudo/issues. +If you would prefer to use email, messages may be sent to the +sudo-workers mailing list, +https://www.sudo.ws/mailman/listinfo/sudo-workers (public) +or (private). +.PP +Please not report security vulnerabilities through public GitHub +issues, Bugzilla or mailing lists. +Instead, report them via email to . +You may encrypt your message with PGP if you would like, using +the key found at https://www.sudo.ws/dist/PGPKEYS. .SH "SUPPORT" Limited free support is available via the sudo-users mailing list, see https://www.sudo.ws/mailman/listinfo/sudo-users to subscribe or diff --git a/docs/sudo_plugin.mdoc.in b/docs/sudo_plugin.mdoc.in index b604dbe00..e0160352d 100644 --- a/docs/sudo_plugin.mdoc.in +++ b/docs/sudo_plugin.mdoc.in @@ -1,7 +1,7 @@ .\" .\" SPDX-License-Identifier: ISC .\" -.\" Copyright (c) 2009-2023 Todd C. Miller +.\" Copyright (c) 2009-2024 Todd C. Miller .\" .\" Permission to use, copy, modify, and distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above @@ -15,7 +15,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd July 10, 2023 +.Dd August 14, 2024 .Dt SUDO_PLUGIN @mansectform@ .Os Sudo @PACKAGE_VERSION@ .Sh NAME @@ -600,10 +600,17 @@ device associated with the process or 0 if there is no terminal present. Only available starting with API version 1.2. .It tty=string -The path to the user's terminal device. -If the user has no terminal device associated with the session, -the value will be empty, as in -.Ql tty= . +The path to the user's terminal device, if one exists. +This entry is only present if the user has a terminal device +associated with the session. +.It ttydev=dev_t +The number of the user's terminal device, if one exists, +formatted as a +.Vt long long +value. +This entry is only present if the user has a terminal device +associated with the session. +Only available starting with API version 1.22. .It uid=uid_t The real user-ID of the user invoking .Nm sudo . @@ -1393,7 +1400,7 @@ front-end to determine which elements of the vector are files to be edited. The .Ql -- -element must immediately precede the first file to be editied. +element must immediately precede the first file to be edited. If .Em sudoedit_nfiles is not specified, the @@ -4857,6 +4864,12 @@ The entry was added to the .Fa command_info list. +.It Version 1.22 (sudo 1.9.16) +The +.Em ttydev +entry was added to the +.Fa user_info +list. .El .Sh SEE ALSO .Xr sudo.conf @mansectform@ , @@ -4877,8 +4890,20 @@ exhaustive list of people who have contributed to .Nm sudo . .Sh BUGS If you believe you have found a bug in -.Nm sudo , -you can submit a bug report at https://bugzilla.sudo.ws/ +.Nm , +you can either file a bug report in the sudo bug database, +https://bugzilla.sudo.ws/, or open an issue at +https://github.com/sudo-project/sudo/issues. +If you would prefer to use email, messages may be sent to the +sudo-workers mailing list, +https://www.sudo.ws/mailman/listinfo/sudo-workers (public) +or (private). +.Pp +Please not report security vulnerabilities through public GitHub +issues, Bugzilla or mailing lists. +Instead, report them via email to . +You may encrypt your message with PGP if you would like, using +the key found at https://www.sudo.ws/dist/PGPKEYS. .Sh SUPPORT Limited free support is available via the sudo-users mailing list, see https://www.sudo.ws/mailman/listinfo/sudo-users to subscribe or diff --git a/docs/sudo_plugin_python.man.in b/docs/sudo_plugin_python.man.in index e77e96cb2..c4a5f3da3 100644 --- a/docs/sudo_plugin_python.man.in +++ b/docs/sudo_plugin_python.man.in @@ -1,4 +1,4 @@ -.\" Automatically generated from an mdoc input file. Do not edit. +.\" Automatically generated from the sudo_plugin_python.mdoc.in file. Do not edit. .\" .\" SPDX-License-Identifier: ISC .\" @@ -1868,8 +1868,20 @@ exhaustive list of people who have contributed to Python plugin support is currently considered experimental. .PP If you believe you have found a bug in -\fBsudo\fR, -you can submit a bug report at https://bugzilla.sudo.ws/ +\fBsudo_plugin_python\fR, +you can either file a bug report in the sudo bug database, +https://bugzilla.sudo.ws/, or open an issue at +https://github.com/sudo-project/sudo/issues. +If you would prefer to use email, messages may be sent to the +sudo-workers mailing list, +https://www.sudo.ws/mailman/listinfo/sudo-workers (public) +or (private). +.PP +Please not report security vulnerabilities through public GitHub +issues, Bugzilla or mailing lists. +Instead, report them via email to . +You may encrypt your message with PGP if you would like, using +the key found at https://www.sudo.ws/dist/PGPKEYS. .SH "SECURITY CONSIDERATIONS" All Python plugin handling is implemented inside the \fI@python_plugin@\fR diff --git a/docs/sudo_plugin_python.mdoc.in b/docs/sudo_plugin_python.mdoc.in index f6edd470e..ff0b5812b 100644 --- a/docs/sudo_plugin_python.mdoc.in +++ b/docs/sudo_plugin_python.mdoc.in @@ -1519,8 +1519,20 @@ exhaustive list of people who have contributed to Python plugin support is currently considered experimental. .Pp If you believe you have found a bug in -.Nm sudo , -you can submit a bug report at https://bugzilla.sudo.ws/ +.Nm , +you can either file a bug report in the sudo bug database, +https://bugzilla.sudo.ws/, or open an issue at +https://github.com/sudo-project/sudo/issues. +If you would prefer to use email, messages may be sent to the +sudo-workers mailing list, +https://www.sudo.ws/mailman/listinfo/sudo-workers (public) +or (private). +.Pp +Please not report security vulnerabilities through public GitHub +issues, Bugzilla or mailing lists. +Instead, report them via email to . +You may encrypt your message with PGP if you would like, using +the key found at https://www.sudo.ws/dist/PGPKEYS. .Sh SECURITY CONSIDERATIONS All Python plugin handling is implemented inside the .Pa @python_plugin@ diff --git a/docs/sudo_sendlog.man.in b/docs/sudo_sendlog.man.in index 1bccdc487..bace5881d 100644 --- a/docs/sudo_sendlog.man.in +++ b/docs/sudo_sendlog.man.in @@ -1,8 +1,8 @@ -.\" Automatically generated from an mdoc input file. Do not edit. +.\" Automatically generated from the sudo_sendlog.mdoc.in file. Do not edit. .\" .\" SPDX-License-Identifier: ISC .\" -.\" Copyright (c) 2019-2023 Todd C. Miller +.\" Copyright (c) 2019-2024 Todd C. Miller .\" .\" Permission to use, copy, modify, and distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above @@ -16,7 +16,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.TH "SUDO_SENDLOG" "@mansectsu@" "January 16, 2023" "Sudo @PACKAGE_VERSION@" "System Manager's Manual" +.TH "SUDO_SENDLOG" "@mansectsu@" "July 14, 2024" "Sudo @PACKAGE_VERSION@" "System Manager's Manual" .nh .if n .ad l .SH "NAME" @@ -169,6 +169,7 @@ Sudo front-end configuration .SH "SEE ALSO" sudo.conf(@mansectform@), sudo(@mansectsu@), +sudo_logsrv.proto(@mansectform@), sudo_logsrvd(@mansectsu@) .SH "AUTHORS" Many people have worked on @@ -187,7 +188,19 @@ exhaustive list of people who have contributed to .SH "BUGS" If you believe you have found a bug in \fBsudo_sendlog\fR, -you can submit a bug report at https://bugzilla.sudo.ws/ +you can either file a bug report in the sudo bug database, +https://bugzilla.sudo.ws/, or open an issue at +https://github.com/sudo-project/sudo/issues. +If you would prefer to use email, messages may be sent to the +sudo-workers mailing list, +https://www.sudo.ws/mailman/listinfo/sudo-workers (public) +or (private). +.PP +Please not report security vulnerabilities through public GitHub +issues, Bugzilla or mailing lists. +Instead, report them via email to . +You may encrypt your message with PGP if you would like, using +the key found at https://www.sudo.ws/dist/PGPKEYS. .SH "SUPPORT" Limited free support is available via the sudo-users mailing list, see https://www.sudo.ws/mailman/listinfo/sudo-users to subscribe or diff --git a/docs/sudo_sendlog.mdoc.in b/docs/sudo_sendlog.mdoc.in index 1314ce4b2..fd9c5d292 100644 --- a/docs/sudo_sendlog.mdoc.in +++ b/docs/sudo_sendlog.mdoc.in @@ -1,7 +1,7 @@ .\" .\" SPDX-License-Identifier: ISC .\" -.\" Copyright (c) 2019-2023 Todd C. Miller +.\" Copyright (c) 2019-2024 Todd C. Miller .\" .\" Permission to use, copy, modify, and distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above @@ -15,7 +15,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd January 16, 2023 +.Dd July 14, 2024 .Dt SUDO_SENDLOG @mansectsu@ .Os Sudo @PACKAGE_VERSION@ .Sh NAME @@ -155,6 +155,7 @@ Sudo front-end configuration .Sh SEE ALSO .Xr sudo.conf @mansectform@ , .Xr sudo @mansectsu@ , +.Xr sudo_logsrv.proto @mansectform@ , .Xr sudo_logsrvd @mansectsu@ .Sh AUTHORS Many people have worked on @@ -172,7 +173,19 @@ exhaustive list of people who have contributed to .Sh BUGS If you believe you have found a bug in .Nm , -you can submit a bug report at https://bugzilla.sudo.ws/ +you can either file a bug report in the sudo bug database, +https://bugzilla.sudo.ws/, or open an issue at +https://github.com/sudo-project/sudo/issues. +If you would prefer to use email, messages may be sent to the +sudo-workers mailing list, +https://www.sudo.ws/mailman/listinfo/sudo-workers (public) +or (private). +.Pp +Please not report security vulnerabilities through public GitHub +issues, Bugzilla or mailing lists. +Instead, report them via email to . +You may encrypt your message with PGP if you would like, using +the key found at https://www.sudo.ws/dist/PGPKEYS. .Sh SUPPORT Limited free support is available via the sudo-users mailing list, see https://www.sudo.ws/mailman/listinfo/sudo-users to subscribe or diff --git a/docs/sudoers.ldap.man.in b/docs/sudoers.ldap.man.in index ed88296de..6bb2c02a2 100644 --- a/docs/sudoers.ldap.man.in +++ b/docs/sudoers.ldap.man.in @@ -1,4 +1,4 @@ -.\" Automatically generated from an mdoc input file. Do not edit. +.\" Automatically generated from the sudoers.ldap.mdoc.in file. Do not edit. .\" .\" SPDX-License-Identifier: ISC .\" @@ -16,7 +16,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.TH "SUDOERS.LDAP" "@mansectform@" "June 7, 2023" "Sudo @PACKAGE_VERSION@" "File Formats Manual" +.TH "SUDOERS.LDAP" "@mansectform@" "June 25, 2024" "Sudo @PACKAGE_VERSION@" "File Formats Manual" .nh .if n .ad l .SH "NAME" @@ -651,20 +651,24 @@ distribution includes versions of the \fBsudoers\fR schema for multiple LDAP servers: .TP 6n -\fIschema.OpenLDAP\fR -OpenLDAP slapd and -OpenBSD -ldapd +\fIschema.ActiveDirectory\fR +Microsoft Active Directory .TP 6n -\fIschema.olcSudo\fR -OpenLDAP slapd 2.3 and higher when on-line configuration is enabled +\fIschema.IBM_LDAP\fR +IBM Directory Server, also known as IBM Tivoli Directory Server, +IBM Security Directory Server, and IBM Security Verify Directory .TP 6n \fIschema.iPlanet\fR Netscape-derived servers such as the iPlanet, Oracle, and 389 Directory Servers .TP 6n -\fIschema.ActiveDirectory\fR -Microsoft Active Directory +\fIschema.olcSudo\fR +OpenLDAP slapd 2.3 and higher when on-line configuration is enabled +.TP 6n +\fIschema.OpenLDAP\fR +OpenLDAP slapd and +OpenBSD +ldapd .PP The schema in OpenLDAP format is also included in the \fIEXAMPLES\fR @@ -1783,8 +1787,20 @@ See the section for more information. .SH "BUGS" If you believe you have found a bug in -\fBsudo\fR, -you can submit a bug report at https://bugzilla.sudo.ws/ +\fBsudoers.ldap\fR, +you can either file a bug report in the sudo bug database, +https://bugzilla.sudo.ws/, or open an issue at +https://github.com/sudo-project/sudo/issues. +If you would prefer to use email, messages may be sent to the +sudo-workers mailing list, +https://www.sudo.ws/mailman/listinfo/sudo-workers (public) +or (private). +.PP +Please not report security vulnerabilities through public GitHub +issues, Bugzilla or mailing lists. +Instead, report them via email to . +You may encrypt your message with PGP if you would like, using +the key found at https://www.sudo.ws/dist/PGPKEYS. .SH "SUPPORT" Limited free support is available via the sudo-users mailing list, see https://www.sudo.ws/mailman/listinfo/sudo-users to subscribe or diff --git a/docs/sudoers.ldap.mdoc.in b/docs/sudoers.ldap.mdoc.in index c1a63ea04..77fe678a3 100644 --- a/docs/sudoers.ldap.mdoc.in +++ b/docs/sudoers.ldap.mdoc.in @@ -15,7 +15,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd June 7, 2023 +.Dd June 25, 2024 .Dt SUDOERS.LDAP @mansectform@ .Os Sudo @PACKAGE_VERSION@ .Sh NAME @@ -616,17 +616,20 @@ distribution includes versions of the .Nm sudoers schema for multiple LDAP servers: .Bl -tag -width 4n +.It Pa schema.ActiveDirectory +Microsoft Active Directory +.It Pa schema.IBM_LDAP +IBM Directory Server, also known as IBM Tivoli Directory Server, +IBM Security Directory Server, and IBM Security Verify Directory +.It Pa schema.iPlanet +Netscape-derived servers such as the iPlanet, Oracle, +and 389 Directory Servers +.It Pa schema.olcSudo +OpenLDAP slapd 2.3 and higher when on-line configuration is enabled .It Pa schema.OpenLDAP OpenLDAP slapd and .Ox ldapd -.It Pa schema.olcSudo -OpenLDAP slapd 2.3 and higher when on-line configuration is enabled -.It Pa schema.iPlanet -Netscape-derived servers such as the iPlanet, Oracle, -and 389 Directory Servers -.It Pa schema.ActiveDirectory -Microsoft Active Directory .El .Pp The schema in OpenLDAP format is also included in the @@ -1635,8 +1638,20 @@ See the section for more information. .Sh BUGS If you believe you have found a bug in -.Nm sudo , -you can submit a bug report at https://bugzilla.sudo.ws/ +.Nm , +you can either file a bug report in the sudo bug database, +https://bugzilla.sudo.ws/, or open an issue at +https://github.com/sudo-project/sudo/issues. +If you would prefer to use email, messages may be sent to the +sudo-workers mailing list, +https://www.sudo.ws/mailman/listinfo/sudo-workers (public) +or (private). +.Pp +Please not report security vulnerabilities through public GitHub +issues, Bugzilla or mailing lists. +Instead, report them via email to . +You may encrypt your message with PGP if you would like, using +the key found at https://www.sudo.ws/dist/PGPKEYS. .Sh SUPPORT Limited free support is available via the sudo-users mailing list, see https://www.sudo.ws/mailman/listinfo/sudo-users to subscribe or diff --git a/docs/sudoers.man.in b/docs/sudoers.man.in index e8e68303d..3e19c0ed3 100644 --- a/docs/sudoers.man.in +++ b/docs/sudoers.man.in @@ -1,8 +1,8 @@ -.\" Automatically generated from an mdoc input file. Do not edit. +.\" Automatically generated from the sudoers.mdoc.in file. Do not edit. .\" .\" SPDX-License-Identifier: ISC .\" -.\" Copyright (c) 1994-1996, 1998-2005, 2007-2023 +.\" Copyright (c) 1994-1996, 1998-2005, 2007-2024 .\" Todd C. Miller .\" .\" Permission to use, copy, modify, and distribute this software for any @@ -25,7 +25,7 @@ .nr BA @BAMAN@ .nr LC @LCMAN@ .nr PS @PSMAN@ -.TH "SUDOERS" "@mansectform@" "December 19, 2023" "Sudo @PACKAGE_VERSION@" "File Formats Manual" +.TH "SUDOERS" "@mansectform@" "July 14, 2024" "Sudo @PACKAGE_VERSION@" "File Formats Manual" .nh .if n .ad l .SH "NAME" @@ -292,6 +292,14 @@ The option can be used to select the type of time stamp record \fBsudoers\fR will use. +.PP +The +\fBtsdump\fR +utility, included with the sudo source distribution, can be used to +display the contents of a time stamp file. +See +sudoers_timestamp(@mansectform@) +for details of the time stamp file format. .SS "Logging" By default, \fBsudoers\fR @@ -3816,6 +3824,22 @@ by default. .sp This setting is only supported by version 1.8.8 or higher. .TP 18n +pam_silent +If set, PAM authentication will be performed in silent mode. +This prevents PAM authentication modules from generating output. +In some cases, this may suppress important information about why +authentication failed. +For example, PAM modules such as +\fIpam_faillock\fR +will only display a warning if +\fIpam_silent\fR +is disabled. +This flag is +\fIon\fR +by default. +.sp +This setting is only supported by version 1.8.16 or higher. +.TP 18n passprompt_override If set, the prompt specified by \fIpassprompt\fR @@ -4280,6 +4304,14 @@ user's terminal device even after the main program has finished executing. By running the command in a separate pseudo-terminal, this attack is no longer possible. +.sp +A side effect of running the command in a new pseudo-terminal is +that input will be passed to the command even if it is non-interactive. +This means that, for example, keys pressed while a non-interactive +command is running will be consumed by +\fBsudo\fR +instead of being passed to the shell after the command exits. +.sp This flag is \fIon\fR by default for @@ -4388,7 +4420,7 @@ it will \(lqroll over\(rq to zero, after which \fBsudoers\fR -will truncate and re-use any existing I/O log path names. +will truncate and reuse any existing I/O log path names. .sp This setting is only supported by version 1.8.7 or higher. .TP 18n @@ -4499,6 +4531,19 @@ option. This option is only available when sudo is built with AppArmor support. .TP 18n +cmddenial_message +.br +It set, +\fBsudo\fR +will display this message when a user is denied access to run the +specified command, but is listed in the +\fIsudoers\fR +file for the host. +This can be used to provide additional, site-specific information +to the user when a command is denied by the security policy. +It does not override the standard warning the user receives when +a command is denied. +.TP 18n authfail_message Message that is displayed after a user fails to authenticate. The message may include the @@ -5352,18 +5397,45 @@ Supported log formats are: .PD 0 .TP 6n json -Logs in JSON format. +Currently, this is an alias for +\fIjson_pretty\fR. +In a future version of +\fBsudo\fR, +\fIjson\fR +will be equivalent to +\fIjson_compact\fR. JSON log entries contain the full user details as well as the execution environment if the command was allowed. +.PD +.TP 6n +json_compact +Log events in +\(lqcompact\(rq +(minified) JSON format. +Each event is written as a separate JSON object on single line without +extraneous white space. Due to limitations of the protocol, JSON events sent via \fIsyslog\fR may be truncated. -.PD +.TP 6n +json_pretty +Log events in +\(lqpretty\(rq +JSON format. +When logging to a file, the entire file is treated as a single JSON +object consisting of multiple events, each event spanning multiple lines. +When logging via +\fIsyslog\fR, +there is no difference between the +\fIjson_pretty\fR +and +\fIjson_compact\fR +formats. .TP 6n sudo -Traditional sudo-style logs, see +Log events in traditional sudo-style format, see \fIEVENT LOGGING\fR -for a description of the log file format. +for details. .PP This setting affects logs sent via syslog(3) @@ -5576,17 +5648,37 @@ If set, will use this value in place of the user's \fRPATH\fR environment variable. -This option can be used to reset the -\fRPATH\fR -to a known good value that contains directories for system administrator -commands such as +There are two basic use cases for +\fIsecure_path\fR: +.PP +.RS 14n +.PD 0 +.TP 3n +1.\& +To make it possible for +\fBsudo\fR +to find system administrator commands located in directories that +may not be in the default user path, such as \fI/usr/sbin\fR. -.sp +.PD +.TP 3n +2.\& +To help protect scripts and programs that execute other commands without +first setting +\fRPATH\fR +to a safe value. +Otherwise, a user with limited privileges may be able to run arbitrary +commands by manipulating the +\fRPATH\fR +if the command being run executes other commands without using a +fully-qualified path name. +.PP Users in the group specified by the \fIexempt_group\fR option are not affected by \fIsecure_path\fR. -This option is @secure_path@ by default. +This option is @secure_path_status@ by default. +.RE .TP 14n syslog Syslog facility if syslog is being used for logging (negate to @@ -6757,7 +6849,7 @@ Once the I/O log sequence number reaches \fImaxseq\fR, it will be reset to zero and \fBsudoers\fR -will truncate and re-use any existing I/O logs. +will truncate and reuse any existing I/O logs. .SH "FILES" .TP 26n \fI@sysconfdir@/sudo.conf\fR @@ -7834,7 +7926,7 @@ If no terminal is present or the option is set to \(lqppid\(rq, the start time of the parent process is used instead. -In most cases this will prevent a time stamp record from being re-used +In most cases this will prevent a time stamp record from being reused without the user entering a password when logging out and back in again. .SH "DEBUGGING" Versions 1.8.4 and higher of the @@ -7958,10 +8050,12 @@ glob(3), mktemp(3), strftime(3), sudo.conf(@mansectform@), +sudo_logsrv.proto(@mansectform@), sudo_plugin(@mansectform@), sudoers.ldap(@mansectform@), sudoers_timestamp(@mansectform@), sudo(@mansectsu@), +sudo_logsrvd(@mansectsu@), visudo(@mansectsu@) .SH "AUTHORS" Many people have worked on @@ -8013,8 +8107,20 @@ option in \fIsudoers\fR. .SH "BUGS" If you believe you have found a bug in -\fBsudo\fR, -you can submit a bug report at https://bugzilla.sudo.ws/ +\fBsudoers\fR, +you can either file a bug report in the sudo bug database, +https://bugzilla.sudo.ws/, or open an issue at +https://github.com/sudo-project/sudo/issues. +If you would prefer to use email, messages may be sent to the +sudo-workers mailing list, +https://www.sudo.ws/mailman/listinfo/sudo-workers (public) +or (private). +.PP +Please not report security vulnerabilities through public GitHub +issues, Bugzilla or mailing lists. +Instead, report them via email to . +You may encrypt your message with PGP if you would like, using +the key found at https://www.sudo.ws/dist/PGPKEYS. .SH "SUPPORT" Limited free support is available via the sudo-users mailing list, see https://www.sudo.ws/mailman/listinfo/sudo-users to subscribe or diff --git a/docs/sudoers.mdoc.in b/docs/sudoers.mdoc.in index 8ec5c32ae..180f147e3 100644 --- a/docs/sudoers.mdoc.in +++ b/docs/sudoers.mdoc.in @@ -1,7 +1,7 @@ .\" .\" SPDX-License-Identifier: ISC .\" -.\" Copyright (c) 1994-1996, 1998-2005, 2007-2023 +.\" Copyright (c) 1994-1996, 1998-2005, 2007-2024 .\" Todd C. Miller .\" .\" Permission to use, copy, modify, and distribute this software for any @@ -25,7 +25,7 @@ .nr BA @BAMAN@ .nr LC @LCMAN@ .nr PS @PSMAN@ -.Dd December 19, 2023 +.Dd July 14, 2024 .Dt SUDOERS @mansectform@ .Os Sudo @PACKAGE_VERSION@ .Sh NAME @@ -280,6 +280,14 @@ The option can be used to select the type of time stamp record .Nm will use. +.Pp +The +.Nm tsdump +utility, included with the sudo source distribution, can be used to +display the contents of a time stamp file. +See +.Xr sudoers_timestamp @mansectform@ +for details of the time stamp file format. .Ss Logging By default, .Nm @@ -3615,6 +3623,21 @@ This flag is by default. .Pp This setting is only supported by version 1.8.8 or higher. +.It pam_silent +If set, PAM authentication will be performed in silent mode. +This prevents PAM authentication modules from generating output. +In some cases, this may suppress important information about why +authentication failed. +For example, PAM modules such as +.Em pam_faillock +will only display a warning if +.Em pam_silent +is disabled. +This flag is +.Em on +by default. +.Pp +This setting is only supported by version 1.8.16 or higher. .It passprompt_override If set, the prompt specified by .Em passprompt @@ -4052,6 +4075,14 @@ user's terminal device even after the main program has finished executing. By running the command in a separate pseudo-terminal, this attack is no longer possible. +.Pp +A side effect of running the command in a new pseudo-terminal is +that input will be passed to the command even if it is non-interactive. +This means that, for example, keys pressed while a non-interactive +command is running will be consumed by +.Nm sudo +instead of being passed to the shell after the command exits. +.Pp This flag is .Em on by default for @@ -4155,7 +4186,7 @@ it will .Dq roll over to zero, after which .Nm -will truncate and re-use any existing I/O log path names. +will truncate and reuse any existing I/O log path names. .Pp This setting is only supported by version 1.8.7 or higher. .It passwd_tries @@ -4263,6 +4294,17 @@ option. This option is only available when sudo is built with AppArmor support. .\} +.It cmddenial_message +It set, +.Nm sudo +will display this message when a user is denied access to run the +specified command, but is listed in the +.Em sudoers +file for the host. +This can be used to provide additional, site-specific information +to the user when a command is denied by the security policy. +It does not override the standard warning the user receives when +a command is denied. .It authfail_message Message that is displayed after a user fails to authenticate. The message may include the @@ -5027,16 +5069,41 @@ The event log format. Supported log formats are: .Bl -tag -width 4n .It json -Logs in JSON format. +Currently, this is an alias for +.Em json_pretty . +In a future version of +.Nm sudo , +.Em json +will be equivalent to +.Em json_compact . JSON log entries contain the full user details as well as the execution environment if the command was allowed. +.It json_compact +Log events in +.Dq compact +(minified) JSON format. +Each event is written as a separate JSON object on single line without +extraneous white space. Due to limitations of the protocol, JSON events sent via .Em syslog may be truncated. +.It json_pretty +Log events in +.Dq pretty +JSON format. +When logging to a file, the entire file is treated as a single JSON +object consisting of multiple events, each event spanning multiple lines. +When logging via +.Em syslog , +there is no difference between the +.Em json_pretty +and +.Em json_compact +formats. .It sudo -Traditional sudo-style logs, see +Log events in traditional sudo-style format, see .Sx "EVENT LOGGING" -for a description of the log file format. +for details. .El .Pp This setting affects logs sent via @@ -5228,17 +5295,32 @@ If set, will use this value in place of the user's .Ev PATH environment variable. -This option can be used to reset the -.Ev PATH -to a known good value that contains directories for system administrator -commands such as +There are two basic use cases for +.Em secure_path : +.Bl -enum -width 1n +.It +To make it possible for +.Nm sudo +to find system administrator commands located in directories that +may not be in the default user path, such as .Pa /usr/sbin . +.It +To help protect scripts and programs that execute other commands without +first setting +.Ev PATH +to a safe value. +Otherwise, a user with limited privileges may be able to run arbitrary +commands by manipulating the +.Ev PATH +if the command being run executes other commands without using a +fully-qualified path name. +.El .Pp Users in the group specified by the .Em exempt_group option are not affected by .Em secure_path . -This option is @secure_path@ by default. +This option is @secure_path_status@ by default. .It syslog Syslog facility if syslog is being used for logging (negate to disable syslog logging). @@ -6286,7 +6368,7 @@ Once the I/O log sequence number reaches .Em maxseq , it will be reset to zero and .Nm -will truncate and re-use any existing I/O logs. +will truncate and reuse any existing I/O logs. .Sh FILES .Bl -tag -width 24n .It Pa @sysconfdir@/sudo.conf @@ -7266,7 +7348,7 @@ If no terminal is present or the option is set to .Dq ppid , the start time of the parent process is used instead. -In most cases this will prevent a time stamp record from being re-used +In most cases this will prevent a time stamp record from being reused without the user entering a password when logging out and back in again. .Sh DEBUGGING Versions 1.8.4 and higher of the @@ -7371,10 +7453,12 @@ manual. .Xr mktemp 3 , .Xr strftime 3 , .Xr sudo.conf @mansectform@ , +.Xr sudo_logsrv.proto @mansectform@ , .Xr sudo_plugin @mansectform@ , .Xr sudoers.ldap @mansectform@ , .Xr sudoers_timestamp @mansectform@ , .Xr sudo @mansectsu@ , +.Xr sudo_logsrvd @mansectsu@ , .Xr visudo @mansectsu@ .Sh AUTHORS Many people have worked on @@ -7425,8 +7509,20 @@ option in .Em sudoers . .Sh BUGS If you believe you have found a bug in -.Nm sudo , -you can submit a bug report at https://bugzilla.sudo.ws/ +.Nm , +you can either file a bug report in the sudo bug database, +https://bugzilla.sudo.ws/, or open an issue at +https://github.com/sudo-project/sudo/issues. +If you would prefer to use email, messages may be sent to the +sudo-workers mailing list, +https://www.sudo.ws/mailman/listinfo/sudo-workers (public) +or (private). +.Pp +Please not report security vulnerabilities through public GitHub +issues, Bugzilla or mailing lists. +Instead, report them via email to . +You may encrypt your message with PGP if you would like, using +the key found at https://www.sudo.ws/dist/PGPKEYS. .Sh SUPPORT Limited free support is available via the sudo-users mailing list, see https://www.sudo.ws/mailman/listinfo/sudo-users to subscribe or diff --git a/docs/sudoers_timestamp.man.in b/docs/sudoers_timestamp.man.in index 92564025b..577162829 100644 --- a/docs/sudoers_timestamp.man.in +++ b/docs/sudoers_timestamp.man.in @@ -1,4 +1,4 @@ -.\" Automatically generated from an mdoc input file. Do not edit. +.\" Automatically generated from the sudoers_timestamp.mdoc.in file. Do not edit. .\" .\" SPDX-License-Identifier: ISC .\" @@ -16,7 +16,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.TH "SUDOERS_TIMESTAMP" "@mansectform@" "September 20, 2023" "Sudo @PACKAGE_VERSION@" "File Formats Manual" +.TH "SUDOERS_TIMESTAMP" "@mansectform@" "November 26, 2023" "Sudo @PACKAGE_VERSION@" "File Formats Manual" .nh .if n .ad l .SH "NAME" @@ -60,14 +60,14 @@ Time stamp records have the following structure: .sp .RS 0n /* Time stamp entry types */ -#define TS_GLOBAL 0x01 /* not restricted by tty or ppid */ -#define TS_TTY 0x02 /* restricted by tty */ -#define TS_PPID 0x03 /* restricted by ppid */ -#define TS_LOCKEXCL 0x04 /* special lock record */ +#define TS_GLOBAL 0x01U /* not restricted by tty or ppid */ +#define TS_TTY 0x02U /* restricted by tty */ +#define TS_PPID 0x03U /* restricted by ppid */ +#define TS_LOCKEXCL 0x04U /* special lock record */ /* Time stamp flags */ -#define TS_DISABLED 0x01 /* entry disabled */ -#define TS_ANYUID 0x02 /* ignore uid, only valid in key */ +#define TS_DISABLED 0x01U /* entry disabled */ +#define TS_ANYUID 0x02U /* ignore uid, only valid in key */ struct timestamp_entry { unsigned short version; /* version number */ @@ -138,7 +138,7 @@ or of the parent process for records of type \fRTS_PPID\fR. The \fIstart_time\fR -is used to help prevent re-use of a time stamp record after a +is used to help prevent reuse of a time stamp record after a user has logged out. Not all systems support a method to easily retrieve a process's start time. @@ -174,6 +174,13 @@ records of type u.ppid The ID of the parent process for records of type \fRTS_PPID\fR. +.PP +The +\fBtsdump\fR +utility, included with the sudo source distribution, can be used to +display the contents of a +\fIsudoers\fR +time stamp file. .SH "LOCKING" In \fBsudoers\fR @@ -250,13 +257,13 @@ Information about the terminal device was stored in tty-based time stamp files for validity checks. This included the terminal device numbers, inode number and, on systems where it was not updated when the device was written to, the inode change time. -This helped prevent re-use of the time stamp file after logout. +This helped prevent reuse of the time stamp file after logout. .TP 6n 1.8.6p7 The terminal session ID was added to tty-based time stamp files to -prevent re-use of the time stamp by the same user in a different +prevent reuse of the time stamp by the same user in a different terminal session. -It also helped prevent re-use of the time stamp file on systems where +It also helped prevent reuse of the time stamp file on systems where the terminal device's inode change time was updated by writing. .TP 6n 1.8.10 @@ -273,7 +280,7 @@ entire file and the lock is held until authentication is complete. 1.8.22 The start time of the terminal session leader or parent process is now stored in non-global time stamp records. -This prevents re-use of the time stamp file after logout in most cases. +This prevents reuse of the time stamp file after logout in most cases. .sp Support was added for the kernel-based tty time stamps available in OpenBSD @@ -300,8 +307,20 @@ exhaustive list of people who have contributed to \fBsudo\fR. .SH "BUGS" If you believe you have found a bug in -\fBsudo\fR, -you can submit a bug report at https://bugzilla.sudo.ws/ +\fBsudoers_timestamp\fR, +you can either file a bug report in the sudo bug database, +https://bugzilla.sudo.ws/, or open an issue at +https://github.com/sudo-project/sudo/issues. +If you would prefer to use email, messages may be sent to the +sudo-workers mailing list, +https://www.sudo.ws/mailman/listinfo/sudo-workers (public) +or (private). +.PP +Please not report security vulnerabilities through public GitHub +issues, Bugzilla or mailing lists. +Instead, report them via email to . +You may encrypt your message with PGP if you would like, using +the key found at https://www.sudo.ws/dist/PGPKEYS. .SH "SUPPORT" Limited free support is available via the sudo-users mailing list, see https://www.sudo.ws/mailman/listinfo/sudo-users to subscribe or diff --git a/docs/sudoers_timestamp.mdoc.in b/docs/sudoers_timestamp.mdoc.in index cc0ea9b23..82ca702b7 100644 --- a/docs/sudoers_timestamp.mdoc.in +++ b/docs/sudoers_timestamp.mdoc.in @@ -15,7 +15,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd September 20, 2023 +.Dd November 26, 2023 .Dt SUDOERS_TIMESTAMP @mansectform@ .Os Sudo @PACKAGE_VERSION@ .Sh NAME @@ -58,14 +58,14 @@ number and a 16-bit record size. Time stamp records have the following structure: .Bd -literal /* Time stamp entry types */ -#define TS_GLOBAL 0x01 /* not restricted by tty or ppid */ -#define TS_TTY 0x02 /* restricted by tty */ -#define TS_PPID 0x03 /* restricted by ppid */ -#define TS_LOCKEXCL 0x04 /* special lock record */ +#define TS_GLOBAL 0x01U /* not restricted by tty or ppid */ +#define TS_TTY 0x02U /* restricted by tty */ +#define TS_PPID 0x03U /* restricted by ppid */ +#define TS_LOCKEXCL 0x04U /* special lock record */ /* Time stamp flags */ -#define TS_DISABLED 0x01 /* entry disabled */ -#define TS_ANYUID 0x02 /* ignore uid, only valid in key */ +#define TS_DISABLED 0x01U /* entry disabled */ +#define TS_ANYUID 0x02U /* ignore uid, only valid in key */ struct timestamp_entry { unsigned short version; /* version number */ @@ -128,7 +128,7 @@ or of the parent process for records of type .Dv TS_PPID . The .Em start_time -is used to help prevent re-use of a time stamp record after a +is used to help prevent reuse of a time stamp record after a user has logged out. Not all systems support a method to easily retrieve a process's start time. @@ -162,6 +162,13 @@ records of type The ID of the parent process for records of type .Dv TS_PPID . .El +.Pp +The +.Nm tsdump +utility, included with the sudo source distribution, can be used to +display the contents of a +.Em sudoers +time stamp file. .Sh LOCKING In .Nm sudoers @@ -232,12 +239,12 @@ Information about the terminal device was stored in tty-based time stamp files for validity checks. This included the terminal device numbers, inode number and, on systems where it was not updated when the device was written to, the inode change time. -This helped prevent re-use of the time stamp file after logout. +This helped prevent reuse of the time stamp file after logout. .It 1.8.6p7 The terminal session ID was added to tty-based time stamp files to -prevent re-use of the time stamp by the same user in a different +prevent reuse of the time stamp by the same user in a different terminal session. -It also helped prevent re-use of the time stamp file on systems where +It also helped prevent reuse of the time stamp file on systems where the terminal device's inode change time was updated by writing. .It 1.8.10 A new, multi-record time stamp file format was introduced that uses a @@ -251,7 +258,7 @@ entire file and the lock is held until authentication is complete. .It 1.8.22 The start time of the terminal session leader or parent process is now stored in non-global time stamp records. -This prevents re-use of the time stamp file after logout in most cases. +This prevents reuse of the time stamp file after logout in most cases. .Pp Support was added for the kernel-based tty time stamps available in .Ox @@ -277,8 +284,20 @@ exhaustive list of people who have contributed to .Nm sudo . .Sh BUGS If you believe you have found a bug in -.Nm sudo , -you can submit a bug report at https://bugzilla.sudo.ws/ +.Nm , +you can either file a bug report in the sudo bug database, +https://bugzilla.sudo.ws/, or open an issue at +https://github.com/sudo-project/sudo/issues. +If you would prefer to use email, messages may be sent to the +sudo-workers mailing list, +https://www.sudo.ws/mailman/listinfo/sudo-workers (public) +or (private). +.Pp +Please not report security vulnerabilities through public GitHub +issues, Bugzilla or mailing lists. +Instead, report them via email to . +You may encrypt your message with PGP if you would like, using +the key found at https://www.sudo.ws/dist/PGPKEYS. .Sh SUPPORT Limited free support is available via the sudo-users mailing list, see https://www.sudo.ws/mailman/listinfo/sudo-users to subscribe or diff --git a/docs/sudoreplay.man.in b/docs/sudoreplay.man.in index 73dbd52f9..7fa74f1dc 100644 --- a/docs/sudoreplay.man.in +++ b/docs/sudoreplay.man.in @@ -1,4 +1,4 @@ -.\" Automatically generated from an mdoc input file. Do not edit. +.\" Automatically generated from the sudoreplay.mdoc.in file. Do not edit. .\" .\" SPDX-License-Identifier: ISC .\" @@ -170,7 +170,7 @@ In this mode, will list available sessions in a format similar to the \fBsudo\fR log file format, sorted by file name (or sequence number). -Any control characters present in the log data are formated in octal +Any control characters present in the log data are formatted in octal with a leading \(oq#\(cq character. @@ -178,6 +178,7 @@ For example, a horizontal tab is displayed as \(oq#011\(cq and an embedded carriage return is displayed as \(oq#015\(cq. +Space characters in the command name and arguments are also formatted in octal. .sp If a \fIsearch expression\fR @@ -517,7 +518,19 @@ exhaustive list of people who have contributed to .SH "BUGS" If you believe you have found a bug in \fBsudoreplay\fR, -you can submit a bug report at https://bugzilla.sudo.ws/ +you can either file a bug report in the sudo bug database, +https://bugzilla.sudo.ws/, or open an issue at +https://github.com/sudo-project/sudo/issues. +If you would prefer to use email, messages may be sent to the +sudo-workers mailing list, +https://www.sudo.ws/mailman/listinfo/sudo-workers (public) +or (private). +.PP +Please not report security vulnerabilities through public GitHub +issues, Bugzilla or mailing lists. +Instead, report them via email to . +You may encrypt your message with PGP if you would like, using +the key found at https://www.sudo.ws/dist/PGPKEYS. .SH "SUPPORT" Limited free support is available via the sudo-users mailing list, see https://www.sudo.ws/mailman/listinfo/sudo-users to subscribe or diff --git a/docs/sudoreplay.mdoc.in b/docs/sudoreplay.mdoc.in index 005cf1f7f..7db1b3e00 100644 --- a/docs/sudoreplay.mdoc.in +++ b/docs/sudoreplay.mdoc.in @@ -460,7 +460,19 @@ exhaustive list of people who have contributed to .Sh BUGS If you believe you have found a bug in .Nm , -you can submit a bug report at https://bugzilla.sudo.ws/ +you can either file a bug report in the sudo bug database, +https://bugzilla.sudo.ws/, or open an issue at +https://github.com/sudo-project/sudo/issues. +If you would prefer to use email, messages may be sent to the +sudo-workers mailing list, +https://www.sudo.ws/mailman/listinfo/sudo-workers (public) +or (private). +.Pp +Please not report security vulnerabilities through public GitHub +issues, Bugzilla or mailing lists. +Instead, report them via email to . +You may encrypt your message with PGP if you would like, using +the key found at https://www.sudo.ws/dist/PGPKEYS. .Sh SUPPORT Limited free support is available via the sudo-users mailing list, see https://www.sudo.ws/mailman/listinfo/sudo-users to subscribe or diff --git a/docs/visudo.man.in b/docs/visudo.man.in index 0bad13635..d1da3ad70 100644 --- a/docs/visudo.man.in +++ b/docs/visudo.man.in @@ -1,4 +1,4 @@ -.\" Automatically generated from an mdoc input file. Do not edit. +.\" Automatically generated from the visudo.mdoc.in file. Do not edit. .\" .\" SPDX-License-Identifier: ISC .\" @@ -531,7 +531,19 @@ allows shell escapes. .SH "BUGS" If you believe you have found a bug in \fBvisudo\fR, -you can submit a bug report at https://bugzilla.sudo.ws/ +you can either file a bug report in the sudo bug database, +https://bugzilla.sudo.ws/, or open an issue at +https://github.com/sudo-project/sudo/issues. +If you would prefer to use email, messages may be sent to the +sudo-workers mailing list, +https://www.sudo.ws/mailman/listinfo/sudo-workers (public) +or (private). +.PP +Please not report security vulnerabilities through public GitHub +issues, Bugzilla or mailing lists. +Instead, report them via email to . +You may encrypt your message with PGP if you would like, using +the key found at https://www.sudo.ws/dist/PGPKEYS. .SH "SUPPORT" Limited free support is available via the sudo-users mailing list, see https://www.sudo.ws/mailman/listinfo/sudo-users to subscribe or diff --git a/docs/visudo.mdoc.in b/docs/visudo.mdoc.in index f91430d34..6bcc2c86e 100644 --- a/docs/visudo.mdoc.in +++ b/docs/visudo.mdoc.in @@ -508,7 +508,19 @@ allows shell escapes. .Sh BUGS If you believe you have found a bug in .Nm , -you can submit a bug report at https://bugzilla.sudo.ws/ +you can either file a bug report in the sudo bug database, +https://bugzilla.sudo.ws/, or open an issue at +https://github.com/sudo-project/sudo/issues. +If you would prefer to use email, messages may be sent to the +sudo-workers mailing list, +https://www.sudo.ws/mailman/listinfo/sudo-workers (public) +or (private). +.Pp +Please not report security vulnerabilities through public GitHub +issues, Bugzilla or mailing lists. +Instead, report them via email to . +You may encrypt your message with PGP if you would like, using +the key found at https://www.sudo.ws/dist/PGPKEYS. .Sh SUPPORT Limited free support is available via the sudo-users mailing list, see https://www.sudo.ws/mailman/listinfo/sudo-users to subscribe or diff --git a/etc/codespell.exclude b/etc/codespell.exclude index b89f656b3..c8c5a6f1c 100644 --- a/etc/codespell.exclude +++ b/etc/codespell.exclude @@ -1,4 +1,4 @@ - "You empty-headed animal food trough wiper!", + N_("You empty-headed animal food trough wiper!"), * Returns true if any tags set in nt differ between ot and nt, else false. #define TAGS_CHANGED(ot, nt) \ ((TAG_SET((nt).follow) && (nt).follow != (ot).follow) || \ @@ -33,3 +33,4 @@ * Tim Fraser echo ".Nd sudo" >> conftest * as per FIPS 180-4: Secure Hash Standard (SHS) + { "wast", tZONE, -HOUR(7) }, /* West Australian Standard */ diff --git a/etc/sudo-logsrvd.pp b/etc/sudo-logsrvd.pp index dd65f510d..27f5b35d5 100644 --- a/etc/sudo-logsrvd.pp +++ b/etc/sudo-logsrvd.pp @@ -5,7 +5,7 @@ from sudo clients. This makes it possible to have all sudo I/O logs on a central server." vendor="Todd C. Miller" - copyright="(c) 2019-2021 Todd C. Miller" + copyright="Copyright 2019-2024 Todd C. Miller" %if [aix] # Convert to 4 part version for AIX, including patch level @@ -261,7 +261,7 @@ This makes it possible to have all sudo I/O logs on a central server." pp_systemd_service_exec_args="-n" pp_systemd_service_man="man:sudo_logsrvd(8) man:sudo_logsrvd.conf(5)" pp_systemd_service_documentation="https://www.sudo.ws/man.html" - pp_systemd_service_after="syslog.target network.target auditd.service" + pp_systemd_service_after="network.target auditd.service" pp_systemd_service_killmode="process" pp_systemd_service_type="exec" pp_systemd_system_target="multi-user.target" diff --git a/etc/sudo-python.pp b/etc/sudo-python.pp index 098741d93..3faf55cd2 100644 --- a/etc/sudo-python.pp +++ b/etc/sudo-python.pp @@ -3,7 +3,7 @@ summary="Sudo Python plugin framework" description="The sudo Python plugin allows you to extend sudo using Python." vendor="Todd C. Miller" - copyright="(c) 2019-2021 Todd C. Miller" + copyright="Copyright 2019-2024 Todd C. Miller" %if [aix] # Convert to 4 part version for AIX, including patch level diff --git a/etc/sudo.pp b/etc/sudo.pp index 9abc26b0e..3e323c67a 100644 --- a/etc/sudo.pp +++ b/etc/sudo.pp @@ -10,7 +10,7 @@ limited root privileges to users and log root activity. \ The basic philosophy is to give as few privileges as possible but \ still allow people to get their work done." vendor="Todd C. Miller" - copyright="(c) 1993-1996,1998-2021 Todd C. Miller" + copyright="Copyright 1994-1996,1998-2024 Todd C. Miller" sudoedit_man=`echo ${pp_destdir}$mandir/*/sudoedit.*|sed "s:^${pp_destdir}::"` sudoedit_man_target=`basename $sudoedit_man | sed 's/edit//'` diff --git a/include/compat/glob.h b/include/compat/glob.h index 7c06a2e80..9c68c9948 100644 --- a/include/compat/glob.h +++ b/include/compat/glob.h @@ -69,7 +69,7 @@ typedef struct { #define GLOB_NOMATCH (-3) /* No match and GLOB_NOCHECK not set. */ #define GLOB_NOSYS (-4) /* Function not supported. */ -sudo_dso_public int sudo_glob(const char *, int, int (*)(const char *, int), glob_t *); +sudo_dso_public int sudo_glob(const char * restrict, int, int (*)(const char *, int), glob_t * restrict); sudo_dso_public void sudo_globfree(glob_t *); #define glob(_a, _b, _c, _d) sudo_glob((_a), (_b), (_c), (_d)) diff --git a/include/sudo_compat.h b/include/sudo_compat.h index c7181820a..a26a57571 100644 --- a/include/sudo_compat.h +++ b/include/sudo_compat.h @@ -28,6 +28,9 @@ #include /* to avoid problems with mismatched headers and libc */ #include /* to avoid problems with mismatched headers and libc */ #include +#if !defined(HAVE_UTIMENSAT) || !defined(HAVE_FUTIMENS) +# include +#endif #if !defined(HAVE_VSNPRINTF) || !defined(HAVE_VASPRINTF) || \ !defined(HAVE_VSYSLOG) || defined(PREFER_PORTABLE_SNPRINTF) # include @@ -347,7 +350,7 @@ sudo_dso_public ssize_t sudo_getdelim(char ** restrict bufp, size_t * restrict b # define getdelim(_a, _b, _c, _d) sudo_getdelim((_a), (_b), (_c), (_d)) #elif defined(HAVE_DECL_GETDELIM) && !HAVE_DECL_GETDELIM /* getdelim present in libc but missing prototype (old gcc fixed includes?) */ -ssize_t getdelim(char **bufp, size_t *bufsizep, int delim, FILE *fp); +ssize_t getdelim(char ** restrict bufp, size_t * restrict bufsizep, int delim, FILE * restrict fp); #endif /* HAVE_GETDELIM */ #ifndef HAVE_GETUSERSHELL sudo_dso_public char *sudo_getusershell(void); @@ -366,12 +369,12 @@ void setusershell(void); void endusershell(void); #endif /* HAVE_GETUSERSHELL */ #ifndef HAVE_GMTIME_R -sudo_dso_public struct tm *sudo_gmtime_r(const time_t *, struct tm *); +sudo_dso_public struct tm *sudo_gmtime_r(const time_t * restrict, struct tm * restrict); # undef gmtime_r # define gmtime_r(_a, _b) sudo_gmtime_r((_a), (_b)) #endif /* HAVE_GMTIME_R */ #ifndef HAVE_LOCALTIME_R -sudo_dso_public struct tm *sudo_localtime_r(const time_t *, struct tm *); +sudo_dso_public struct tm *sudo_localtime_r(const time_t * restrict, struct tm * restrict); # undef localtime_r # define localtime_r(_a, _b) sudo_localtime_r((_a), (_b)) #endif /* HAVE_LOCALTIME_R */ @@ -379,7 +382,7 @@ sudo_dso_public struct tm *sudo_localtime_r(const time_t *, struct tm *); sudo_dso_public time_t sudo_timegm(struct tm *); #endif /* HAVE_TIMEGM */ #ifndef HAVE_UTIMENSAT -sudo_dso_public int sudo_utimensat(int fd, const char *file, const struct timespec *times, int flag); +sudo_dso_public int sudo_utimensat(int fd, const char *file, const struct timespec times[2], int flag); # undef utimensat # define utimensat(_a, _b, _c, _d) sudo_utimensat((_a), (_b), (_c), (_d)) #endif /* HAVE_UTIMENSAT */ @@ -389,12 +392,12 @@ sudo_dso_public int sudo_fchmodat(int dfd, const char *path, mode_t mode, int fl # define fchmodat(_a, _b, _c, _d) sudo_fchmodat((_a), (_b), (_c), (_d)) #endif /* HAVE_FCHMODAT */ #ifndef HAVE_FSTATAT -sudo_dso_public int sudo_fstatat(int dfd, const char *path, struct stat *sb, int flag); +sudo_dso_public int sudo_fstatat(int dfd, const char * restrict path, struct stat * restrict sb, int flag); # undef fstatat # define fstatat(_a, _b, _c, _d) sudo_fstatat((_a), (_b), (_c), (_d)) #endif /* HAVE_FSTATAT */ #ifndef HAVE_FUTIMENS -sudo_dso_public int sudo_futimens(int fd, const struct timespec *times); +sudo_dso_public int sudo_futimens(int fd, const struct timespec times[2]); # undef futimens # define futimens(_a, _b) sudo_futimens((_a), (_b)) #endif /* HAVE_FUTIMENS */ @@ -508,12 +511,12 @@ sudo_dso_public int sudo_str2sig(const char *signame, int *signum); # define str2sig(_a, _b) sudo_str2sig((_a), (_b)) #endif /* HAVE_STR2SIG */ #if !defined(HAVE_INET_NTOP) && defined(NEED_INET_NTOP) -sudo_dso_public char *sudo_inet_ntop(int af, const void *src, char *dst, socklen_t size); +sudo_dso_public const char *sudo_inet_ntop(int af, const void * restrict src, char * restrict dst, socklen_t size); # undef inet_ntop # define inet_ntop(_a, _b, _c, _d) sudo_inet_ntop((_a), (_b), (_c), (_d)) #endif /* HAVE_INET_NTOP */ #ifndef HAVE_INET_PTON -sudo_dso_public int sudo_inet_pton(int af, const char *src, void *dst); +sudo_dso_public int sudo_inet_pton(int af, const char * restrict src, void * restrict dst); # undef inet_pton # define inet_pton(_a, _b, _c) sudo_inet_pton((_a), (_b), (_c)) #endif /* HAVE_INET_PTON */ diff --git a/include/sudo_debug.h b/include/sudo_debug.h index b8b2d6c78..09f3bff98 100644 --- a/include/sudo_debug.h +++ b/include/sudo_debug.h @@ -153,6 +153,13 @@ struct sudo_conf_debug_file_list; "<- %s @ %s:%d := %ld", (_func), (_file), (_line), (_ret)); \ } while (0) +# define sudo_debug_exit_dev_t(_func, _file, _line, _sys, _ret) \ + do { \ + sudo_debug_printf2(NULL, NULL, 0, (_sys) | SUDO_DEBUG_TRACE, \ + "<- %s @ %s:%d := %lu", (_func), (_file), (_line), \ + (unsigned long)(_ret)); \ + } while (0) + # if SIZEOF_ID_T == 8 # define sudo_debug_exit_id_t(_func, _file, _line, _sys, _ret) \ do { \ @@ -231,6 +238,7 @@ struct sudo_conf_debug_file_list; # define sudo_debug_exit_int(_a, _b, _c, _d, _e) ((void)&(_d)) # define sudo_debug_exit_uint(_a, _b, _c, _d, _e) ((void)&(_d)) # define sudo_debug_exit_long(_a, _b, _c, _d, _e) ((void)&(_d)) +# define sudo_debug_exit_dev_t(_a, _b, _c, _d, _e) ((void)&(_d)) # define sudo_debug_exit_id_t(_a, _b, _c, _d, _e) ((void)&(_d)) # define sudo_debug_exit_size_t(_a, _b, _c, _d, _e) ((void)&(_d)) # define sudo_debug_exit_ssize_t(_a, _b, _c, _d, _e) ((void)&(_d)) @@ -267,6 +275,14 @@ struct sudo_conf_debug_file_list; return sudo_debug_ret; \ } while (0) +#define debug_return_dev_t(ret) \ + do { \ + dev_t sudo_debug_ret = (ret); \ + sudo_debug_exit_dev_t(__func__, __FILE__, __LINE__, sudo_debug_subsys,\ + sudo_debug_ret); \ + return sudo_debug_ret; \ + } while (0) + #define debug_return_id_t(ret) \ do { \ id_t sudo_debug_ret = (ret); \ diff --git a/include/sudo_eventlog.h b/include/sudo_eventlog.h index d19a095dd..eb9f4f4a8 100644 --- a/include/sudo_eventlog.h +++ b/include/sudo_eventlog.h @@ -43,7 +43,8 @@ enum event_type { /* Supported eventlog formats. */ enum eventlog_format { EVLOG_SUDO, - EVLOG_JSON + EVLOG_JSON_COMPACT, + EVLOG_JSON_PRETTY }; /* Eventlog flag values. */ @@ -114,7 +115,7 @@ struct eventlog { char **runargv; char **runenv; char **env_add; - struct timespec submit_time; + struct timespec event_time; struct timespec iolog_offset; struct timespec run_time; int exit_value; diff --git a/include/sudo_iolog.h b/include/sudo_iolog.h index 052fcf355..c2ae00c57 100644 --- a/include/sudo_iolog.h +++ b/include/sudo_iolog.h @@ -94,7 +94,7 @@ struct iolog_file { struct iolog_path_escape { const char *name; - size_t (*copy_fn)(char *, size_t, void *); + size_t (*copy_fn)(char * restrict, size_t, void * restrict ); }; /* host_port.c */ diff --git a/include/sudo_plugin.h b/include/sudo_plugin.h index 81a68aaf0..4a68f4692 100644 --- a/include/sudo_plugin.h +++ b/include/sudo_plugin.h @@ -21,7 +21,7 @@ /* API version major/minor */ #define SUDO_API_VERSION_MAJOR 1 -#define SUDO_API_VERSION_MINOR 21 +#define SUDO_API_VERSION_MINOR 22 #define SUDO_API_MKVERSION(x, y) (((x) << 16) | (y)) #define SUDO_API_VERSION SUDO_API_MKVERSION(SUDO_API_VERSION_MAJOR, SUDO_API_VERSION_MINOR) diff --git a/include/sudo_util.h b/include/sudo_util.h index d534d40b1..85c6380b5 100644 --- a/include/sudo_util.h +++ b/include/sudo_util.h @@ -195,7 +195,7 @@ sudo_dso_public int sudo_getgrouplist2_v1(const char *name, gid_t basegid, GETGR #define sudo_getgrouplist2(_a, _b, _c, _d) sudo_getgrouplist2_v1((_a), (_b), (_c), (_d)) /* hexchar.c */ -sudo_dso_public int sudo_hexchar_v1(const char *s); +sudo_dso_public int sudo_hexchar_v1(const char s[restrict static 2]); #define sudo_hexchar(_a) sudo_hexchar_v1(_a) /* key_val.c */ @@ -242,7 +242,7 @@ sudo_dso_public int sudo_mmap_protect_v1(void *ptr); #define sudo_mmap_protect(_a) sudo_mmap_protect_v1(_a) /* multiarch.c */ -sudo_dso_public char *sudo_stat_multiarch_v1(const char *path, struct stat *sb); +sudo_dso_public char *sudo_stat_multiarch_v1(const char * restrict path, struct stat * restrict sb); #define sudo_stat_multiarch(_a, _b) sudo_stat_multiarch_v1((_a), (_b)) /* parseln.c */ @@ -350,9 +350,9 @@ sudo_dso_public void sudo_get_ttysize_v2(int fd, int *rowp, int *colp); #define sudo_get_ttysize(_a, _b, _c) sudo_get_ttysize_v2((_a), (_b), (_c)) /* uuid.c */ -sudo_dso_public void sudo_uuid_create_v1(unsigned char uuid_out[16]); +sudo_dso_public void sudo_uuid_create_v1(unsigned char uuid_out[restrict static 16]); #define sudo_uuid_create(_a) sudo_uuid_create_v1((_a)) -sudo_dso_public char *sudo_uuid_to_string_v1(unsigned char uuid[16], char *dst, size_t dstsiz); +sudo_dso_public char *sudo_uuid_to_string_v1(const unsigned char uuid[restrict static 16], char * restrict dst, size_t dstsiz); #define sudo_uuid_to_string(_a, _b, _c) sudo_uuid_to_string_v1((_a), (_b), (_c)) #endif /* SUDO_UTIL_H */ diff --git a/lib/eventlog/Makefile.in b/lib/eventlog/Makefile.in index 8bfd95944..a52dc98a3 100644 --- a/lib/eventlog/Makefile.in +++ b/lib/eventlog/Makefile.in @@ -1,7 +1,7 @@ # # SPDX-License-Identifier: ISC # -# Copyright (c) 2020-2023 Todd C. Miller +# Copyright (c) 2020-2024 Todd C. Miller # # Permission to use, copy, modify, and distribute this software for any # purpose with or without fee is hereby granted, provided that the above @@ -32,6 +32,7 @@ incdir = $(top_srcdir)/include # Compiler & tools to use CC = @CC@ +CPP = @CPP@ LIBTOOL = @LIBTOOL@ EGREP = @EGREP@ SED = @SED@ @@ -117,7 +118,7 @@ Makefile: $(srcdir)/Makefile.in $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $< .c.i: - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $< > $@ .i.plog: ifile=$<; rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $${ifile%i}c --i-file $< --output-file $@ @@ -223,9 +224,9 @@ check_parse_json.i: $(srcdir)/regress/parse_json/check_parse_json.c \ $(incdir)/sudo_json.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ $(srcdir)/parse_json.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/parse_json/check_parse_json.c > $@ check_parse_json.plog: check_parse_json.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/parse_json/check_parse_json.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/parse_json/check_parse_json.c --i-file check_parse_json.i --output-file $@ check_wrap.lo: $(srcdir)/regress/logwrap/check_wrap.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ @@ -237,9 +238,9 @@ check_wrap.i: $(srcdir)/regress/logwrap/check_wrap.c \ $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/logwrap/check_wrap.c > $@ check_wrap.plog: check_wrap.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/logwrap/check_wrap.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/logwrap/check_wrap.c --i-file check_wrap.i --output-file $@ eventlog.lo: $(srcdir)/eventlog.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ @@ -255,9 +256,9 @@ eventlog.i: $(srcdir)/eventlog.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_lbuf.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/eventlog.c > $@ eventlog.plog: eventlog.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/eventlog.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/eventlog.c --i-file eventlog.i --output-file $@ eventlog_conf.lo: $(srcdir)/eventlog_conf.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ @@ -273,9 +274,9 @@ eventlog_conf.i: $(srcdir)/eventlog_conf.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/eventlog_conf.c > $@ eventlog_conf.plog: eventlog_conf.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/eventlog_conf.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/eventlog_conf.c --i-file eventlog_conf.i --output-file $@ eventlog_free.lo: $(srcdir)/eventlog_free.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_eventlog.h $(incdir)/sudo_queue.h \ @@ -285,9 +286,9 @@ eventlog_free.i: $(srcdir)/eventlog_free.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_eventlog.h $(incdir)/sudo_queue.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/eventlog_free.c > $@ eventlog_free.plog: eventlog_free.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/eventlog_free.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/eventlog_free.c --i-file eventlog_free.i --output-file $@ logwrap.lo: $(srcdir)/logwrap.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_eventlog.h $(incdir)/sudo_queue.h \ @@ -297,9 +298,9 @@ logwrap.i: $(srcdir)/logwrap.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_eventlog.h $(incdir)/sudo_queue.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/logwrap.c > $@ logwrap.plog: logwrap.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/logwrap.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/logwrap.c --i-file logwrap.i --output-file $@ parse_json.lo: $(srcdir)/parse_json.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ @@ -315,9 +316,9 @@ parse_json.i: $(srcdir)/parse_json.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ $(incdir)/sudo_util.h $(srcdir)/parse_json.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/parse_json.c > $@ parse_json.plog: parse_json.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/parse_json.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/parse_json.c --i-file parse_json.i --output-file $@ store_json_test.lo: $(srcdir)/regress/eventlog_store/store_json_test.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ @@ -331,9 +332,9 @@ store_json_test.i: $(srcdir)/regress/eventlog_store/store_json_test.c \ $(incdir)/sudo_json.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ $(srcdir)/parse_json.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/eventlog_store/store_json_test.c > $@ store_json_test.plog: store_json_test.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/eventlog_store/store_json_test.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/eventlog_store/store_json_test.c --i-file store_json_test.i --output-file $@ store_sudo_test.lo: $(srcdir)/regress/eventlog_store/store_sudo_test.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ @@ -345,6 +346,6 @@ store_sudo_test.i: $(srcdir)/regress/eventlog_store/store_sudo_test.c \ $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ $(incdir)/sudo_lbuf.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/eventlog_store/store_sudo_test.c > $@ store_sudo_test.plog: store_sudo_test.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/eventlog_store/store_sudo_test.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/eventlog_store/store_sudo_test.c --i-file store_sudo_test.i --output-file $@ diff --git a/lib/eventlog/eventlog.c b/lib/eventlog/eventlog.c index ab2722772..5d4a83262 100644 --- a/lib/eventlog/eventlog.c +++ b/lib/eventlog/eventlog.c @@ -264,7 +264,7 @@ closefrom_nodebug(int lowfd) /* Close fds [lowfd, startfd) that are not in debug_fds. */ for (fd = lowfd; fd < startfd; fd++) { - if (sudo_isset(debug_fds, fd)) + if (fd < 0 || sudo_isset(debug_fds, fd)) continue; sudo_debug_printf(SUDO_DEBUG_DEBUG|SUDO_DEBUG_LINENO, "closing fd %d", fd); @@ -620,7 +620,7 @@ oom: /* * Store the contents of struct eventlog as JSON. - * The submit_time and iolog_path members are not stored, they should + * The event_time and iolog_path members are not stored, they should * be stored and formatted by the caller. */ bool @@ -638,7 +638,7 @@ eventlog_store_json(struct json_container *jsonc, const struct eventlog *evlog) /* * The most important values are written first in case * the log record gets truncated. - * Note: submit_time and iolog_path are not stored here. + * Note: event_time and iolog_path are not stored here. */ json_value.type = JSON_STRING; @@ -1130,7 +1130,8 @@ do_syslog(int event_type, int flags, struct eventlog_args *args, case EVLOG_SUDO: ret = do_syslog_sudo(pri, lbuf.buf, evlog); break; - case EVLOG_JSON: + case EVLOG_JSON_COMPACT: + case EVLOG_JSON_PRETTY: ret = do_syslog_json(pri, event_type, args, evlog); break; default: @@ -1205,11 +1206,12 @@ done: } static bool -do_logfile_json(int event_type, struct eventlog_args *args, - const struct eventlog *evlog) +do_logfile_json(enum eventlog_format format, int event_type, + struct eventlog_args *args, const struct eventlog *evlog) { const struct eventlog_config *evl_conf = eventlog_getconf(); const char *logfile = evl_conf->logpath; + const bool compact = format == EVLOG_JSON_COMPACT; struct stat sb; char *json_str; int ret = false; @@ -1219,7 +1221,7 @@ do_logfile_json(int event_type, struct eventlog_args *args, if ((fp = evl_conf->open_log(EVLOG_FILE, logfile)) == NULL) debug_return_bool(false); - json_str = format_json(event_type, args, evlog, false); + json_str = format_json(event_type, args, evlog, compact); if (json_str == NULL) goto done; @@ -1229,25 +1231,32 @@ do_logfile_json(int event_type, struct eventlog_args *args, goto done; } - /* Note: assumes file ends in "\n}\n" */ - if (fstat(fileno(fp), &sb) == -1) { - sudo_debug_printf(SUDO_DEBUG_ERROR|SUDO_DEBUG_ERRNO|SUDO_DEBUG_LINENO, - "unable to stat %s", logfile); - goto done; - } - if (sb.st_size == 0) { - /* New file */ - putc('{', fp); - } else if (fseeko(fp, -3, SEEK_END) == 0) { - /* Continue file, overwrite the final "\n}\n" */ - putc(',', fp); + if (!compact) { + /* Note: assumes file ends in "\n}\n" */ + if (fstat(fileno(fp), &sb) == -1) { + sudo_debug_printf(SUDO_DEBUG_ERROR|SUDO_DEBUG_ERRNO|SUDO_DEBUG_LINENO, + "unable to stat %s", logfile); + goto done; + } + if (sb.st_size == 0) { + /* New file */ + putc('{', fp); + } else if (fseeko(fp, -3, SEEK_END) == 0) { + /* Continue file, overwrite the final "\n}\n" */ + putc(',', fp); + } else { + sudo_debug_printf(SUDO_DEBUG_ERROR|SUDO_DEBUG_ERRNO|SUDO_DEBUG_LINENO, + "unable to seek %s", logfile); + goto done; + } + fputs(json_str, fp); + fputs("\n}\n", fp); /* close JSON */ } else { - sudo_debug_printf(SUDO_DEBUG_ERROR|SUDO_DEBUG_ERRNO|SUDO_DEBUG_LINENO, - "unable to seek %s", logfile); - goto done; + /* Compact (minified) JSON records, one per line. */ + putc('{', fp); + fputs(json_str, fp); + fputs("}\n", fp); } - fputs(json_str, fp); - fputs("\n}\n", fp); /* close JSON */ fflush(fp); /* XXX - check for file error and recover */ @@ -1293,8 +1302,9 @@ do_logfile(int event_type, int flags, struct eventlog_args *args, ret = do_logfile_sudo(lbuf.buf ? lbuf.buf : args->reason, evlog, args->event_time); break; - case EVLOG_JSON: - ret = do_logfile_json(event_type, args, evlog); + case EVLOG_JSON_COMPACT: + case EVLOG_JSON_PRETTY: + ret = do_logfile_json(evl_conf->format, event_type, args, evlog); break; default: sudo_debug_printf(SUDO_DEBUG_ERROR|SUDO_DEBUG_LINENO, @@ -1317,7 +1327,7 @@ eventlog_accept(const struct eventlog *evlog, int flags, bool ret = true; debug_decl(eventlog_accept, SUDO_DEBUG_UTIL); - args.event_time = &evlog->submit_time; + args.event_time = &evlog->event_time; args.json_info_cb = info_cb; args.json_info = info; @@ -1345,7 +1355,7 @@ eventlog_reject(const struct eventlog *evlog, int flags, const char *reason, debug_decl(eventlog_reject, SUDO_DEBUG_UTIL); args.reason = reason; - args.event_time = &evlog->submit_time; + args.event_time = &evlog->event_time; args.json_info_cb = info_cb; args.json_info = info; @@ -1444,7 +1454,7 @@ eventlog_exit(const struct eventlog *evlog, int flags) debug_decl(eventlog_exit, SUDO_DEBUG_UTIL); if (sudo_timespecisset(&evlog->run_time)) { - sudo_timespecadd(&evlog->submit_time, &evlog->run_time, &exit_time); + sudo_timespecadd(&evlog->event_time, &evlog->run_time, &exit_time); args.event_time = &exit_time; } diff --git a/lib/eventlog/parse_json.c b/lib/eventlog/parse_json.c index 9b5a1683a..6796e10f5 100644 --- a/lib/eventlog/parse_json.c +++ b/lib/eventlog/parse_json.c @@ -424,7 +424,7 @@ json_store_run_time(struct json_item *item, struct eventlog *evlog) static bool json_store_timestamp(struct json_item *item, struct eventlog *evlog) { - return json_store_timespec(item, &evlog->submit_time); + return json_store_timespec(item, &evlog->event_time); } static bool diff --git a/lib/fuzzstub/Makefile.in b/lib/fuzzstub/Makefile.in index 8c472b5cd..6d2a6ae52 100644 --- a/lib/fuzzstub/Makefile.in +++ b/lib/fuzzstub/Makefile.in @@ -1,7 +1,7 @@ # # SPDX-License-Identifier: ISC # -# Copyright (c) 2021 Todd C. Miller +# Copyright (c) 2021-2024 Todd C. Miller # # Permission to use, copy, modify, and distribute this software for any # purpose with or without fee is hereby granted, provided that the above @@ -32,6 +32,7 @@ incdir = $(top_srcdir)/include # Compiler & tools to use CC = @CC@ +CPP = @CPP@ LIBTOOL = @LIBTOOL@ # C preprocessor flags @@ -102,7 +103,7 @@ Makefile: $(srcdir)/Makefile.in $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $< .c.i: - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $< > $@ .i.plog: ifile=$<; rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $${ifile%i}c --i-file $< --output-file $@ @@ -171,6 +172,6 @@ fuzzstub.lo: $(srcdir)/fuzzstub.c $(incdir)/compat/stdbool.h \ fuzzstub.i: $(srcdir)/fuzzstub.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/fuzzstub.c > $@ fuzzstub.plog: fuzzstub.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/fuzzstub.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/fuzzstub.c --i-file fuzzstub.i --output-file $@ diff --git a/lib/iolog/Makefile.in b/lib/iolog/Makefile.in index 75dc53479..1f6396a14 100644 --- a/lib/iolog/Makefile.in +++ b/lib/iolog/Makefile.in @@ -1,7 +1,7 @@ # # SPDX-License-Identifier: ISC # -# Copyright (c) 2011-2023 Todd C. Miller +# Copyright (c) 2011-2024 Todd C. Miller # # Permission to use, copy, modify, and distribute this software for any # purpose with or without fee is hereby granted, provided that the above @@ -33,6 +33,7 @@ cross_compiling = @CROSS_COMPILING@ # Compiler & tools to use CC = @CC@ +CPP = @CPP@ LIBTOOL = @LIBTOOL@ SHA1SUM = @SHA1SUM@ EGREP = @EGREP@ @@ -154,7 +155,7 @@ Makefile: $(srcdir)/Makefile.in $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $< .c.i: - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $< > $@ .i.plog: ifile=$<; rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $${ifile%i}c --i-file $< --output-file $@ @@ -370,9 +371,9 @@ check_iolog_filter.i: $(srcdir)/regress/iolog_filter/check_iolog_filter.c \ $(incdir)/sudo_fatal.h $(incdir)/sudo_iolog.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/iolog_filter/check_iolog_filter.c > $@ check_iolog_filter.plog: check_iolog_filter.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/iolog_filter/check_iolog_filter.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/iolog_filter/check_iolog_filter.c --i-file check_iolog_filter.i --output-file $@ check_iolog_mkpath.lo: $(srcdir)/regress/iolog_mkpath/check_iolog_mkpath.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_iolog.h \ @@ -384,9 +385,9 @@ check_iolog_mkpath.i: $(srcdir)/regress/iolog_mkpath/check_iolog_mkpath.c \ $(incdir)/sudo_fatal.h $(incdir)/sudo_iolog.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/iolog_mkpath/check_iolog_mkpath.c > $@ check_iolog_mkpath.plog: check_iolog_mkpath.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/iolog_mkpath/check_iolog_mkpath.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/iolog_mkpath/check_iolog_mkpath.c --i-file check_iolog_mkpath.i --output-file $@ check_iolog_path.lo: $(srcdir)/regress/iolog_path/check_iolog_path.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_iolog.h \ @@ -398,9 +399,9 @@ check_iolog_path.i: $(srcdir)/regress/iolog_path/check_iolog_path.c \ $(incdir)/sudo_fatal.h $(incdir)/sudo_iolog.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/iolog_path/check_iolog_path.c > $@ check_iolog_path.plog: check_iolog_path.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/iolog_path/check_iolog_path.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/iolog_path/check_iolog_path.c --i-file check_iolog_path.i --output-file $@ check_iolog_timing.lo: $(srcdir)/regress/iolog_timing/check_iolog_timing.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_iolog.h \ @@ -412,9 +413,9 @@ check_iolog_timing.i: $(srcdir)/regress/iolog_timing/check_iolog_timing.c \ $(incdir)/sudo_fatal.h $(incdir)/sudo_iolog.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/iolog_timing/check_iolog_timing.c > $@ check_iolog_timing.plog: check_iolog_timing.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/iolog_timing/check_iolog_timing.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/iolog_timing/check_iolog_timing.c --i-file check_iolog_timing.i --output-file $@ fuzz_iolog_json.lo: $(srcdir)/regress/fuzz/fuzz_iolog_json.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_eventlog.h \ @@ -428,9 +429,9 @@ fuzz_iolog_json.i: $(srcdir)/regress/fuzz/fuzz_iolog_json.c \ $(incdir)/sudo_fatal.h $(incdir)/sudo_iolog.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/fuzz/fuzz_iolog_json.c > $@ fuzz_iolog_json.plog: fuzz_iolog_json.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/fuzz/fuzz_iolog_json.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/fuzz/fuzz_iolog_json.c --i-file fuzz_iolog_json.i --output-file $@ fuzz_iolog_legacy.lo: $(srcdir)/regress/fuzz/fuzz_iolog_legacy.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_eventlog.h \ @@ -444,9 +445,9 @@ fuzz_iolog_legacy.i: $(srcdir)/regress/fuzz/fuzz_iolog_legacy.c \ $(incdir)/sudo_fatal.h $(incdir)/sudo_iolog.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/fuzz/fuzz_iolog_legacy.c > $@ fuzz_iolog_legacy.plog: fuzz_iolog_legacy.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/fuzz/fuzz_iolog_legacy.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/fuzz/fuzz_iolog_legacy.c --i-file fuzz_iolog_legacy.i --output-file $@ fuzz_iolog_timing.lo: $(srcdir)/regress/fuzz/fuzz_iolog_timing.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_eventlog.h \ @@ -460,9 +461,9 @@ fuzz_iolog_timing.i: $(srcdir)/regress/fuzz/fuzz_iolog_timing.c \ $(incdir)/sudo_fatal.h $(incdir)/sudo_iolog.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/fuzz/fuzz_iolog_timing.c > $@ fuzz_iolog_timing.plog: fuzz_iolog_timing.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/fuzz/fuzz_iolog_timing.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/fuzz/fuzz_iolog_timing.c --i-file fuzz_iolog_timing.i --output-file $@ host_port.lo: $(srcdir)/host_port.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_gettext.h $(incdir)/sudo_iolog.h \ @@ -474,9 +475,9 @@ host_port.i: $(srcdir)/host_port.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_gettext.h $(incdir)/sudo_iolog.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/host_port.c > $@ host_port.plog: host_port.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/host_port.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/host_port.c --i-file host_port.i --output-file $@ host_port_test.lo: $(srcdir)/regress/host_port/host_port_test.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_iolog.h \ @@ -488,9 +489,9 @@ host_port_test.i: $(srcdir)/regress/host_port/host_port_test.c \ $(incdir)/sudo_fatal.h $(incdir)/sudo_iolog.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/host_port/host_port_test.c > $@ host_port_test.plog: host_port_test.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/host_port/host_port_test.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/host_port/host_port_test.c --i-file host_port_test.i --output-file $@ hostcheck.lo: $(srcdir)/hostcheck.c $(incdir)/compat/stdbool.h \ $(incdir)/hostcheck.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_queue.h \ @@ -500,9 +501,9 @@ hostcheck.i: $(srcdir)/hostcheck.c $(incdir)/compat/stdbool.h \ $(incdir)/hostcheck.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_queue.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/hostcheck.c > $@ hostcheck.plog: hostcheck.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/hostcheck.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/hostcheck.c --i-file hostcheck.i --output-file $@ iolog_clearerr.lo: $(srcdir)/iolog_clearerr.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_iolog.h $(incdir)/sudo_queue.h \ @@ -512,9 +513,9 @@ iolog_clearerr.i: $(srcdir)/iolog_clearerr.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_iolog.h $(incdir)/sudo_queue.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/iolog_clearerr.c > $@ iolog_clearerr.plog: iolog_clearerr.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_clearerr.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_clearerr.c --i-file iolog_clearerr.i --output-file $@ iolog_close.lo: $(srcdir)/iolog_close.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_iolog.h $(incdir)/sudo_queue.h \ @@ -524,9 +525,9 @@ iolog_close.i: $(srcdir)/iolog_close.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_iolog.h $(incdir)/sudo_queue.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/iolog_close.c > $@ iolog_close.plog: iolog_close.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_close.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_close.c --i-file iolog_close.i --output-file $@ iolog_conf.lo: $(srcdir)/iolog_conf.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_iolog.h $(incdir)/sudo_queue.h \ @@ -538,9 +539,9 @@ iolog_conf.i: $(srcdir)/iolog_conf.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_iolog.h $(incdir)/sudo_queue.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/iolog_conf.c > $@ iolog_conf.plog: iolog_conf.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_conf.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_conf.c --i-file iolog_conf.i --output-file $@ iolog_eof.lo: $(srcdir)/iolog_eof.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_iolog.h $(incdir)/sudo_queue.h \ @@ -550,9 +551,9 @@ iolog_eof.i: $(srcdir)/iolog_eof.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_iolog.h $(incdir)/sudo_queue.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/iolog_eof.c > $@ iolog_eof.plog: iolog_eof.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_eof.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_eof.c --i-file iolog_eof.i --output-file $@ iolog_filter.lo: $(srcdir)/iolog_filter.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ @@ -566,9 +567,9 @@ iolog_filter.i: $(srcdir)/iolog_filter.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_iolog.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/iolog_filter.c > $@ iolog_filter.plog: iolog_filter.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_filter.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_filter.c --i-file iolog_filter.i --output-file $@ iolog_flush.lo: $(srcdir)/iolog_flush.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_iolog.h $(incdir)/sudo_queue.h \ @@ -578,9 +579,9 @@ iolog_flush.i: $(srcdir)/iolog_flush.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_iolog.h $(incdir)/sudo_queue.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/iolog_flush.c > $@ iolog_flush.plog: iolog_flush.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_flush.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_flush.c --i-file iolog_flush.i --output-file $@ iolog_gets.lo: $(srcdir)/iolog_gets.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_iolog.h $(incdir)/sudo_queue.h \ @@ -590,9 +591,9 @@ iolog_gets.i: $(srcdir)/iolog_gets.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_iolog.h $(incdir)/sudo_queue.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/iolog_gets.c > $@ iolog_gets.plog: iolog_gets.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_gets.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_gets.c --i-file iolog_gets.i --output-file $@ iolog_json.lo: $(srcdir)/iolog_json.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_eventlog.h $(incdir)/sudo_iolog.h \ @@ -602,9 +603,9 @@ iolog_json.i: $(srcdir)/iolog_json.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_eventlog.h $(incdir)/sudo_iolog.h \ $(incdir)/sudo_queue.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/iolog_json.c > $@ iolog_json.plog: iolog_json.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_json.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_json.c --i-file iolog_json.i --output-file $@ iolog_legacy.lo: $(srcdir)/iolog_legacy.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ @@ -618,9 +619,9 @@ iolog_legacy.i: $(srcdir)/iolog_legacy.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_gettext.h $(incdir)/sudo_iolog.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/iolog_legacy.c > $@ iolog_legacy.plog: iolog_legacy.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_legacy.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_legacy.c --i-file iolog_legacy.i --output-file $@ iolog_loginfo.lo: $(srcdir)/iolog_loginfo.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ @@ -636,9 +637,9 @@ iolog_loginfo.i: $(srcdir)/iolog_loginfo.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_json.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/iolog_loginfo.c > $@ iolog_loginfo.plog: iolog_loginfo.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_loginfo.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_loginfo.c --i-file iolog_loginfo.i --output-file $@ iolog_mkdirs.lo: $(srcdir)/iolog_mkdirs.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ @@ -652,9 +653,9 @@ iolog_mkdirs.i: $(srcdir)/iolog_mkdirs.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_iolog.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/iolog_mkdirs.c > $@ iolog_mkdirs.plog: iolog_mkdirs.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_mkdirs.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_mkdirs.c --i-file iolog_mkdirs.i --output-file $@ iolog_mkdtemp.lo: $(srcdir)/iolog_mkdtemp.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ @@ -668,9 +669,9 @@ iolog_mkdtemp.i: $(srcdir)/iolog_mkdtemp.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_iolog.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/iolog_mkdtemp.c > $@ iolog_mkdtemp.plog: iolog_mkdtemp.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_mkdtemp.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_mkdtemp.c --i-file iolog_mkdtemp.i --output-file $@ iolog_mkpath.lo: $(srcdir)/iolog_mkpath.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_iolog.h $(incdir)/sudo_queue.h \ @@ -680,9 +681,9 @@ iolog_mkpath.i: $(srcdir)/iolog_mkpath.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_iolog.h $(incdir)/sudo_queue.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/iolog_mkpath.c > $@ iolog_mkpath.plog: iolog_mkpath.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_mkpath.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_mkpath.c --i-file iolog_mkpath.i --output-file $@ iolog_nextid.lo: $(srcdir)/iolog_nextid.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ @@ -696,9 +697,9 @@ iolog_nextid.i: $(srcdir)/iolog_nextid.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_iolog.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/iolog_nextid.c > $@ iolog_nextid.plog: iolog_nextid.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_nextid.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_nextid.c --i-file iolog_nextid.i --output-file $@ iolog_open.lo: $(srcdir)/iolog_open.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_iolog.h $(incdir)/sudo_queue.h \ @@ -708,9 +709,9 @@ iolog_open.i: $(srcdir)/iolog_open.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_iolog.h $(incdir)/sudo_queue.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/iolog_open.c > $@ iolog_open.plog: iolog_open.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_open.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_open.c --i-file iolog_open.i --output-file $@ iolog_openat.lo: $(srcdir)/iolog_openat.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ @@ -724,9 +725,9 @@ iolog_openat.i: $(srcdir)/iolog_openat.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_iolog.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/iolog_openat.c > $@ iolog_openat.plog: iolog_openat.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_openat.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_openat.c --i-file iolog_openat.i --output-file $@ iolog_path.lo: $(srcdir)/iolog_path.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ @@ -740,9 +741,9 @@ iolog_path.i: $(srcdir)/iolog_path.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_iolog.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/iolog_path.c > $@ iolog_path.plog: iolog_path.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_path.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_path.c --i-file iolog_path.i --output-file $@ iolog_read.lo: $(srcdir)/iolog_read.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_iolog.h $(incdir)/sudo_queue.h \ @@ -752,9 +753,9 @@ iolog_read.i: $(srcdir)/iolog_read.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_iolog.h $(incdir)/sudo_queue.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/iolog_read.c > $@ iolog_read.plog: iolog_read.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_read.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_read.c --i-file iolog_read.i --output-file $@ iolog_seek.lo: $(srcdir)/iolog_seek.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_iolog.h $(incdir)/sudo_queue.h \ @@ -764,9 +765,9 @@ iolog_seek.i: $(srcdir)/iolog_seek.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_iolog.h $(incdir)/sudo_queue.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/iolog_seek.c > $@ iolog_seek.plog: iolog_seek.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_seek.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_seek.c --i-file iolog_seek.i --output-file $@ iolog_swapids.lo: $(srcdir)/iolog_swapids.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ @@ -778,9 +779,9 @@ iolog_swapids.i: $(srcdir)/iolog_swapids.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ $(incdir)/sudo_iolog.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_queue.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/iolog_swapids.c > $@ iolog_swapids.plog: iolog_swapids.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_swapids.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_swapids.c --i-file iolog_swapids.i --output-file $@ iolog_timing.lo: $(srcdir)/iolog_timing.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ @@ -794,9 +795,9 @@ iolog_timing.i: $(srcdir)/iolog_timing.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_gettext.h $(incdir)/sudo_iolog.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/iolog_timing.c > $@ iolog_timing.plog: iolog_timing.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_timing.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_timing.c --i-file iolog_timing.i --output-file $@ iolog_util.lo: $(srcdir)/iolog_util.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_iolog.h $(incdir)/sudo_queue.h \ @@ -806,9 +807,9 @@ iolog_util.i: $(srcdir)/iolog_util.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_iolog.h $(incdir)/sudo_queue.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/iolog_util.c > $@ iolog_util.plog: iolog_util.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_util.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_util.c --i-file iolog_util.i --output-file $@ iolog_write.lo: $(srcdir)/iolog_write.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_iolog.h $(incdir)/sudo_queue.h \ @@ -818,6 +819,6 @@ iolog_write.i: $(srcdir)/iolog_write.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_iolog.h $(incdir)/sudo_queue.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/iolog_write.c > $@ iolog_write.plog: iolog_write.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_write.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_write.c --i-file iolog_write.i --output-file $@ diff --git a/lib/iolog/iolog_legacy.c b/lib/iolog/iolog_legacy.c index 5ebe537d2..63ed627af 100644 --- a/lib/iolog/iolog_legacy.c +++ b/lib/iolog/iolog_legacy.c @@ -84,7 +84,7 @@ iolog_parse_loginfo_legacy(FILE *fp, const char *iolog_dir, goto done; } *ep = '\0'; - evlog->submit_time.tv_sec = + evlog->event_time.tv_sec = (time_t)sudo_strtonum(cp, 0, TIME_T_MAX, &errstr); if (errstr != NULL) { sudo_warn(U_("%s: time stamp %s: %s"), iolog_dir, cp, errstr); diff --git a/lib/iolog/iolog_loginfo.c b/lib/iolog/iolog_loginfo.c index 3527cceaa..c234684bf 100644 --- a/lib/iolog/iolog_loginfo.c +++ b/lib/iolog/iolog_loginfo.c @@ -123,7 +123,7 @@ iolog_write_info_file_legacy(int dfd, struct eventlog *evlog) } fprintf(fp, "%lld:%s:%s:%s:%s:%d:%d\n%s\n", - (long long)evlog->submit_time.tv_sec, + (long long)evlog->event_time.tv_sec, evlog->submituser ? evlog->submituser : "unknown", evlog->runuser ? evlog->runuser : RUNAS_DEFAULT, evlog->rungroup ? evlog->rungroup : "", @@ -168,12 +168,12 @@ iolog_write_info_file_json(int dfd, struct eventlog *evlog) goto oom; json_value.type = JSON_NUMBER; - json_value.u.number = evlog->submit_time.tv_sec; + json_value.u.number = evlog->event_time.tv_sec; if (!sudo_json_add_value(&jsonc, "seconds", &json_value)) goto oom; json_value.type = JSON_NUMBER; - json_value.u.number = evlog->submit_time.tv_nsec; + json_value.u.number = evlog->event_time.tv_nsec; if (!sudo_json_add_value(&jsonc, "nanoseconds", &json_value)) goto oom; diff --git a/lib/iolog/regress/iolog_path/check_iolog_path.c b/lib/iolog/regress/iolog_path/check_iolog_path.c index 882135a58..ce4abba58 100644 --- a/lib/iolog/regress/iolog_path/check_iolog_path.c +++ b/lib/iolog/regress/iolog_path/check_iolog_path.c @@ -252,24 +252,24 @@ main(int argc, char *argv[]) sudo_fatal(NULL); break; case 7: - if (dir_in != NULL) - free(dir_in); - dir_in = strdup(line); + free(dir_in); + if ((dir_in = strdup(line)) == NULL) + sudo_fatal(NULL); break; case 8: - if (file_in != NULL) - free(file_in); - file_in = strdup(line); + free(file_in); + if ((file_in = strdup(line)) == NULL) + sudo_fatal(NULL); break; case 9: - if (dir_out != NULL) - free(dir_out); - dir_out = strdup(line); + free(dir_out); + if ((dir_out = strdup(line)) == NULL) + sudo_fatal(NULL); break; case 10: - if (file_out != NULL) - free(file_out); - file_out = strdup(line); + free(file_out); + if ((file_out = strdup(line)) == NULL) + sudo_fatal(NULL); break; case 11: errors += do_check(dir_in, file_in, dir_out, file_out); diff --git a/lib/logsrv/Makefile.in b/lib/logsrv/Makefile.in index f81698fa9..0d776cfcc 100644 --- a/lib/logsrv/Makefile.in +++ b/lib/logsrv/Makefile.in @@ -1,7 +1,7 @@ # # SPDX-License-Identifier: ISC # -# Copyright (c) 2019-2020 Todd C. Miller +# Copyright (c) 2019-2024 Todd C. Miller # # Permission to use, copy, modify, and distribute this software for any # purpose with or without fee is hereby granted, provided that the above @@ -32,6 +32,7 @@ incdir = $(top_srcdir)/include # Compiler & tools to use CC = @CC@ +CPP = @CPP@ LIBTOOL = @LIBTOOL@ # Libraries @@ -100,7 +101,7 @@ Makefile: $(srcdir)/Makefile.in $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $< .c.i: - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $< > $@ .i.plog: ifile=$<; rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $${ifile%i}c --i-file $< --output-file $@ diff --git a/lib/protobuf-c/Makefile.in b/lib/protobuf-c/Makefile.in index 49b1e9d9d..ddca63211 100644 --- a/lib/protobuf-c/Makefile.in +++ b/lib/protobuf-c/Makefile.in @@ -1,7 +1,7 @@ # # SPDX-License-Identifier: ISC # -# Copyright (c) 2019-2020 Todd C. Miller +# Copyright (c) 2019-2024 Todd C. Miller # # Permission to use, copy, modify, and distribute this software for any # purpose with or without fee is hereby granted, provided that the above @@ -32,6 +32,7 @@ incdir = $(top_srcdir)/include # Compiler & tools to use CC = @CC@ +CPP = @CPP@ LIBTOOL = @LIBTOOL@ # C preprocessor flags @@ -95,7 +96,7 @@ Makefile: $(srcdir)/Makefile.in $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $< .c.i: - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $< > $@ .i.plog: ifile=$<; rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $${ifile%i}c --i-file $< --output-file $@ @@ -175,6 +176,6 @@ protobuf-c.lo: $(srcdir)/protobuf-c.c $(incdir)/compat/endian.h \ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/protobuf-c.c protobuf-c.i: $(srcdir)/protobuf-c.c $(incdir)/compat/endian.h \ $(incdir)/protobuf-c/protobuf-c.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/protobuf-c.c > $@ protobuf-c.plog: protobuf-c.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/protobuf-c.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/protobuf-c.c --i-file protobuf-c.i --output-file $@ diff --git a/lib/ssl_compat/Makefile.in b/lib/ssl_compat/Makefile.in index 7fef9ad46..46c984620 100644 --- a/lib/ssl_compat/Makefile.in +++ b/lib/ssl_compat/Makefile.in @@ -1,7 +1,7 @@ # # SPDX-License-Identifier: ISC # -# Copyright (c) 2023 Todd C. Miller +# Copyright (c) 2023-2024 Todd C. Miller # # Permission to use, copy, modify, and distribute this software for any # purpose with or without fee is hereby granted, provided that the above @@ -32,6 +32,7 @@ incdir = $(top_srcdir)/include # Compiler & tools to use CC = @CC@ +CPP = @CPP@ LIBTOOL = @LIBTOOL@ # Libraries @@ -100,7 +101,7 @@ Makefile: $(srcdir)/Makefile.in $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $< .c.i: - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $< > $@ .i.plog: ifile=$<; rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $${ifile%i}c --i-file $< --output-file $@ @@ -184,6 +185,6 @@ ssl_compat.lo: $(srcdir)/ssl_compat.c $(incdir)/sudo_compat.h \ $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/ssl_compat.c ssl_compat.i: $(srcdir)/ssl_compat.c $(incdir)/sudo_compat.h \ $(incdir)/sudo_ssl_compat.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/ssl_compat.c > $@ ssl_compat.plog: ssl_compat.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/ssl_compat.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/ssl_compat.c --i-file ssl_compat.i --output-file $@ diff --git a/lib/util/Makefile.in b/lib/util/Makefile.in index 05455f701..5f9178051 100644 --- a/lib/util/Makefile.in +++ b/lib/util/Makefile.in @@ -1,7 +1,7 @@ # # SPDX-License-Identifier: ISC # -# Copyright (c) 2011-2023 Todd C. Miller +# Copyright (c) 2011-2024 Todd C. Miller # # Permission to use, copy, modify, and distribute this software for any # purpose with or without fee is hereby granted, provided that the above @@ -231,7 +231,7 @@ Makefile: $(srcdir)/Makefile.in $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $< .c.i: - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $< > $@ .i.plog: ifile=$<; rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $${ifile%i}c --i-file $< --output-file $@ @@ -272,11 +272,17 @@ $(srcdir)/sys_signame.h: $(srcdir)/siglist.in $(AWK) 'BEGIN {print "/* public domain */\n\n#include \n#include \n#include \n#include \"sudo_compat.h\"\n\nint sudo_end_of_headers;\nstatic char *sudo_sys_signame[NSIG];\n"} /^ [A-Z]/ {printf("#ifdef SIG%s\n if (sudo_sys_signame[SIG%s] == NULL)\n\tsudo_sys_signame[SIG%s] = \"%s\";\n#endif\n", $$1, $$1, $$1, $$1)}' < $(srcdir)/siglist.in > $@; \ fi -mksiglist.h: $(srcdir)/sys_siglist.h - $(CPP) $(CPPFLAGS) $(srcdir)/sys_siglist.h | $(SED) -e '1,/^int sudo_end_of_headers;/d' -e '/^#/d' > mksiglist.h +sys_siglist.i: $(srcdir)/sys_siglist.h + $(CPP) $(CPPFLAGS) $(srcdir)/sys_siglist.h > $@ -mksigname.h: $(srcdir)/sys_signame.h - $(CPP) $(CPPFLAGS) $(srcdir)/sys_signame.h | $(SED) -e '1,/^int sudo_end_of_headers;/d' -e '/^#/d' > mksigname.h +sys_signame.i: $(srcdir)/sys_signame.h + $(CPP) $(CPPFLAGS) $(srcdir)/sys_signame.h > $@ + +mksiglist.h: sys_siglist.i + $(SED) -e '1,/^int sudo_end_of_headers;/d' -e '/^#/d' < sys_siglist.i > mksiglist.h + +mksigname.h: sys_signame.i + $(SED) -e '1,/^int sudo_end_of_headers;/d' -e '/^#/d' < sys_signame.i > mksigname.h closefrom_test: $(CLOSEFROM_TEST_OBJS) libsudo_util.la $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CLOSEFROM_TEST_OBJS) libsudo_util.la $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(TEST_LDFLAGS) $(TEST_LIBS) @@ -537,9 +543,9 @@ aix.i: $(srcdir)/aix.c $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_debug.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 - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/aix.c > $@ aix.plog: aix.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/aix.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/aix.c --i-file aix.i --output-file $@ arc4random.lo: $(srcdir)/arc4random.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_fatal.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_rand.h \ @@ -549,25 +555,25 @@ arc4random.i: $(srcdir)/arc4random.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_fatal.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_rand.h \ $(srcdir)/chacha_private.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/arc4random.c > $@ arc4random.plog: arc4random.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/arc4random.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/arc4random.c --i-file arc4random.i --output-file $@ arc4random_buf.lo: $(srcdir)/arc4random_buf.c $(incdir)/sudo_compat.h \ $(incdir)/sudo_rand.h $(top_builddir)/config.h $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/arc4random_buf.c arc4random_buf.i: $(srcdir)/arc4random_buf.c $(incdir)/sudo_compat.h \ $(incdir)/sudo_rand.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/arc4random_buf.c > $@ arc4random_buf.plog: arc4random_buf.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/arc4random_buf.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/arc4random_buf.c --i-file arc4random_buf.i --output-file $@ arc4random_uniform.lo: $(srcdir)/arc4random_uniform.c $(incdir)/sudo_compat.h \ $(incdir)/sudo_rand.h $(top_builddir)/config.h $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/arc4random_uniform.c arc4random_uniform.i: $(srcdir)/arc4random_uniform.c $(incdir)/sudo_compat.h \ $(incdir)/sudo_rand.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/arc4random_uniform.c > $@ arc4random_uniform.plog: arc4random_uniform.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/arc4random_uniform.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/arc4random_uniform.c --i-file arc4random_uniform.i --output-file $@ basename.lo: $(srcdir)/basename.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h @@ -575,17 +581,17 @@ basename.lo: $(srcdir)/basename.c $(incdir)/compat/stdbool.h \ basename.i: $(srcdir)/basename.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/basename.c > $@ basename.plog: basename.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/basename.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/basename.c --i-file basename.i --output-file $@ cfmakeraw.lo: $(srcdir)/cfmakeraw.c $(incdir)/sudo_compat.h \ $(top_builddir)/config.h $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/cfmakeraw.c cfmakeraw.i: $(srcdir)/cfmakeraw.c $(incdir)/sudo_compat.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/cfmakeraw.c > $@ cfmakeraw.plog: cfmakeraw.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/cfmakeraw.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/cfmakeraw.c --i-file cfmakeraw.i --output-file $@ closefrom.lo: $(srcdir)/closefrom.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h @@ -593,9 +599,9 @@ closefrom.lo: $(srcdir)/closefrom.c $(incdir)/compat/stdbool.h \ closefrom.i: $(srcdir)/closefrom.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/closefrom.c > $@ closefrom.plog: closefrom.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/closefrom.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/closefrom.c --i-file closefrom.i --output-file $@ closefrom_test.lo: $(srcdir)/regress/closefrom/closefrom_test.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_plugin.h \ @@ -605,9 +611,9 @@ closefrom_test.i: $(srcdir)/regress/closefrom/closefrom_test.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/closefrom/closefrom_test.c > $@ closefrom_test.plog: closefrom_test.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/closefrom/closefrom_test.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/closefrom/closefrom_test.c --i-file closefrom_test.i --output-file $@ conf_test.lo: $(srcdir)/regress/sudo_conf/conf_test.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -619,9 +625,9 @@ conf_test.i: $(srcdir)/regress/sudo_conf/conf_test.c \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/sudo_conf/conf_test.c > $@ conf_test.plog: conf_test.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/sudo_conf/conf_test.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/sudo_conf/conf_test.c --i-file conf_test.i --output-file $@ digest.lo: $(srcdir)/digest.c $(incdir)/compat/sha2.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_digest.h \ @@ -631,9 +637,9 @@ digest.i: $(srcdir)/digest.c $(incdir)/compat/sha2.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_digest.h \ $(incdir)/sudo_queue.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/digest.c > $@ digest.plog: digest.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/digest.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/digest.c --i-file digest.i --output-file $@ digest_gcrypt.lo: $(srcdir)/digest_gcrypt.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_digest.h $(incdir)/sudo_queue.h \ @@ -643,9 +649,9 @@ digest_gcrypt.i: $(srcdir)/digest_gcrypt.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_digest.h $(incdir)/sudo_queue.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/digest_gcrypt.c > $@ digest_gcrypt.plog: digest_gcrypt.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/digest_gcrypt.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/digest_gcrypt.c --i-file digest_gcrypt.i --output-file $@ digest_openssl.lo: $(srcdir)/digest_openssl.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_digest.h $(incdir)/sudo_queue.h \ @@ -655,9 +661,9 @@ digest_openssl.i: $(srcdir)/digest_openssl.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_digest.h $(incdir)/sudo_queue.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/digest_openssl.c > $@ digest_openssl.plog: digest_openssl.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/digest_openssl.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/digest_openssl.c --i-file digest_openssl.i --output-file $@ digest_test.lo: $(srcdir)/regress/digest/digest_test.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_digest.h $(incdir)/sudo_fatal.h \ @@ -669,15 +675,15 @@ digest_test.i: $(srcdir)/regress/digest/digest_test.c \ $(incdir)/sudo_digest.h $(incdir)/sudo_fatal.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/digest/digest_test.c > $@ digest_test.plog: digest_test.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/digest/digest_test.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/digest/digest_test.c --i-file digest_test.i --output-file $@ dup3.lo: $(srcdir)/dup3.c $(incdir)/sudo_compat.h $(top_builddir)/config.h $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/dup3.c dup3.i: $(srcdir)/dup3.c $(incdir)/sudo_compat.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/dup3.c > $@ dup3.plog: dup3.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/dup3.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/dup3.c --i-file dup3.i --output-file $@ event.lo: $(srcdir)/event.c $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_event.h $(incdir)/sudo_fatal.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ @@ -687,9 +693,9 @@ event.i: $(srcdir)/event.c $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_event.h $(incdir)/sudo_fatal.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/event.c > $@ event.plog: event.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/event.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/event.c --i-file event.i --output-file $@ event_poll.lo: $(srcdir)/event_poll.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_event.h $(incdir)/sudo_fatal.h \ @@ -701,9 +707,9 @@ event_poll.i: $(srcdir)/event_poll.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_event.h $(incdir)/sudo_fatal.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/event_poll.c > $@ event_poll.plog: event_poll.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/event_poll.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/event_poll.c --i-file event_poll.i --output-file $@ event_select.lo: $(srcdir)/event_select.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_event.h $(incdir)/sudo_fatal.h \ @@ -715,17 +721,17 @@ event_select.i: $(srcdir)/event_select.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_event.h $(incdir)/sudo_fatal.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/event_select.c > $@ event_select.plog: event_select.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/event_select.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/event_select.c --i-file event_select.i --output-file $@ explicit_bzero.lo: $(srcdir)/explicit_bzero.c $(incdir)/sudo_compat.h \ $(top_builddir)/config.h $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/explicit_bzero.c explicit_bzero.i: $(srcdir)/explicit_bzero.c $(incdir)/sudo_compat.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/explicit_bzero.c > $@ explicit_bzero.plog: explicit_bzero.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/explicit_bzero.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/explicit_bzero.c --i-file explicit_bzero.i --output-file $@ fatal.lo: $(srcdir)/fatal.c $(incdir)/compat/getaddrinfo.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ @@ -737,25 +743,25 @@ fatal.i: $(srcdir)/fatal.c $(incdir)/compat/getaddrinfo.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 - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/fatal.c > $@ fatal.plog: fatal.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/fatal.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/fatal.c --i-file fatal.i --output-file $@ fchmodat.lo: $(srcdir)/fchmodat.c $(incdir)/sudo_compat.h \ $(top_builddir)/config.h $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/fchmodat.c fchmodat.i: $(srcdir)/fchmodat.c $(incdir)/sudo_compat.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/fchmodat.c > $@ fchmodat.plog: fchmodat.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/fchmodat.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/fchmodat.c --i-file fchmodat.i --output-file $@ fchownat.lo: $(srcdir)/fchownat.c $(incdir)/sudo_compat.h \ $(top_builddir)/config.h $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/fchownat.c fchownat.i: $(srcdir)/fchownat.c $(incdir)/sudo_compat.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/fchownat.c > $@ fchownat.plog: fchownat.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/fchownat.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/fchownat.c --i-file fchownat.i --output-file $@ fnm_test.lo: $(srcdir)/regress/fnmatch/fnm_test.c $(incdir)/compat/fnmatch.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h @@ -763,9 +769,9 @@ fnm_test.lo: $(srcdir)/regress/fnmatch/fnm_test.c $(incdir)/compat/fnmatch.h \ fnm_test.i: $(srcdir)/regress/fnmatch/fnm_test.c $(incdir)/compat/fnmatch.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/fnmatch/fnm_test.c > $@ fnm_test.plog: fnm_test.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/fnmatch/fnm_test.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/fnmatch/fnm_test.c --i-file fnm_test.i --output-file $@ fnmatch.lo: $(srcdir)/fnmatch.c $(incdir)/compat/charclass.h \ $(incdir)/compat/fnmatch.h $(incdir)/sudo_compat.h \ $(top_builddir)/config.h @@ -773,23 +779,23 @@ fnmatch.lo: $(srcdir)/fnmatch.c $(incdir)/compat/charclass.h \ fnmatch.i: $(srcdir)/fnmatch.c $(incdir)/compat/charclass.h \ $(incdir)/compat/fnmatch.h $(incdir)/sudo_compat.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/fnmatch.c > $@ fnmatch.plog: fnmatch.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/fnmatch.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/fnmatch.c --i-file fnmatch.i --output-file $@ freezero.lo: $(srcdir)/freezero.c $(incdir)/sudo_compat.h \ $(top_builddir)/config.h $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/freezero.c freezero.i: $(srcdir)/freezero.c $(incdir)/sudo_compat.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/freezero.c > $@ freezero.plog: freezero.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/freezero.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/freezero.c --i-file freezero.i --output-file $@ fstatat.lo: $(srcdir)/fstatat.c $(incdir)/sudo_compat.h $(top_builddir)/config.h $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/fstatat.c fstatat.i: $(srcdir)/fstatat.c $(incdir)/sudo_compat.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/fstatat.c > $@ fstatat.plog: fstatat.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/fstatat.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/fstatat.c --i-file fstatat.i --output-file $@ fuzz_sudo_conf.lo: $(srcdir)/regress/fuzz/fuzz_sudo_conf.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -803,25 +809,25 @@ fuzz_sudo_conf.i: $(srcdir)/regress/fuzz/fuzz_sudo_conf.c \ $(incdir)/sudo_fatal.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/fuzz/fuzz_sudo_conf.c > $@ fuzz_sudo_conf.plog: fuzz_sudo_conf.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/fuzz/fuzz_sudo_conf.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/fuzz/fuzz_sudo_conf.c --i-file fuzz_sudo_conf.i --output-file $@ getaddrinfo.lo: $(srcdir)/getaddrinfo.c $(incdir)/compat/getaddrinfo.h \ $(incdir)/sudo_compat.h $(top_builddir)/config.h $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/getaddrinfo.c getaddrinfo.i: $(srcdir)/getaddrinfo.c $(incdir)/compat/getaddrinfo.h \ $(incdir)/sudo_compat.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/getaddrinfo.c > $@ getaddrinfo.plog: getaddrinfo.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/getaddrinfo.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/getaddrinfo.c --i-file getaddrinfo.i --output-file $@ getdelim.lo: $(srcdir)/getdelim.c $(incdir)/sudo_compat.h \ $(top_builddir)/config.h $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/getdelim.c getdelim.i: $(srcdir)/getdelim.c $(incdir)/sudo_compat.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/getdelim.c > $@ getdelim.plog: getdelim.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/getdelim.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/getdelim.c --i-file getdelim.i --output-file $@ getdelim_test.lo: $(srcdir)/regress/getdelim/getdelim_test.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_plugin.h \ @@ -831,9 +837,9 @@ getdelim_test.i: $(srcdir)/regress/getdelim/getdelim_test.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/getdelim/getdelim_test.c > $@ getdelim_test.plog: getdelim_test.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/getdelim/getdelim_test.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/getdelim/getdelim_test.c --i-file getdelim_test.i --output-file $@ getentropy.lo: $(srcdir)/getentropy.c $(incdir)/sudo_compat.h \ $(incdir)/sudo_digest.h $(incdir)/sudo_rand.h \ $(top_builddir)/config.h @@ -841,9 +847,9 @@ getentropy.lo: $(srcdir)/getentropy.c $(incdir)/sudo_compat.h \ getentropy.i: $(srcdir)/getentropy.c $(incdir)/sudo_compat.h \ $(incdir)/sudo_digest.h $(incdir)/sudo_rand.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/getentropy.c > $@ getentropy.plog: getentropy.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/getentropy.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/getentropy.c --i-file getentropy.i --output-file $@ getgids.lo: $(srcdir)/regress/getgrouplist/getgids.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_plugin.h \ @@ -853,9 +859,9 @@ getgids.i: $(srcdir)/regress/getgrouplist/getgids.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/getgrouplist/getgids.c > $@ getgids.plog: getgids.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/getgrouplist/getgids.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/getgrouplist/getgids.c --i-file getgids.i --output-file $@ getgrouplist.lo: $(srcdir)/getgrouplist.c $(incdir)/compat/nss_dbdefs.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_queue.h \ @@ -865,9 +871,9 @@ getgrouplist.i: $(srcdir)/getgrouplist.c $(incdir)/compat/nss_dbdefs.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_queue.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/getgrouplist.c > $@ getgrouplist.plog: getgrouplist.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/getgrouplist.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/getgrouplist.c --i-file getgrouplist.i --output-file $@ getgrouplist_test.lo: $(srcdir)/regress/getgrouplist/getgrouplist_test.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_plugin.h \ @@ -877,9 +883,9 @@ getgrouplist_test.i: $(srcdir)/regress/getgrouplist/getgrouplist_test.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/getgrouplist/getgrouplist_test.c > $@ getgrouplist_test.plog: getgrouplist_test.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/getgrouplist/getgrouplist_test.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/getgrouplist/getgrouplist_test.c --i-file getgrouplist_test.i --output-file $@ gethostname.lo: $(srcdir)/gethostname.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h @@ -887,9 +893,9 @@ gethostname.lo: $(srcdir)/gethostname.c $(incdir)/compat/stdbool.h \ gethostname.i: $(srcdir)/gethostname.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/gethostname.c > $@ gethostname.plog: gethostname.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/gethostname.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/gethostname.c --i-file gethostname.i --output-file $@ getopt_long.lo: $(srcdir)/getopt_long.c $(incdir)/compat/getopt.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_plugin.h \ @@ -899,9 +905,9 @@ getopt_long.i: $(srcdir)/getopt_long.c $(incdir)/compat/getopt.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_plugin.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/getopt_long.c > $@ getopt_long.plog: getopt_long.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/getopt_long.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/getopt_long.c --i-file getopt_long.i --output-file $@ gettime.lo: $(srcdir)/gettime.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ @@ -911,9 +917,9 @@ gettime.i: $(srcdir)/gettime.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/gettime.c > $@ gettime.plog: gettime.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/gettime.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/gettime.c --i-file gettime.i --output-file $@ getusershell.lo: $(srcdir)/getusershell.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ @@ -923,9 +929,9 @@ getusershell.i: $(srcdir)/getusershell.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/getusershell.c > $@ getusershell.plog: getusershell.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/getusershell.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/getusershell.c --i-file getusershell.i --output-file $@ gidlist.lo: $(srcdir)/gidlist.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ @@ -937,17 +943,17 @@ gidlist.i: $(srcdir)/gidlist.c $(incdir)/compat/stdbool.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 - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/gidlist.c > $@ gidlist.plog: gidlist.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/gidlist.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/gidlist.c --i-file gidlist.i --output-file $@ glob.lo: $(srcdir)/glob.c $(incdir)/compat/charclass.h $(incdir)/compat/glob.h \ $(incdir)/sudo_compat.h $(top_builddir)/config.h $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/glob.c glob.i: $(srcdir)/glob.c $(incdir)/compat/charclass.h $(incdir)/compat/glob.h \ $(incdir)/sudo_compat.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/glob.c > $@ glob.plog: glob.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/glob.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/glob.c --i-file glob.i --output-file $@ globtest.lo: $(srcdir)/regress/glob/globtest.c $(incdir)/compat/glob.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h @@ -955,9 +961,9 @@ globtest.lo: $(srcdir)/regress/glob/globtest.c $(incdir)/compat/glob.h \ globtest.i: $(srcdir)/regress/glob/globtest.c $(incdir)/compat/glob.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/glob/globtest.c > $@ globtest.plog: globtest.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/glob/globtest.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/glob/globtest.c --i-file globtest.i --output-file $@ gmtime_r.lo: $(srcdir)/gmtime_r.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h @@ -965,9 +971,9 @@ gmtime_r.lo: $(srcdir)/gmtime_r.c $(incdir)/compat/stdbool.h \ gmtime_r.i: $(srcdir)/gmtime_r.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/gmtime_r.c > $@ gmtime_r.plog: gmtime_r.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/gmtime_r.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/gmtime_r.c --i-file gmtime_r.i --output-file $@ hexchar.lo: $(srcdir)/hexchar.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ @@ -977,9 +983,9 @@ hexchar.i: $(srcdir)/hexchar.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/hexchar.c > $@ hexchar.plog: hexchar.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/hexchar.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/hexchar.c --i-file hexchar.i --output-file $@ hexchar_test.lo: $(srcdir)/regress/hexchar/hexchar_test.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h @@ -987,9 +993,9 @@ hexchar_test.lo: $(srcdir)/regress/hexchar/hexchar_test.c \ hexchar_test.i: $(srcdir)/regress/hexchar/hexchar_test.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/hexchar/hexchar_test.c > $@ hexchar_test.plog: hexchar_test.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/hexchar/hexchar_test.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/hexchar/hexchar_test.c --i-file hexchar_test.i --output-file $@ hltq_test.lo: $(srcdir)/regress/tailq/hltq_test.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_fatal.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ @@ -999,23 +1005,23 @@ hltq_test.i: $(srcdir)/regress/tailq/hltq_test.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_fatal.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/tailq/hltq_test.c > $@ hltq_test.plog: hltq_test.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/tailq/hltq_test.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/tailq/hltq_test.c --i-file hltq_test.i --output-file $@ inet_pton.lo: $(srcdir)/inet_pton.c $(incdir)/sudo_compat.h \ $(top_builddir)/config.h $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/inet_pton.c inet_pton.i: $(srcdir)/inet_pton.c $(incdir)/sudo_compat.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/inet_pton.c > $@ inet_pton.plog: inet_pton.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/inet_pton.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/inet_pton.c --i-file inet_pton.i --output-file $@ isblank.lo: $(srcdir)/isblank.c $(incdir)/sudo_compat.h $(top_builddir)/config.h $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/isblank.c isblank.i: $(srcdir)/isblank.c $(incdir)/sudo_compat.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/isblank.c > $@ isblank.plog: isblank.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/isblank.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/isblank.c --i-file isblank.i --output-file $@ json.lo: $(srcdir)/json.c $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_fatal.h \ $(incdir)/sudo_gettext.h $(incdir)/sudo_json.h \ @@ -1027,9 +1033,9 @@ json.i: $(srcdir)/json.c $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_gettext.h $(incdir)/sudo_json.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/json.c > $@ json.plog: json.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/json.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/json.c --i-file json.i --output-file $@ json_test.lo: $(srcdir)/regress/json/json_test.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_fatal.h \ $(incdir)/sudo_json.h $(incdir)/sudo_plugin.h \ @@ -1039,9 +1045,9 @@ json_test.i: $(srcdir)/regress/json/json_test.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_fatal.h \ $(incdir)/sudo_json.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/json/json_test.c > $@ json_test.plog: json_test.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/json/json_test.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/json/json_test.c --i-file json_test.i --output-file $@ key_val.lo: $(srcdir)/key_val.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ @@ -1051,9 +1057,9 @@ key_val.i: $(srcdir)/key_val.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/key_val.c > $@ key_val.plog: key_val.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/key_val.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/key_val.c --i-file key_val.i --output-file $@ lbuf.lo: $(srcdir)/lbuf.c $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_lbuf.h $(incdir)/sudo_queue.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h @@ -1061,9 +1067,9 @@ lbuf.lo: $(srcdir)/lbuf.c $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ lbuf.i: $(srcdir)/lbuf.c $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_lbuf.h $(incdir)/sudo_queue.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/lbuf.c > $@ lbuf.plog: lbuf.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/lbuf.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/lbuf.c --i-file lbuf.i --output-file $@ localtime_r.lo: $(srcdir)/localtime_r.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h @@ -1071,9 +1077,9 @@ localtime_r.lo: $(srcdir)/localtime_r.c $(incdir)/compat/stdbool.h \ localtime_r.i: $(srcdir)/localtime_r.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/localtime_r.c > $@ localtime_r.plog: localtime_r.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/localtime_r.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/localtime_r.c --i-file localtime_r.i --output-file $@ locking.lo: $(srcdir)/locking.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ @@ -1083,9 +1089,9 @@ locking.i: $(srcdir)/locking.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/locking.c > $@ locking.plog: locking.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/locking.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/locking.c --i-file locking.i --output-file $@ logfac.lo: $(srcdir)/logfac.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(top_builddir)/config.h @@ -1093,9 +1099,9 @@ logfac.lo: $(srcdir)/logfac.c $(incdir)/compat/stdbool.h \ logfac.i: $(srcdir)/logfac.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/logfac.c > $@ logfac.plog: logfac.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/logfac.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/logfac.c --i-file logfac.i --output-file $@ logpri.lo: $(srcdir)/logpri.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(top_builddir)/config.h @@ -1103,15 +1109,15 @@ logpri.lo: $(srcdir)/logpri.c $(incdir)/compat/stdbool.h \ logpri.i: $(srcdir)/logpri.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/logpri.c > $@ logpri.plog: logpri.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/logpri.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/logpri.c --i-file logpri.i --output-file $@ memrchr.lo: $(srcdir)/memrchr.c $(incdir)/sudo_compat.h $(top_builddir)/config.h $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/memrchr.c memrchr.i: $(srcdir)/memrchr.c $(incdir)/sudo_compat.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/memrchr.c > $@ memrchr.plog: memrchr.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/memrchr.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/memrchr.c --i-file memrchr.i --output-file $@ mkdir_parents.lo: $(srcdir)/mkdir_parents.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ @@ -1123,39 +1129,39 @@ mkdir_parents.i: $(srcdir)/mkdir_parents.c $(incdir)/compat/stdbool.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 - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/mkdir_parents.c > $@ mkdir_parents.plog: mkdir_parents.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/mkdir_parents.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/mkdir_parents.c --i-file mkdir_parents.i --output-file $@ mkdirat.lo: $(srcdir)/mkdirat.c $(incdir)/sudo_compat.h $(top_builddir)/config.h $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/mkdirat.c mkdirat.i: $(srcdir)/mkdirat.c $(incdir)/sudo_compat.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/mkdirat.c > $@ mkdirat.plog: mkdirat.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/mkdirat.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/mkdirat.c --i-file mkdirat.i --output-file $@ mksiglist.lo: $(srcdir)/mksiglist.c $(incdir)/sudo_compat.h \ $(srcdir)/mksiglist.h $(top_builddir)/config.h $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/mksiglist.c mksiglist.i: $(srcdir)/mksiglist.c $(incdir)/sudo_compat.h \ $(srcdir)/mksiglist.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/mksiglist.c > $@ mksiglist.plog: mksiglist.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/mksiglist.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/mksiglist.c --i-file mksiglist.i --output-file $@ mksigname.lo: $(srcdir)/mksigname.c $(incdir)/sudo_compat.h \ $(srcdir)/mksigname.h $(top_builddir)/config.h $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/mksigname.c mksigname.i: $(srcdir)/mksigname.c $(incdir)/sudo_compat.h \ $(srcdir)/mksigname.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/mksigname.c > $@ mksigname.plog: mksigname.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/mksigname.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/mksigname.c --i-file mksigname.i --output-file $@ mktemp.lo: $(srcdir)/mktemp.c $(incdir)/sudo_compat.h $(incdir)/sudo_rand.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/mktemp.c mktemp.i: $(srcdir)/mktemp.c $(incdir)/sudo_compat.h $(incdir)/sudo_rand.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/mktemp.c > $@ mktemp.plog: mktemp.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/mktemp.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/mktemp.c --i-file mktemp.i --output-file $@ mktemp_test.lo: $(srcdir)/regress/mktemp/mktemp_test.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_plugin.h \ @@ -1165,9 +1171,9 @@ mktemp_test.i: $(srcdir)/regress/mktemp/mktemp_test.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/mktemp/mktemp_test.c > $@ mktemp_test.plog: mktemp_test.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/mktemp/mktemp_test.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/mktemp/mktemp_test.c --i-file mktemp_test.i --output-file $@ mmap_alloc.lo: $(srcdir)/mmap_alloc.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h @@ -1175,9 +1181,9 @@ mmap_alloc.lo: $(srcdir)/mmap_alloc.c $(incdir)/compat/stdbool.h \ mmap_alloc.i: $(srcdir)/mmap_alloc.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/mmap_alloc.c > $@ mmap_alloc.plog: mmap_alloc.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/mmap_alloc.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/mmap_alloc.c --i-file mmap_alloc.i --output-file $@ multiarch.lo: $(srcdir)/multiarch.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h @@ -1185,9 +1191,9 @@ multiarch.lo: $(srcdir)/multiarch.c $(incdir)/compat/stdbool.h \ multiarch.i: $(srcdir)/multiarch.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/multiarch.c > $@ multiarch.plog: multiarch.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/multiarch.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/multiarch.c --i-file multiarch.i --output-file $@ multiarch_test.lo: $(srcdir)/regress/multiarch/multiarch_test.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_plugin.h \ @@ -1197,9 +1203,9 @@ multiarch_test.i: $(srcdir)/regress/multiarch/multiarch_test.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/multiarch/multiarch_test.c > $@ multiarch_test.plog: multiarch_test.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/multiarch/multiarch_test.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/multiarch/multiarch_test.c --i-file multiarch_test.i --output-file $@ nanosleep.lo: $(srcdir)/nanosleep.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h @@ -1207,9 +1213,9 @@ nanosleep.lo: $(srcdir)/nanosleep.c $(incdir)/compat/stdbool.h \ nanosleep.i: $(srcdir)/nanosleep.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/nanosleep.c > $@ nanosleep.plog: nanosleep.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/nanosleep.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/nanosleep.c --i-file nanosleep.i --output-file $@ open_parent_dir_test.lo: \ $(srcdir)/regress/open_parent_dir/open_parent_dir_test.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ @@ -1221,15 +1227,15 @@ open_parent_dir_test.i: \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/open_parent_dir/open_parent_dir_test.c > $@ open_parent_dir_test.plog: open_parent_dir_test.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/open_parent_dir/open_parent_dir_test.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/open_parent_dir/open_parent_dir_test.c --i-file open_parent_dir_test.i --output-file $@ openat.lo: $(srcdir)/openat.c $(incdir)/sudo_compat.h $(top_builddir)/config.h $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/openat.c openat.i: $(srcdir)/openat.c $(incdir)/sudo_compat.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/openat.c > $@ openat.plog: openat.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/openat.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/openat.c --i-file openat.i --output-file $@ parse_gids_test.lo: $(srcdir)/regress/parse_gids/parse_gids_test.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_plugin.h \ @@ -1239,9 +1245,9 @@ parse_gids_test.i: $(srcdir)/regress/parse_gids/parse_gids_test.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/parse_gids/parse_gids_test.c > $@ parse_gids_test.plog: parse_gids_test.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/parse_gids/parse_gids_test.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/parse_gids/parse_gids_test.c --i-file parse_gids_test.i --output-file $@ parseln.lo: $(srcdir)/parseln.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ @@ -1251,9 +1257,9 @@ parseln.i: $(srcdir)/parseln.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/parseln.c > $@ parseln.plog: parseln.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/parseln.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/parseln.c --i-file parseln.i --output-file $@ parseln_test.lo: $(srcdir)/regress/sudo_parseln/parseln_test.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h @@ -1261,21 +1267,21 @@ parseln_test.lo: $(srcdir)/regress/sudo_parseln/parseln_test.c \ parseln_test.i: $(srcdir)/regress/sudo_parseln/parseln_test.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/sudo_parseln/parseln_test.c > $@ parseln_test.plog: parseln_test.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/sudo_parseln/parseln_test.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/sudo_parseln/parseln_test.c --i-file parseln_test.i --output-file $@ pipe2.lo: $(srcdir)/pipe2.c $(incdir)/sudo_compat.h $(top_builddir)/config.h $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/pipe2.c pipe2.i: $(srcdir)/pipe2.c $(incdir)/sudo_compat.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/pipe2.c > $@ pipe2.plog: pipe2.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/pipe2.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/pipe2.c --i-file pipe2.i --output-file $@ pread.lo: $(srcdir)/pread.c $(incdir)/sudo_compat.h $(top_builddir)/config.h $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/pread.c pread.i: $(srcdir)/pread.c $(incdir)/sudo_compat.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/pread.c > $@ pread.plog: pread.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/pread.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/pread.c --i-file pread.i --output-file $@ progname.lo: $(srcdir)/progname.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h @@ -1283,9 +1289,9 @@ progname.lo: $(srcdir)/progname.c $(incdir)/compat/stdbool.h \ progname.i: $(srcdir)/progname.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/progname.c > $@ progname.plog: progname.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/progname.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/progname.c --i-file progname.i --output-file $@ progname_test.lo: $(srcdir)/regress/progname/progname_test.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h @@ -1293,21 +1299,21 @@ progname_test.lo: $(srcdir)/regress/progname/progname_test.c \ progname_test.i: $(srcdir)/regress/progname/progname_test.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/progname/progname_test.c > $@ progname_test.plog: progname_test.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/progname/progname_test.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/progname/progname_test.c --i-file progname_test.i --output-file $@ pw_dup.lo: $(srcdir)/pw_dup.c $(incdir)/sudo_compat.h $(top_builddir)/config.h $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/pw_dup.c pw_dup.i: $(srcdir)/pw_dup.c $(incdir)/sudo_compat.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/pw_dup.c > $@ pw_dup.plog: pw_dup.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/pw_dup.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/pw_dup.c --i-file pw_dup.i --output-file $@ pwrite.lo: $(srcdir)/pwrite.c $(incdir)/sudo_compat.h $(top_builddir)/config.h $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/pwrite.c pwrite.i: $(srcdir)/pwrite.c $(incdir)/sudo_compat.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/pwrite.c > $@ pwrite.plog: pwrite.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/pwrite.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/pwrite.c --i-file pwrite.i --output-file $@ rcstr.lo: $(srcdir)/rcstr.c $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h @@ -1315,23 +1321,23 @@ rcstr.lo: $(srcdir)/rcstr.c $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ rcstr.i: $(srcdir)/rcstr.c $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/rcstr.c > $@ rcstr.plog: rcstr.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/rcstr.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/rcstr.c --i-file rcstr.i --output-file $@ reallocarray.lo: $(srcdir)/reallocarray.c $(incdir)/sudo_compat.h \ $(top_builddir)/config.h $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/reallocarray.c reallocarray.i: $(srcdir)/reallocarray.c $(incdir)/sudo_compat.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/reallocarray.c > $@ reallocarray.plog: reallocarray.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/reallocarray.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/reallocarray.c --i-file reallocarray.i --output-file $@ realpath.lo: $(srcdir)/realpath.c $(top_builddir)/config.h $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/realpath.c realpath.i: $(srcdir)/realpath.c $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/realpath.c > $@ realpath.plog: realpath.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/realpath.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/realpath.c --i-file realpath.i --output-file $@ regex.lo: $(srcdir)/regex.c $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_gettext.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(top_builddir)/config.h @@ -1339,9 +1345,9 @@ regex.lo: $(srcdir)/regex.c $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ regex.i: $(srcdir)/regex.c $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_gettext.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regex.c > $@ regex.plog: regex.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regex.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regex.c --i-file regex.i --output-file $@ regex_test.lo: $(srcdir)/regress/regex/regex_test.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_fatal.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \ @@ -1351,9 +1357,9 @@ regex_test.i: $(srcdir)/regress/regex/regex_test.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_fatal.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/regex/regex_test.c > $@ regex_test.plog: regex_test.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/regex/regex_test.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/regex/regex_test.c --i-file regex_test.i --output-file $@ roundup.lo: $(srcdir)/roundup.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ @@ -1363,9 +1369,9 @@ roundup.i: $(srcdir)/roundup.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/roundup.c > $@ roundup.plog: roundup.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/roundup.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/roundup.c --i-file roundup.i --output-file $@ secure_path.lo: $(srcdir)/secure_path.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ @@ -1375,9 +1381,9 @@ secure_path.i: $(srcdir)/secure_path.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/secure_path.c > $@ secure_path.plog: secure_path.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/secure_path.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/secure_path.c --i-file secure_path.i --output-file $@ setgroups.lo: $(srcdir)/setgroups.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ @@ -1387,17 +1393,17 @@ setgroups.i: $(srcdir)/setgroups.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/setgroups.c > $@ setgroups.plog: setgroups.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/setgroups.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/setgroups.c --i-file setgroups.i --output-file $@ sha2.lo: $(srcdir)/sha2.c $(incdir)/compat/endian.h $(incdir)/compat/sha2.h \ $(incdir)/sudo_compat.h $(top_builddir)/config.h $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/sha2.c sha2.i: $(srcdir)/sha2.c $(incdir)/compat/endian.h $(incdir)/compat/sha2.h \ $(incdir)/sudo_compat.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/sha2.c > $@ sha2.plog: sha2.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sha2.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sha2.c --i-file sha2.i --output-file $@ sig2str.lo: $(srcdir)/sig2str.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h @@ -1405,21 +1411,21 @@ sig2str.lo: $(srcdir)/sig2str.c $(incdir)/compat/stdbool.h \ sig2str.i: $(srcdir)/sig2str.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/sig2str.c > $@ sig2str.plog: sig2str.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sig2str.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sig2str.c --i-file sig2str.i --output-file $@ siglist.lo: siglist.c $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) siglist.c siglist.i: siglist.c - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) siglist.c > $@ siglist.plog: siglist.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file siglist.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file siglist.c --i-file siglist.i --output-file $@ signame.lo: signame.c $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) signame.c signame.i: signame.c - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) signame.c > $@ signame.plog: signame.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file signame.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file signame.c --i-file signame.i --output-file $@ snprintf.lo: $(srcdir)/snprintf.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h @@ -1427,9 +1433,9 @@ snprintf.lo: $(srcdir)/snprintf.c $(incdir)/compat/stdbool.h \ snprintf.i: $(srcdir)/snprintf.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/snprintf.c > $@ snprintf.plog: snprintf.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/snprintf.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/snprintf.c --i-file snprintf.i --output-file $@ str2sig.lo: $(srcdir)/str2sig.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h @@ -1437,33 +1443,33 @@ str2sig.lo: $(srcdir)/str2sig.c $(incdir)/compat/stdbool.h \ str2sig.i: $(srcdir)/str2sig.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/str2sig.c > $@ str2sig.plog: str2sig.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/str2sig.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/str2sig.c --i-file str2sig.i --output-file $@ strlcat.lo: $(srcdir)/strlcat.c $(incdir)/sudo_compat.h $(top_builddir)/config.h $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/strlcat.c strlcat.i: $(srcdir)/strlcat.c $(incdir)/sudo_compat.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/strlcat.c > $@ strlcat.plog: strlcat.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/strlcat.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/strlcat.c --i-file strlcat.i --output-file $@ strlcpy.lo: $(srcdir)/strlcpy.c $(incdir)/sudo_compat.h $(top_builddir)/config.h $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/strlcpy.c strlcpy.i: $(srcdir)/strlcpy.c $(incdir)/sudo_compat.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/strlcpy.c > $@ strlcpy.plog: strlcpy.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/strlcpy.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/strlcpy.c --i-file strlcpy.i --output-file $@ strndup.lo: $(srcdir)/strndup.c $(incdir)/sudo_compat.h $(top_builddir)/config.h $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/strndup.c strndup.i: $(srcdir)/strndup.c $(incdir)/sudo_compat.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/strndup.c > $@ strndup.plog: strndup.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/strndup.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/strndup.c --i-file strndup.i --output-file $@ strnlen.lo: $(srcdir)/strnlen.c $(incdir)/sudo_compat.h $(top_builddir)/config.h $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/strnlen.c strnlen.i: $(srcdir)/strnlen.c $(incdir)/sudo_compat.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/strnlen.c > $@ strnlen.plog: strnlen.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/strnlen.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/strnlen.c --i-file strnlen.i --output-file $@ strsig_test.lo: $(srcdir)/regress/strsig/strsig_test.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_plugin.h \ @@ -1473,17 +1479,17 @@ strsig_test.i: $(srcdir)/regress/strsig/strsig_test.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/strsig/strsig_test.c > $@ strsig_test.plog: strsig_test.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/strsig/strsig_test.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/strsig/strsig_test.c --i-file strsig_test.i --output-file $@ strsignal.lo: $(srcdir)/strsignal.c $(incdir)/sudo_compat.h \ $(incdir)/sudo_gettext.h $(top_builddir)/config.h $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/strsignal.c strsignal.i: $(srcdir)/strsignal.c $(incdir)/sudo_compat.h \ $(incdir)/sudo_gettext.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/strsignal.c > $@ strsignal.plog: strsignal.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/strsignal.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/strsignal.c --i-file strsignal.i --output-file $@ strsplit.lo: $(srcdir)/strsplit.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ @@ -1493,9 +1499,9 @@ strsplit.i: $(srcdir)/strsplit.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/strsplit.c > $@ strsplit.plog: strsplit.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/strsplit.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/strsplit.c --i-file strsplit.i --output-file $@ strsplit_test.lo: $(srcdir)/regress/strsplit/strsplit_test.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_plugin.h \ @@ -1505,9 +1511,9 @@ strsplit_test.i: $(srcdir)/regress/strsplit/strsplit_test.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/strsplit/strsplit_test.c > $@ strsplit_test.plog: strsplit_test.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/strsplit/strsplit_test.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/strsplit/strsplit_test.c --i-file strsplit_test.i --output-file $@ strtobool.lo: $(srcdir)/strtobool.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ @@ -1517,9 +1523,9 @@ strtobool.i: $(srcdir)/strtobool.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/strtobool.c > $@ strtobool.plog: strtobool.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/strtobool.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/strtobool.c --i-file strtobool.i --output-file $@ strtobool_test.lo: $(srcdir)/regress/strtofoo/strtobool_test.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_plugin.h \ @@ -1529,9 +1535,9 @@ strtobool_test.i: $(srcdir)/regress/strtofoo/strtobool_test.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/strtofoo/strtobool_test.c > $@ strtobool_test.plog: strtobool_test.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/strtofoo/strtobool_test.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/strtofoo/strtobool_test.c --i-file strtobool_test.i --output-file $@ strtoid.lo: $(srcdir)/strtoid.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_gettext.h $(incdir)/sudo_queue.h \ @@ -1541,9 +1547,9 @@ strtoid.i: $(srcdir)/strtoid.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_gettext.h $(incdir)/sudo_queue.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/strtoid.c > $@ strtoid.plog: strtoid.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/strtoid.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/strtoid.c --i-file strtoid.i --output-file $@ strtoid_test.lo: $(srcdir)/regress/strtofoo/strtoid_test.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_plugin.h \ @@ -1553,9 +1559,9 @@ strtoid_test.i: $(srcdir)/regress/strtofoo/strtoid_test.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/strtofoo/strtoid_test.c > $@ strtoid_test.plog: strtoid_test.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/strtofoo/strtoid_test.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/strtofoo/strtoid_test.c --i-file strtoid_test.i --output-file $@ strtomode.lo: $(srcdir)/strtomode.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_gettext.h $(incdir)/sudo_queue.h \ @@ -1565,9 +1571,9 @@ strtomode.i: $(srcdir)/strtomode.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_gettext.h $(incdir)/sudo_queue.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/strtomode.c > $@ strtomode.plog: strtomode.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/strtomode.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/strtomode.c --i-file strtomode.i --output-file $@ strtomode_test.lo: $(srcdir)/regress/strtofoo/strtomode_test.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_plugin.h \ @@ -1577,9 +1583,9 @@ strtomode_test.i: $(srcdir)/regress/strtofoo/strtomode_test.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/strtofoo/strtomode_test.c > $@ strtomode_test.plog: strtomode_test.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/strtofoo/strtomode_test.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/strtofoo/strtomode_test.c --i-file strtomode_test.i --output-file $@ strtonum.lo: $(srcdir)/strtonum.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_gettext.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h @@ -1587,9 +1593,9 @@ strtonum.lo: $(srcdir)/strtonum.c $(incdir)/compat/stdbool.h \ strtonum.i: $(srcdir)/strtonum.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_gettext.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/strtonum.c > $@ strtonum.plog: strtonum.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/strtonum.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/strtonum.c --i-file strtonum.i --output-file $@ strtonum_test.lo: $(srcdir)/regress/strtofoo/strtonum_test.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_plugin.h \ @@ -1599,9 +1605,9 @@ strtonum_test.i: $(srcdir)/regress/strtofoo/strtonum_test.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/strtofoo/strtonum_test.c > $@ strtonum_test.plog: strtonum_test.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/strtofoo/strtonum_test.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/strtofoo/strtonum_test.c --i-file strtonum_test.i --output-file $@ sudo_conf.lo: $(srcdir)/sudo_conf.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_fatal.h \ @@ -1615,9 +1621,9 @@ sudo_conf.i: $(srcdir)/sudo_conf.c $(incdir)/compat/stdbool.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 - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/sudo_conf.c > $@ sudo_conf.plog: sudo_conf.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sudo_conf.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sudo_conf.c --i-file sudo_conf.i --output-file $@ sudo_debug.lo: $(srcdir)/sudo_debug.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_fatal.h \ @@ -1631,9 +1637,9 @@ sudo_debug.i: $(srcdir)/sudo_debug.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/sudo_debug.c > $@ sudo_debug.plog: sudo_debug.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sudo_debug.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sudo_debug.c --i-file sudo_debug.i --output-file $@ sudo_dso.lo: $(srcdir)/sudo_dso.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_dso.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h @@ -1641,9 +1647,9 @@ sudo_dso.lo: $(srcdir)/sudo_dso.c $(incdir)/compat/stdbool.h \ sudo_dso.i: $(srcdir)/sudo_dso.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_dso.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/sudo_dso.c > $@ sudo_dso.plog: sudo_dso.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sudo_dso.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sudo_dso.c --i-file sudo_dso.i --output-file $@ term.lo: $(srcdir)/term.c $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h @@ -1651,9 +1657,9 @@ term.lo: $(srcdir)/term.c $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ term.i: $(srcdir)/term.c $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/term.c > $@ term.plog: term.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/term.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/term.c --i-file term.i --output-file $@ timegm.lo: $(srcdir)/timegm.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_queue.h $(top_builddir)/config.h @@ -1661,9 +1667,9 @@ timegm.lo: $(srcdir)/timegm.c $(incdir)/compat/stdbool.h \ timegm.i: $(srcdir)/timegm.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_queue.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/timegm.c > $@ timegm.plog: timegm.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/timegm.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/timegm.c --i-file timegm.i --output-file $@ ttyname_dev.lo: $(srcdir)/ttyname_dev.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_queue.h \ @@ -1675,9 +1681,9 @@ ttyname_dev.i: $(srcdir)/ttyname_dev.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_queue.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/ttyname_dev.c > $@ ttyname_dev.plog: ttyname_dev.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/ttyname_dev.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/ttyname_dev.c --i-file ttyname_dev.i --output-file $@ ttysize.lo: $(srcdir)/ttysize.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ @@ -1687,17 +1693,17 @@ ttysize.i: $(srcdir)/ttysize.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/ttysize.c > $@ ttysize.plog: ttysize.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/ttysize.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/ttysize.c --i-file ttysize.i --output-file $@ unlinkat.lo: $(srcdir)/unlinkat.c $(incdir)/sudo_compat.h \ $(top_builddir)/config.h $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/unlinkat.c unlinkat.i: $(srcdir)/unlinkat.c $(incdir)/sudo_compat.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/unlinkat.c > $@ unlinkat.plog: unlinkat.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/unlinkat.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/unlinkat.c --i-file unlinkat.i --output-file $@ utimens.lo: $(srcdir)/utimens.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h @@ -1705,17 +1711,17 @@ utimens.lo: $(srcdir)/utimens.c $(incdir)/compat/stdbool.h \ utimens.i: $(srcdir)/utimens.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/utimens.c > $@ utimens.plog: utimens.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/utimens.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/utimens.c --i-file utimens.i --output-file $@ uuid.lo: $(srcdir)/uuid.c $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_rand.h $(incdir)/sudo_util.h $(top_builddir)/config.h $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/uuid.c uuid.i: $(srcdir)/uuid.c $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_rand.h $(incdir)/sudo_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/uuid.c > $@ uuid.plog: uuid.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/uuid.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/uuid.c --i-file uuid.i --output-file $@ uuid_test.lo: $(srcdir)/regress/uuid/uuid_test.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_fatal.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \ @@ -1725,6 +1731,6 @@ uuid_test.i: $(srcdir)/regress/uuid/uuid_test.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_fatal.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/uuid/uuid_test.c > $@ uuid_test.plog: uuid_test.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/uuid/uuid_test.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/uuid/uuid_test.c --i-file uuid_test.i --output-file $@ diff --git a/lib/util/chacha_private.h b/lib/util/chacha_private.h index 7c3680fa6..2f97c989e 100644 --- a/lib/util/chacha_private.h +++ b/lib/util/chacha_private.h @@ -92,7 +92,7 @@ chacha_encrypt_bytes(chacha_ctx *x,const u8 *m,u8 *c,u32 bytes) u32 j0, j1, j2, j3, j4, j5, j6, j7, j8, j9, j10, j11, j12, j13, j14, j15; u8 *ctarget = NULL; u8 tmp[64]; - u_int i; + u32 i; if (!bytes) return; diff --git a/lib/util/event.c b/lib/util/event.c index e49f657b8..c9a6b2fa9 100644 --- a/lib/util/event.c +++ b/lib/util/event.c @@ -637,7 +637,7 @@ sudo_ev_dispatch_v1(struct sudo_event_base *base) /* * Run main event loop. - * Returns 0 on success, 1 if no events registered and -1 on error + * Returns 0 on success, 1 if no events registered and -1 on error */ int sudo_ev_loop_v1(struct sudo_event_base *base, unsigned int flags) diff --git a/lib/util/fatal.c b/lib/util/fatal.c index bdee6a1af..f0b6e054c 100644 --- a/lib/util/fatal.c +++ b/lib/util/fatal.c @@ -303,7 +303,7 @@ sudo_fatal_callback_deregister_v1(sudo_fatal_callback_t func) } /* - * Set the conversation function to use for output insteaf of the + * Set the conversation function to use for output instead of the * standard error. If conv is NULL, switch back to standard error. */ void diff --git a/lib/util/fnmatch.c b/lib/util/fnmatch.c index 729d54612..bd6e16aed 100644 --- a/lib/util/fnmatch.c +++ b/lib/util/fnmatch.c @@ -227,7 +227,7 @@ leadingclosebrace: /* NOT a properly balanced [expr] pattern, EOS terminated * or ranges containing a slash in FNM_PATHNAME mode pattern - * fall out to to the rewind and test '[' literal code path + * fall out to the rewind and test '[' literal code path */ if (!**pattern || (slash && (**pattern == '/'))) break; diff --git a/lib/util/fstatat.c b/lib/util/fstatat.c index 983085d54..2982892cf 100644 --- a/lib/util/fstatat.c +++ b/lib/util/fstatat.c @@ -32,7 +32,7 @@ #ifndef HAVE_FSTATAT int -sudo_fstatat(int dfd, const char *path, struct stat *sb, int flag) +sudo_fstatat(int dfd, const char * restrict path, struct stat * restrict sb, int flag) { int odfd, ret = -1; diff --git a/lib/util/gethostname.c b/lib/util/gethostname.c index 34f714be0..9879591fe 100644 --- a/lib/util/gethostname.c +++ b/lib/util/gethostname.c @@ -41,7 +41,7 @@ sudo_gethostname_v1(void) #ifdef _SC_HOST_NAME_MAX host_name_max = (size_t)sysconf(_SC_HOST_NAME_MAX); - if (host_name_max == (size_t)-1) + if ((ssize_t)host_name_max <= 0) #endif host_name_max = 255; /* POSIX and historic BSD */ diff --git a/lib/util/glob.c b/lib/util/glob.c index d546837b6..118e4ddc1 100644 --- a/lib/util/glob.c +++ b/lib/util/glob.c @@ -138,33 +138,33 @@ struct glob_lim { }; static int compare(const void *, const void *); -static int g_Ctoc(const Char *, char *, size_t); -static int g_lstat(Char *, struct stat *, glob_t *); +static int g_Ctoc(const Char * restrict, char * restrict, size_t); +static int g_lstat(Char * restrict, struct stat * restrict, glob_t *restrict); static DIR *g_opendir(Char *, glob_t *); static Char *g_strchr(const Char *, int); static int g_strncmp(const Char *, const char *, size_t); -static int g_stat(Char *, struct stat *, glob_t *); -static int glob0(const Char *, glob_t *, struct glob_lim *); -static int glob1(Char *, Char *, glob_t *, struct glob_lim *); +static int g_stat(Char * restrict, struct stat * restrict, glob_t * restrict); +static int glob0(const Char * restrict, glob_t * restrict, struct glob_lim * restrict); +static int glob1(Char *, Char *, glob_t * restrict, struct glob_lim * restrict); static int glob2(Char *, Char *, Char *, Char *, Char *, Char *, - glob_t *, struct glob_lim *); + glob_t * restrict, struct glob_lim * restrict); static int glob3(Char *, Char *, Char *, Char *, Char *, - Char *, Char *, glob_t *, struct glob_lim *); -static int globextend(const Char *, glob_t *, struct glob_lim *, - struct stat *); + Char *, Char *, glob_t * restrict, struct glob_lim * restrict); +static int globextend(const Char * restrict, glob_t * restrict, struct glob_lim * restrict, + struct stat * restrict); static const Char * - globtilde(const Char *, Char *, size_t, glob_t *); -static int globexp1(const Char *, glob_t *, struct glob_lim *); -static int globexp2(const Char *, const Char *, glob_t *, - struct glob_lim *); + globtilde(const Char * restrict, Char * restrict, size_t, glob_t * restrict); +static int globexp1(const Char * restrict, glob_t * restrict, struct glob_lim * restrict); +static int globexp2(const Char *, const Char *, glob_t * restrict, + struct glob_lim * restrict); static int match(Char *, Char *, Char *); #ifdef DEBUG -static void qprintf(const char *, Char *); +static void qprintf(const char * restrict, Char * restrict); #endif int -sudo_glob(const char *pattern, int flags, int (*errfunc)(const char *, int), - glob_t *pglob) +sudo_glob(const char * restrict pattern, int flags, int (*errfunc)(const char *, int), + glob_t * restrict pglob) { const unsigned char *patnext; int c; @@ -220,7 +220,7 @@ sudo_glob(const char *pattern, int flags, int (*errfunc)(const char *, int), * characters */ static int -globexp1(const Char *pattern, glob_t *pglob, struct glob_lim *limitp) +globexp1(const Char * restrict pattern, glob_t * restrict pglob, struct glob_lim * restrict limitp) { const Char* ptr = pattern; @@ -241,10 +241,11 @@ globexp1(const Char *pattern, glob_t *pglob, struct glob_lim *limitp) * If it fails then it tries to glob the rest of the pattern and returns. */ static int -globexp2(const Char *ptr, const Char *pattern, glob_t *pglob, - struct glob_lim *limitp) +globexp2(const Char *ptr, const Char *pattern, glob_t * restrict pglob, + struct glob_lim * restrict limitp) { - int i, rv; + size_t i; + int rv; Char *lm, *ls; const Char *pe, *pm, *pl; Char patbuf[PATH_MAX]; @@ -346,7 +347,7 @@ globexp2(const Char *ptr, const Char *pattern, glob_t *pglob, * expand tilde from the passwd file. */ static const Char * -globtilde(const Char *pattern, Char *patbuf, size_t patbuf_len, glob_t *pglob) +globtilde(const Char * restrict pattern, Char * restrict patbuf, size_t patbuf_len, glob_t * restrict pglob) { struct passwd *pwd; char *h; @@ -413,7 +414,7 @@ g_strncmp(const Char *s1, const char *s2, size_t n) } static int -g_charclass(const Char **patternp, Char **bufnextp) +g_charclass(const Char ** restrict patternp, Char ** restrict bufnextp) { const Char *pattern = *patternp + 1; Char *bufnext = *bufnextp; @@ -447,7 +448,7 @@ g_charclass(const Char **patternp, Char **bufnextp) * to find no matches. */ static int -glob0(const Char *pattern, glob_t *pglob, struct glob_lim *limitp) +glob0(const Char * restrict pattern, glob_t * restrict pglob, struct glob_lim * restrict limitp) { const Char *qpatnext; int c, err; @@ -551,7 +552,7 @@ compare(const void *p, const void *q) } static int -glob1(Char *pattern, Char *pattern_last, glob_t *pglob, struct glob_lim *limitp) +glob1(Char *pattern, Char *pattern_last, glob_t * restrict pglob, struct glob_lim * restrict limitp) { Char pathbuf[PATH_MAX]; @@ -570,7 +571,7 @@ glob1(Char *pattern, Char *pattern_last, glob_t *pglob, struct glob_lim *limitp) */ static int glob2(Char *pathbuf, Char *pathbuf_last, Char *pathend, Char *pathend_last, - Char *pattern, Char *pattern_last, glob_t *pglob, struct glob_lim *limitp) + Char *pattern, Char *pattern_last, glob_t * restrict pglob, struct glob_lim * restrict limitp) { struct stat sb; Char *p, *q; @@ -638,8 +639,8 @@ glob2(Char *pathbuf, Char *pathbuf_last, Char *pathend, Char *pathend_last, static int glob3(Char *pathbuf, Char *pathbuf_last, Char *pathend, Char *pathend_last, - Char *pattern, Char *restpattern, Char *restpattern_last, glob_t *pglob, - struct glob_lim *limitp) + Char *pattern, Char *restpattern, Char *restpattern_last, glob_t * restrict pglob, + struct glob_lim * restrict limitp) { struct dirent *dp; DIR *dirp; @@ -721,8 +722,8 @@ glob3(Char *pathbuf, Char *pathbuf_last, Char *pathend, Char *pathend_last, * gl_pathv points to (gl_offs + gl_pathc + 1) items. */ static int -globextend(const Char *path, glob_t *pglob, struct glob_lim *limitp, - struct stat *sb) +globextend(const Char * restrict path, glob_t * restrict pglob, struct glob_lim * restrict limitp, + struct stat * restrict sb) { char **pathv; size_t i, newn, len; @@ -892,7 +893,7 @@ g_opendir(Char *str, glob_t *pglob) } static int -g_lstat(Char *fn, struct stat *sb, glob_t *pglob) +g_lstat(Char * restrict fn, struct stat * restrict sb, glob_t * restrict pglob) { char buf[PATH_MAX]; @@ -902,7 +903,7 @@ g_lstat(Char *fn, struct stat *sb, glob_t *pglob) } static int -g_stat(Char *fn, struct stat *sb, glob_t *pglob) +g_stat(Char * restrict fn, struct stat * restrict sb, glob_t * restrict pglob) { char buf[PATH_MAX]; @@ -922,7 +923,7 @@ g_strchr(const Char *str, int ch) } static int -g_Ctoc(const Char *str, char *buf, size_t len) +g_Ctoc(const Char * restrict str, char * restrict buf, size_t len) { while (len--) { @@ -934,20 +935,20 @@ g_Ctoc(const Char *str, char *buf, size_t len) #ifdef DEBUG static void -qprintf(const char *str, Char *s) +qprintf(const char * restrict str, Char * restrict s) { Char *p; (void)printf("%s:\n", str); for (p = s; *p; p++) - (void)fputc(CHAR(*p), stdout); - (void)fputc('\n', stdout); + (void)putchar(CHAR(*p)); + (void)putchar('\n'); for (p = s; *p; p++) - (void)fputc(*p & M_PROTECT ? '"' : ' ', stdout); - (void)fputc('\n', stdout); + (void)putchar(*p & M_PROTECT ? '"' : ' '); + (void)putchar('\n'); for (p = s; *p; p++) - (void)fputc(ismeta(*p) ? '_' : ' ', stdout); - (void)fputc('\n', stdout); + (void)putchar(ismeta(*p) ? '_' : ' '); + (void)putchar('\n'); } #endif /* DEBUG */ #endif /* HAVE_GLOB */ diff --git a/lib/util/gmtime_r.c b/lib/util/gmtime_r.c index 11e2651df..0124e8be3 100644 --- a/lib/util/gmtime_r.c +++ b/lib/util/gmtime_r.c @@ -36,7 +36,7 @@ * Still has the normal gmtime() side effects. */ struct tm * -sudo_gmtime_r(const time_t *timer, struct tm *result) +sudo_gmtime_r(const time_t * restrict timer, struct tm * restrict result) { struct tm *tm; diff --git a/lib/util/hexchar.c b/lib/util/hexchar.c index 06508436e..29f62b54e 100644 --- a/lib/util/hexchar.c +++ b/lib/util/hexchar.c @@ -32,7 +32,7 @@ * Returns a value 0-255 on success or -1 for invalid input. */ int -sudo_hexchar_v1(const char *s) +sudo_hexchar_v1(const char s[restrict static 2]) { unsigned char result[2]; unsigned int i; diff --git a/lib/util/inet_pton.c b/lib/util/inet_pton.c index d3b4b4bf5..3828ccebb 100644 --- a/lib/util/inet_pton.c +++ b/lib/util/inet_pton.c @@ -89,7 +89,7 @@ inet_pton4(const char *src, u_char *dst) const char *pch; if ((pch = strchr(digits, ch)) != NULL) { - u_int new = *tp * 10 + (pch - digits); + unsigned int new = *tp * 10 + (pch - digits); if (new > 255) return (0); @@ -135,7 +135,7 @@ inet_pton6(const char *src, u_char *dst) u_char tmp[NS_IN6ADDRSZ], *tp, *endp, *colonp; const char *xdigits, *curtok; int ch, saw_xdigit, count_xdigit; - u_int val; + unsigned int val; /* cppcheck-suppress uninitvar */ memset((tp = tmp), 0, NS_IN6ADDRSZ); @@ -233,7 +233,7 @@ inet_pton6(const char *src, u_char *dst) * Paul Vixie, 1996. */ int -sudo_inet_pton(int af, const char *src, void *dst) +sudo_inet_pton(int af, const char * restrict src, void * restrict dst) { switch (af) { case AF_INET: diff --git a/lib/util/json.c b/lib/util/json.c index e0bd286b7..8be44c995 100644 --- a/lib/util/json.c +++ b/lib/util/json.c @@ -265,6 +265,7 @@ sudo_json_close_object_v1(struct json_container *jsonc) } if (!json_append_buf(jsonc, "}")) debug_return_bool(false); + jsonc->need_comma = true; debug_return_bool(true); } @@ -309,6 +310,7 @@ sudo_json_close_array_v1(struct json_container *jsonc) } if (!json_append_buf(jsonc, "]")) debug_return_bool(false); + jsonc->need_comma = true; debug_return_bool(true); } diff --git a/lib/util/lbuf.c b/lib/util/lbuf.c index 6bc74ee94..9480644b9 100644 --- a/lib/util/lbuf.c +++ b/lib/util/lbuf.c @@ -415,8 +415,8 @@ sudo_lbuf_println(struct sudo_lbuf *lbuf, char *line, size_t len) cp = ep; /* - * If there is more to print, reset have, incremement cp past - * the whitespace, and print a line continuaton char if needed. + * If there is more to print, reset have, increment cp past + * the whitespace, and print a line continuation char if needed. */ if (cp != NULL) { have = lbuf->cols - indent; @@ -474,7 +474,7 @@ sudo_lbuf_print_v1(struct sudo_lbuf *lbuf) } done: - lbuf->len = 0; /* reset the buffer for re-use. */ + lbuf->len = 0; /* reset the buffer for reuse. */ lbuf->error = 0; debug_return; diff --git a/lib/util/localtime_r.c b/lib/util/localtime_r.c index 180c8904f..9abede812 100644 --- a/lib/util/localtime_r.c +++ b/lib/util/localtime_r.c @@ -36,7 +36,7 @@ * Still has the normal localtime() side effects. */ struct tm * -sudo_localtime_r(const time_t *timer, struct tm *result) +sudo_localtime_r(const time_t * restrict timer, struct tm * restrict result) { struct tm *tm; diff --git a/lib/util/multiarch.c b/lib/util/multiarch.c index 0b79de590..907a99cc7 100644 --- a/lib/util/multiarch.c +++ b/lib/util/multiarch.c @@ -44,7 +44,7 @@ * Returns a dynamically allocated string on success and NULL on failure. */ char * -sudo_stat_multiarch_v1(const char *path, struct stat *sb) +sudo_stat_multiarch_v1(const char * restrict path, struct stat * restrict sb) { # if defined(__ILP32__) const char *libdirs[] = { "/libx32/", "/lib/", "/libexec/", NULL }; @@ -96,7 +96,7 @@ sudo_stat_multiarch_v1(const char *path, struct stat *sb) } #else char * -sudo_stat_multiarch_v1(const char *path, struct stat *sb) +sudo_stat_multiarch_v1(const char * restrict path, struct stat * restrict sb) { return NULL; } diff --git a/lib/util/regress/mktemp/mktemp_test.c b/lib/util/regress/mktemp/mktemp_test.c index b44143173..74845950b 100644 --- a/lib/util/regress/mktemp/mktemp_test.c +++ b/lib/util/regress/mktemp/mktemp_test.c @@ -151,6 +151,8 @@ main(int argc, char *argv[]) argv += optind; pg = (size_t)sysconf(_SC_PAGESIZE); + if (pg == (size_t)-1) + sudo_fatal("sysconf(_SC_PAGESIZE)"); if (getcwd(cwd, sizeof cwd - 1) == NULL) sudo_fatal("getcwd"); clen = strlen(cwd); diff --git a/lib/util/snprintf.c b/lib/util/snprintf.c index 64765da8e..0d574d374 100644 --- a/lib/util/snprintf.c +++ b/lib/util/snprintf.c @@ -412,7 +412,7 @@ xxxprintf(char ** restrict strp, size_t strsize, int alloc, const char * restric /* * Get the argument indexed by nextarg. If the argument table is -* built, use it to get the argument. If its not, get the next +* built, use it to get the argument. If it's not, get the next * argument (and arguments must be gotten sequentially). */ #define GETARG(type) \ diff --git a/lib/util/sudo_dso.c b/lib/util/sudo_dso.c index 0124b20f9..5390523bc 100644 --- a/lib/util/sudo_dso.c +++ b/lib/util/sudo_dso.c @@ -124,7 +124,7 @@ sudo_dso_findsym_v1(void *vhandle, const char *symbol) } /* - * Note that the behavior of of SUDO_DSO_NEXT and SUDO_DSO_SELF + * Note that the behavior of SUDO_DSO_NEXT and SUDO_DSO_SELF * differs from most implementations when called from * a shared library. */ diff --git a/lib/util/ttyname_dev.c b/lib/util/ttyname_dev.c index 3236925cd..2136e3de5 100644 --- a/lib/util/ttyname_dev.c +++ b/lib/util/ttyname_dev.c @@ -29,8 +29,6 @@ # include #elif defined(MAJOR_IN_SYSMACROS) # include -#else -# include #endif #include #include diff --git a/lib/util/utimens.c b/lib/util/utimens.c index 74d6c656c..ed50acd0d 100644 --- a/lib/util/utimens.c +++ b/lib/util/utimens.c @@ -106,7 +106,7 @@ utimens_ts_to_tv(int fd, const char *file, const struct timespec *ts, * Emulate futimens() via futimes() */ int -sudo_futimens(int fd, const struct timespec *ts) +sudo_futimens(int fd, const struct timespec ts[2]) { struct timeval tv[2], *times = NULL; @@ -122,7 +122,7 @@ sudo_futimens(int fd, const struct timespec *ts) * Emulate futimens() via futime() */ int -sudo_futimens(int fd, const struct timespec *ts) +sudo_futimens(int fd, const struct timespec ts[2]) { struct utimbuf utb, *times = NULL; @@ -142,7 +142,7 @@ sudo_futimens(int fd, const struct timespec *ts) * Nothing to do but fail. */ int -sudo_futimens(int fd, const struct timespec *ts) +sudo_futimens(int fd, const struct timespec ts[2]) { errno = ENOSYS; return -1; @@ -154,7 +154,7 @@ sudo_futimens(int fd, const struct timespec *ts) * Emulate utimensat() via utimes() */ int -sudo_utimensat(int fd, const char *file, const struct timespec *ts, int flag) +sudo_utimensat(int fd, const char *file, const struct timespec ts[2], int flag) { struct timeval tv[2], *times = NULL; @@ -175,7 +175,7 @@ sudo_utimensat(int fd, const char *file, const struct timespec *ts, int flag) * Emulate utimensat() via utime() */ int -sudo_utimensat(int fd, const char *file, const struct timespec *ts, int flag) +sudo_utimensat(int fd, const char *file, const struct timespec ts[2], int flag) { struct utimbuf utb, *times = NULL; diff --git a/lib/util/uuid.c b/lib/util/uuid.c index 764c8db40..1906b9d77 100644 --- a/lib/util/uuid.c +++ b/lib/util/uuid.c @@ -50,7 +50,7 @@ struct uuid { * As per RFC 4122 section 4.4. */ void -sudo_uuid_create_v1(unsigned char uuid_out[16]) +sudo_uuid_create_v1(unsigned char uuid_out[restrict static 16]) { struct uuid uuid; @@ -71,7 +71,7 @@ sudo_uuid_create_v1(unsigned char uuid_out[16]) * Format a uuid as a 36-byte string (plus one for the NUL). */ char * -sudo_uuid_to_string_v1(unsigned char uuid[16], char *dst, size_t dstsiz) +sudo_uuid_to_string_v1(const unsigned char uuid[restrict static 16], char * restrict dst, size_t dstsiz) { const char hex[] = "0123456789abcdef"; char *cp = dst; diff --git a/lib/zlib/deflate.c b/lib/zlib/deflate.c index 2b67bc39b..ae5b0ab0e 100644 --- a/lib/zlib/deflate.c +++ b/lib/zlib/deflate.c @@ -1,5 +1,5 @@ /* deflate.c -- compress data using the deflation algorithm - * Copyright (C) 1995-2023 Jean-loup Gailly and Mark Adler + * Copyright (C) 1995-2024 Jean-loup Gailly and Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -52,7 +52,7 @@ #include "deflate.h" const char deflate_copyright[] = - " deflate 1.3 Copyright 1995-2023 Jean-loup Gailly and Mark Adler "; + " deflate 1.3.1 Copyright 1995-2024 Jean-loup Gailly and Mark Adler "; /* If you use the zlib library in a product, an acknowledgment is welcome in the documentation of your product. If for some reason you cannot @@ -493,7 +493,7 @@ int ZEXPORT deflateInit2_(z_streamp strm, int level, int method, * symbols from which it is being constructed. */ - s->pending_buf = (uchf *) ZALLOC(strm, s->lit_bufsize, 4); + s->pending_buf = (uchf *) ZALLOC(strm, s->lit_bufsize, LIT_BUFS); s->pending_buf_size = (ulg)s->lit_bufsize * 4; if (s->window == Z_NULL || s->prev == Z_NULL || s->head == Z_NULL || @@ -503,8 +503,14 @@ int ZEXPORT deflateInit2_(z_streamp strm, int level, int method, deflateEnd (strm); return Z_MEM_ERROR; } +#ifdef LIT_MEM + s->d_buf = (ushf *)(s->pending_buf + (s->lit_bufsize << 1)); + s->l_buf = s->pending_buf + (s->lit_bufsize << 2); + s->sym_end = s->lit_bufsize - 1; +#else s->sym_buf = s->pending_buf + s->lit_bufsize; s->sym_end = (s->lit_bufsize - 1) * 3; +#endif /* We avoid equality with lit_bufsize*3 because of wraparound at 64K * on 16 bit machines and because stored blocks are restricted to * 64K-1 bytes. @@ -720,9 +726,15 @@ int ZEXPORT deflatePrime(z_streamp strm, int bits, int value) { if (deflateStateCheck(strm)) return Z_STREAM_ERROR; s = strm->state; +#ifdef LIT_MEM + if (bits < 0 || bits > 16 || + (uchf *)s->d_buf < s->pending_out + ((Buf_size + 7) >> 3)) + return Z_BUF_ERROR; +#else if (bits < 0 || bits > 16 || s->sym_buf < s->pending_out + ((Buf_size + 7) >> 3)) return Z_BUF_ERROR; +#endif do { put = Buf_size - s->bi_valid; if (put > bits) @@ -1294,7 +1306,7 @@ int ZEXPORT deflateCopy(z_streamp dest, z_streamp source) { ds->window = (Bytef *) ZALLOC(dest, ds->w_size, 2*sizeof(Byte)); ds->prev = (Posf *) ZALLOC(dest, ds->w_size, sizeof(Pos)); ds->head = (Posf *) ZALLOC(dest, ds->hash_size, sizeof(Pos)); - ds->pending_buf = (uchf *) ZALLOC(dest, ds->lit_bufsize, 4); + ds->pending_buf = (uchf *) ZALLOC(dest, ds->lit_bufsize, LIT_BUFS); if (ds->window == Z_NULL || ds->prev == Z_NULL || ds->head == Z_NULL || ds->pending_buf == Z_NULL) { @@ -1305,10 +1317,15 @@ int ZEXPORT deflateCopy(z_streamp dest, z_streamp source) { zmemcpy(ds->window, ss->window, ds->w_size * 2 * sizeof(Byte)); zmemcpy((voidpf)ds->prev, (voidpf)ss->prev, ds->w_size * sizeof(Pos)); zmemcpy((voidpf)ds->head, (voidpf)ss->head, ds->hash_size * sizeof(Pos)); - zmemcpy(ds->pending_buf, ss->pending_buf, (uInt)ds->pending_buf_size); + zmemcpy(ds->pending_buf, ss->pending_buf, ds->lit_bufsize * LIT_BUFS); ds->pending_out = ds->pending_buf + (ss->pending_out - ss->pending_buf); +#ifdef LIT_MEM + ds->d_buf = (ushf *)(ds->pending_buf + (ds->lit_bufsize << 1)); + ds->l_buf = ds->pending_buf + (ds->lit_bufsize << 2); +#else ds->sym_buf = ds->pending_buf + ds->lit_bufsize; +#endif ds->l_desc.dyn_tree = ds->dyn_ltree; ds->d_desc.dyn_tree = ds->dyn_dtree; @@ -1539,13 +1556,21 @@ local uInt longest_match(deflate_state *s, IPos cur_match) { */ local void check_match(deflate_state *s, IPos start, IPos match, int length) { /* check that the match is indeed a match */ - if (zmemcmp(s->window + match, - s->window + start, length) != EQUAL) { - fprintf(stderr, " start %u, match %u, length %d\n", - start, match, length); + Bytef *back = s->window + (int)match, *here = s->window + start; + IPos len = length; + if (match == (IPos)-1) { + /* match starts one byte before the current window -- just compare the + subsequent length-1 bytes */ + back++; + here++; + len--; + } + if (zmemcmp(back, here, len) != EQUAL) { + fprintf(stderr, " start %u, match %d, length %d\n", + start, (int)match, length); do { - fprintf(stderr, "%c%c", s->window[match++], s->window[start++]); - } while (--length != 0); + fprintf(stderr, "(%02x %02x)", *back++, *here++); + } while (--len != 0); z_error("invalid match"); } if (z_verbose > 1) { diff --git a/lib/zlib/deflate.h b/lib/zlib/deflate.h index 869679142..300c6ada6 100644 --- a/lib/zlib/deflate.h +++ b/lib/zlib/deflate.h @@ -1,5 +1,5 @@ /* deflate.h -- internal compression state - * Copyright (C) 1995-2018 Jean-loup Gailly + * Copyright (C) 1995-2024 Jean-loup Gailly * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -23,6 +23,10 @@ # define GZIP #endif +/* define LIT_MEM to slightly increase the speed of deflate (order 1% to 2%) at + the cost of a larger memory footprint */ +/* #define LIT_MEM */ + /* =========================================================================== * Internal compression state. */ @@ -217,7 +221,14 @@ typedef struct internal_state { /* Depth of each subtree used as tie breaker for trees of equal frequency */ +#ifdef LIT_MEM +# define LIT_BUFS 5 + ushf *d_buf; /* buffer for distances */ + uchf *l_buf; /* buffer for literals/lengths */ +#else +# define LIT_BUFS 4 uchf *sym_buf; /* buffer for distances and literals/lengths */ +#endif uInt lit_bufsize; /* Size of match buffer for literals/lengths. There are 4 reasons for @@ -239,7 +250,7 @@ typedef struct internal_state { * - I can't count above 4 */ - uInt sym_next; /* running index in sym_buf */ + uInt sym_next; /* running index in symbol buffer */ uInt sym_end; /* symbol table full when sym_next reaches this */ ulg opt_len; /* bit length of current block with optimal trees */ @@ -318,6 +329,25 @@ void ZLIB_INTERNAL _tr_stored_block(deflate_state *s, charf *buf, extern const uch ZLIB_INTERNAL _dist_code[]; #endif +#ifdef LIT_MEM +# define _tr_tally_lit(s, c, flush) \ + { uch cc = (c); \ + s->d_buf[s->sym_next] = 0; \ + s->l_buf[s->sym_next++] = cc; \ + s->dyn_ltree[cc].Freq++; \ + flush = (s->sym_next == s->sym_end); \ + } +# define _tr_tally_dist(s, distance, length, flush) \ + { uch len = (uch)(length); \ + ush dist = (ush)(distance); \ + s->d_buf[s->sym_next] = dist; \ + s->l_buf[s->sym_next++] = len; \ + dist--; \ + s->dyn_ltree[_length_code[len]+LITERALS+1].Freq++; \ + s->dyn_dtree[d_code(dist)].Freq++; \ + flush = (s->sym_next == s->sym_end); \ + } +#else # define _tr_tally_lit(s, c, flush) \ { uch cc = (c); \ s->sym_buf[s->sym_next++] = 0; \ @@ -337,6 +367,7 @@ void ZLIB_INTERNAL _tr_stored_block(deflate_state *s, charf *buf, s->dyn_dtree[d_code(dist)].Freq++; \ flush = (s->sym_next == s->sym_end); \ } +#endif #else # define _tr_tally_lit(s, c, flush) flush = _tr_tally(s, 0, c) # define _tr_tally_dist(s, distance, length, flush) \ diff --git a/lib/zlib/gzguts.h b/lib/zlib/gzguts.h index 4448a0998..935ed1a86 100644 --- a/lib/zlib/gzguts.h +++ b/lib/zlib/gzguts.h @@ -1,5 +1,5 @@ /* gzguts.h -- zlib internal header definitions for gz* operations - * Copyright (C) 2004-2019 Mark Adler + * Copyright (C) 2004-2024 Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -210,9 +210,5 @@ char ZLIB_INTERNAL *gz_strwinerror(DWORD error); /* GT_OFF(x), where x is an unsigned value, is true if x > maximum z_off64_t value -- needed when comparing unsigned to z_off64_t, which is signed (possible z_off64_t types off_t, off64_t, and long are all signed) */ -#ifdef INT_MAX -# define GT_OFF(x) (sizeof(int) == sizeof(z_off64_t) && (x) > INT_MAX) -#else unsigned ZLIB_INTERNAL gz_intmax(void); -# define GT_OFF(x) (sizeof(int) == sizeof(z_off64_t) && (x) > gz_intmax()) -#endif +#define GT_OFF(x) (sizeof(int) == sizeof(z_off64_t) && (x) > gz_intmax()) diff --git a/lib/zlib/gzlib.c b/lib/zlib/gzlib.c index 29fc4486f..983153cc8 100644 --- a/lib/zlib/gzlib.c +++ b/lib/zlib/gzlib.c @@ -1,5 +1,5 @@ /* gzlib.c -- zlib functions common to reading and writing gzip files - * Copyright (C) 2004-2019 Mark Adler + * Copyright (C) 2004-2024 Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -563,20 +563,20 @@ void ZLIB_INTERNAL gz_error(gz_statep state, int err, const char *msg) { #endif } -#ifndef INT_MAX /* portably return maximum value for an int (when limits.h presumed not available) -- we need to do this to cover cases where 2's complement not used, since C standard permits 1's complement and sign-bit representations, otherwise we could just use ((unsigned)-1) >> 1 */ unsigned ZLIB_INTERNAL gz_intmax(void) { - unsigned p, q; - - p = 1; +#ifdef INT_MAX + return INT_MAX; +#else + unsigned p = 1, q; do { q = p; p <<= 1; p++; } while (p > q); return q >> 1; -} #endif +} diff --git a/lib/zlib/inflate.c b/lib/zlib/inflate.c index ec11a970b..99c188921 100644 --- a/lib/zlib/inflate.c +++ b/lib/zlib/inflate.c @@ -1386,7 +1386,7 @@ int ZEXPORT inflateSync(z_streamp strm) { /* if first time, start search in bit buffer */ if (state->mode != SYNC) { state->mode = SYNC; - state->hold <<= state->bits & 7; + state->hold >>= state->bits & 7; state->bits -= state->bits & 7; len = 0; while (state->bits >= 8) { diff --git a/lib/zlib/inftrees.c b/lib/zlib/inftrees.c index 8a208c2da..98cfe1644 100644 --- a/lib/zlib/inftrees.c +++ b/lib/zlib/inftrees.c @@ -1,5 +1,5 @@ /* inftrees.c -- generate Huffman trees for efficient decoding - * Copyright (C) 1995-2023 Mark Adler + * Copyright (C) 1995-2024 Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -9,7 +9,7 @@ #define MAXBITS 15 const char inflate_copyright[] = - " inflate 1.3 Copyright 1995-2023 Mark Adler "; + " inflate 1.3.1 Copyright 1995-2024 Mark Adler "; /* If you use the zlib library in a product, an acknowledgment is welcome in the documentation of your product. If for some reason you cannot @@ -57,7 +57,7 @@ int ZLIB_INTERNAL inflate_table(codetype type, unsigned short FAR *lens, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0}; static const unsigned short lext[31] = { /* Length codes 257..285 extra */ 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, - 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 198, 203}; + 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 203, 77}; static const unsigned short dbase[32] = { /* Distance codes 0..29 base */ 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, diff --git a/lib/zlib/inftrees.h b/lib/zlib/inftrees.h index a10712d8c..396f74b5d 100644 --- a/lib/zlib/inftrees.h +++ b/lib/zlib/inftrees.h @@ -41,8 +41,8 @@ typedef struct { examples/enough.c found in the zlib distribution. The arguments to that program are the number of symbols, the initial root table size, and the maximum bit length of a code. "enough 286 9 15" for literal/length codes - returns returns 852, and "enough 30 6 15" for distance codes returns 592. - The initial root table size (9 or 6) is found in the fifth argument of the + returns 852, and "enough 30 6 15" for distance codes returns 592. The + initial root table size (9 or 6) is found in the fifth argument of the inflate_table() calls in inflate.c and infback.c. If the root table size is changed, then these maximum sizes would be need to be recalculated and updated. */ diff --git a/lib/zlib/trees.c b/lib/zlib/trees.c index 8dbdc40ba..6a523ef34 100644 --- a/lib/zlib/trees.c +++ b/lib/zlib/trees.c @@ -1,5 +1,5 @@ /* trees.c -- output deflated data using Huffman coding - * Copyright (C) 1995-2021 Jean-loup Gailly + * Copyright (C) 1995-2024 Jean-loup Gailly * detect_data_type() function provided freely by Cosmin Truta, 2006 * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -899,14 +899,19 @@ local void compress_block(deflate_state *s, const ct_data *ltree, const ct_data *dtree) { unsigned dist; /* distance of matched string */ int lc; /* match length or unmatched char (if dist == 0) */ - unsigned sx = 0; /* running index in sym_buf */ + unsigned sx = 0; /* running index in symbol buffers */ unsigned code; /* the code to send */ int extra; /* number of extra bits to send */ if (s->sym_next != 0) do { +#ifdef LIT_MEM + dist = s->d_buf[sx]; + lc = s->l_buf[sx++]; +#else dist = s->sym_buf[sx++] & 0xff; dist += (unsigned)(s->sym_buf[sx++] & 0xff) << 8; lc = s->sym_buf[sx++]; +#endif if (dist == 0) { send_code(s, lc, ltree); /* send a literal byte */ Tracecv(isgraph(lc), (stderr," '%c' ", lc)); @@ -931,8 +936,12 @@ local void compress_block(deflate_state *s, const ct_data *ltree, } } /* literal or match pair ? */ - /* Check that the overlay between pending_buf and sym_buf is ok: */ + /* Check for no overlay of pending_buf on needed symbols */ +#ifdef LIT_MEM + Assert(s->pending < 2 * (s->lit_bufsize + sx), "pendingBuf overflow"); +#else Assert(s->pending < s->lit_bufsize + sx, "pendingBuf overflow"); +#endif } while (sx < s->sym_next); @@ -1082,9 +1091,14 @@ void ZLIB_INTERNAL _tr_flush_block(deflate_state *s, charf *buf, * the current block must be flushed. */ int ZLIB_INTERNAL _tr_tally(deflate_state *s, unsigned dist, unsigned lc) { +#ifdef LIT_MEM + s->d_buf[s->sym_next] = (ush)dist; + s->l_buf[s->sym_next++] = (uch)lc; +#else s->sym_buf[s->sym_next++] = (uch)dist; s->sym_buf[s->sym_next++] = (uch)(dist >> 8); s->sym_buf[s->sym_next++] = (uch)lc; +#endif if (dist == 0) { /* lc is the unmatched char */ s->dyn_ltree[lc].Freq++; diff --git a/lib/zlib/zconf.h.in b/lib/zlib/zconf.h.in index ae34fee6d..106cb66a4 100644 --- a/lib/zlib/zconf.h.in +++ b/lib/zlib/zconf.h.in @@ -1,5 +1,5 @@ /* zconf.h -- configuration of the zlib compression library - * Copyright (C) 1995-2016 Jean-loup Gailly, Mark Adler + * Copyright (C) 1995-2024 Jean-loup Gailly, Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -329,14 +329,6 @@ # endif #endif -#ifndef Z_ARG /* function prototypes for stdarg */ -# if defined(STDC) || defined(Z_HAVE_STDARG_H) -# define Z_ARG(args) args -# else -# define Z_ARG(args) () -# endif -#endif - /* The following definitions for FAR are needed only for MSDOS mixed * model programming (small or medium model with some far allocations). * This was tested only with MSC; for other MSDOS compilers you may have diff --git a/lib/zlib/zlib.h b/lib/zlib/zlib.h index 6b7244f99..8d4b932ea 100644 --- a/lib/zlib/zlib.h +++ b/lib/zlib/zlib.h @@ -1,7 +1,7 @@ /* zlib.h -- interface of the 'zlib' general purpose compression library - version 1.3, August 18th, 2023 + version 1.3.1, January 22nd, 2024 - Copyright (C) 1995-2023 Jean-loup Gailly and Mark Adler + Copyright (C) 1995-2024 Jean-loup Gailly and Mark Adler This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages @@ -37,11 +37,11 @@ extern "C" { #endif -#define ZLIB_VERSION "1.3" -#define ZLIB_VERNUM 0x1300 +#define ZLIB_VERSION "1.3.1" +#define ZLIB_VERNUM 0x1310 #define ZLIB_VER_MAJOR 1 #define ZLIB_VER_MINOR 3 -#define ZLIB_VER_REVISION 0 +#define ZLIB_VER_REVISION 1 #define ZLIB_VER_SUBREVISION 0 /* @@ -936,10 +936,10 @@ ZEXTERN int ZEXPORT inflateSync(z_streamp strm); inflateSync returns Z_OK if a possible full flush point has been found, Z_BUF_ERROR if no more input was provided, Z_DATA_ERROR if no flush point has been found, or Z_STREAM_ERROR if the stream structure was inconsistent. - In the success case, the application may save the current current value of - total_in which indicates where valid compressed data was found. In the - error case, the application may repeatedly call inflateSync, providing more - input each time, until success or end of the input data. + In the success case, the application may save the current value of total_in + which indicates where valid compressed data was found. In the error case, + the application may repeatedly call inflateSync, providing more input each + time, until success or end of the input data. */ ZEXTERN int ZEXPORT inflateCopy(z_streamp dest, @@ -1758,14 +1758,14 @@ ZEXTERN uLong ZEXPORT crc32_combine(uLong crc1, uLong crc2, z_off_t len2); seq1 and seq2 with lengths len1 and len2, CRC-32 check values were calculated for each, crc1 and crc2. crc32_combine() returns the CRC-32 check value of seq1 and seq2 concatenated, requiring only crc1, crc2, and - len2. + len2. len2 must be non-negative. */ /* ZEXTERN uLong ZEXPORT crc32_combine_gen(z_off_t len2); Return the operator corresponding to length len2, to be used with - crc32_combine_op(). + crc32_combine_op(). len2 must be non-negative. */ ZEXTERN uLong ZEXPORT crc32_combine_op(uLong crc1, uLong crc2, uLong op); diff --git a/lib/zlib/zutil.h b/lib/zlib/zutil.h index 902a304cc..48dd7feba 100644 --- a/lib/zlib/zutil.h +++ b/lib/zlib/zutil.h @@ -1,5 +1,5 @@ /* zutil.h -- internal interface and configuration of the compression library - * Copyright (C) 1995-2022 Jean-loup Gailly, Mark Adler + * Copyright (C) 1995-2024 Jean-loup Gailly, Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -56,7 +56,7 @@ typedef unsigned long ulg; extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */ /* (size given to avoid silly warnings with Visual C++) */ -#define ERR_MSG(err) z_errmsg[Z_NEED_DICT-(err)] +#define ERR_MSG(err) z_errmsg[(err) < -6 || (err) > 2 ? 9 : 2 - (err)] #define ERR_RETURN(strm,err) \ return (strm->msg = ERR_MSG(err), (err)) @@ -137,17 +137,8 @@ extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */ # endif #endif -#if defined(MACOS) || defined(TARGET_OS_MAC) +#if defined(MACOS) # define OS_CODE 7 -# ifndef Z_SOLO -# if defined(__MWERKS__) && __dest_os != __be_os && __dest_os != __win32_os -# include /* for fdopen */ -# else -# ifndef fdopen -# define fdopen(fd,mode) NULL /* No fdopen() */ -# endif -# endif -# endif #endif #ifdef __acorn @@ -170,18 +161,6 @@ extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */ # define OS_CODE 19 #endif -#if defined(_BEOS_) || defined(RISCOS) -# define fdopen(fd,mode) NULL /* No fdopen() */ -#endif - -#if (defined(_MSC_VER) && (_MSC_VER > 600)) && !defined __INTERIX -# if defined(_WIN32_WCE) -# define fdopen(fd,mode) NULL /* No fdopen() */ -# else -# define fdopen(fd,type) _fdopen(fd,type) -# endif -#endif - #if defined(__BORLANDC__) && !defined(MSDOS) #pragma warn -8004 #pragma warn -8008 diff --git a/logsrvd/Makefile.in b/logsrvd/Makefile.in index 1c7e3ee82..f43e7e537 100644 --- a/logsrvd/Makefile.in +++ b/logsrvd/Makefile.in @@ -1,7 +1,7 @@ # # SPDX-License-Identifier: ISC # -# Copyright (c) 2019-2023 Todd C. Miller +# Copyright (c) 2019-2024 Todd C. Miller # # Permission to use, copy, modify, and distribute this software for any # purpose with or without fee is hereby granted, provided that the above @@ -34,6 +34,7 @@ cross_compiling = @CROSS_COMPILING@ # Compiler & tools to use CC = @CC@ +CPP = @CPP@ LIBTOOL = @LIBTOOL@ SHA1SUM = @SHA1SUM@ EGREP = @EGREP@ @@ -169,7 +170,7 @@ Makefile: $(srcdir)/Makefile.in $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $< .c.i: - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $< > $@ .i.plog: ifile=$<; rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $${ifile%i}c --i-file $< --output-file $@ @@ -333,9 +334,9 @@ fuzz_logsrvd_conf.i: $(srcdir)/regress/fuzz/fuzz_logsrvd_conf.c \ $(incdir)/sudo_util.h $(srcdir)/logsrv_util.h \ $(srcdir)/logsrvd.h $(srcdir)/tls_common.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/fuzz/fuzz_logsrvd_conf.c > $@ fuzz_logsrvd_conf.plog: fuzz_logsrvd_conf.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/fuzz/fuzz_logsrvd_conf.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/fuzz/fuzz_logsrvd_conf.c --i-file fuzz_logsrvd_conf.i --output-file $@ iolog_writer.o: $(srcdir)/iolog_writer.c $(incdir)/compat/stdbool.h \ $(incdir)/log_server.pb-c.h $(incdir)/protobuf-c/protobuf-c.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ @@ -355,9 +356,9 @@ iolog_writer.i: $(srcdir)/iolog_writer.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_ssl_compat.h $(incdir)/sudo_util.h \ $(srcdir)/logsrv_util.h $(srcdir)/logsrvd.h \ $(srcdir)/tls_common.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/iolog_writer.c > $@ iolog_writer.plog: iolog_writer.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_writer.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_writer.c --i-file iolog_writer.i --output-file $@ logsrv_util.o: $(srcdir)/logsrv_util.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ @@ -371,9 +372,9 @@ logsrv_util.i: $(srcdir)/logsrv_util.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_iolog.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ $(srcdir)/logsrv_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/logsrv_util.c > $@ logsrv_util.plog: logsrv_util.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/logsrv_util.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/logsrv_util.c --i-file logsrv_util.i --output-file $@ logsrvd.o: $(srcdir)/logsrvd.c $(incdir)/compat/getopt.h \ $(incdir)/compat/stdbool.h $(incdir)/hostcheck.h \ $(incdir)/log_server.pb-c.h $(incdir)/protobuf-c/protobuf-c.h \ @@ -399,9 +400,9 @@ logsrvd.i: $(srcdir)/logsrvd.c $(incdir)/compat/getopt.h \ $(incdir)/sudo_ssl_compat.h $(incdir)/sudo_util.h \ $(srcdir)/logsrv_util.h $(srcdir)/logsrvd.h $(srcdir)/tls_common.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/logsrvd.c > $@ logsrvd.plog: logsrvd.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/logsrvd.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/logsrvd.c --i-file logsrvd.i --output-file $@ logsrvd_conf.o: $(srcdir)/logsrvd_conf.c $(incdir)/compat/getaddrinfo.h \ $(incdir)/compat/stdbool.h $(incdir)/log_server.pb-c.h \ $(incdir)/protobuf-c/protobuf-c.h $(incdir)/sudo_compat.h \ @@ -423,9 +424,9 @@ logsrvd_conf.i: $(srcdir)/logsrvd_conf.c $(incdir)/compat/getaddrinfo.h \ $(incdir)/sudo_util.h $(srcdir)/logsrv_util.h \ $(srcdir)/logsrvd.h $(srcdir)/tls_common.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/logsrvd_conf.c > $@ logsrvd_conf.plog: logsrvd_conf.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/logsrvd_conf.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/logsrvd_conf.c --i-file logsrvd_conf.i --output-file $@ logsrvd_conf_test.o: $(srcdir)/regress/logsrvd_conf/logsrvd_conf_test.c \ $(incdir)/compat/stdbool.h $(incdir)/log_server.pb-c.h \ $(incdir)/protobuf-c/protobuf-c.h $(incdir)/sudo_compat.h \ @@ -441,9 +442,9 @@ logsrvd_conf_test.i: $(srcdir)/regress/logsrvd_conf/logsrvd_conf_test.c \ $(incdir)/sudo_ssl_compat.h $(incdir)/sudo_util.h \ $(srcdir)/logsrv_util.h $(srcdir)/logsrvd.h \ $(srcdir)/tls_common.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/logsrvd_conf/logsrvd_conf_test.c > $@ logsrvd_conf_test.plog: logsrvd_conf_test.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/logsrvd_conf/logsrvd_conf_test.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/logsrvd_conf/logsrvd_conf_test.c --i-file logsrvd_conf_test.i --output-file $@ logsrvd_journal.o: $(srcdir)/logsrvd_journal.c $(incdir)/compat/stdbool.h \ $(incdir)/log_server.pb-c.h \ $(incdir)/protobuf-c/protobuf-c.h $(incdir)/sudo_compat.h \ @@ -467,9 +468,9 @@ logsrvd_journal.i: $(srcdir)/logsrvd_journal.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_util.h $(srcdir)/logsrv_util.h \ $(srcdir)/logsrvd.h $(srcdir)/tls_common.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/logsrvd_journal.c > $@ logsrvd_journal.plog: logsrvd_journal.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/logsrvd_journal.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/logsrvd_journal.c --i-file logsrvd_journal.i --output-file $@ logsrvd_local.o: $(srcdir)/logsrvd_local.c $(incdir)/compat/stdbool.h \ $(incdir)/log_server.pb-c.h $(incdir)/protobuf-c/protobuf-c.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ @@ -493,9 +494,9 @@ logsrvd_local.i: $(srcdir)/logsrvd_local.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_ssl_compat.h $(incdir)/sudo_util.h \ $(srcdir)/logsrv_util.h $(srcdir)/logsrvd.h \ $(srcdir)/tls_common.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/logsrvd_local.c > $@ logsrvd_local.plog: logsrvd_local.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/logsrvd_local.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/logsrvd_local.c --i-file logsrvd_local.i --output-file $@ logsrvd_queue.o: $(srcdir)/logsrvd_queue.c $(incdir)/compat/stdbool.h \ $(incdir)/log_server.pb-c.h $(incdir)/protobuf-c/protobuf-c.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ @@ -517,9 +518,9 @@ logsrvd_queue.i: $(srcdir)/logsrvd_queue.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_ssl_compat.h $(incdir)/sudo_util.h \ $(srcdir)/logsrv_util.h $(srcdir)/logsrvd.h \ $(srcdir)/tls_common.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/logsrvd_queue.c > $@ logsrvd_queue.plog: logsrvd_queue.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/logsrvd_queue.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/logsrvd_queue.c --i-file logsrvd_queue.i --output-file $@ logsrvd_relay.o: $(srcdir)/logsrvd_relay.c $(incdir)/compat/stdbool.h \ $(incdir)/log_server.pb-c.h $(incdir)/protobuf-c/protobuf-c.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ @@ -541,9 +542,9 @@ logsrvd_relay.i: $(srcdir)/logsrvd_relay.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_util.h $(srcdir)/logsrv_util.h \ $(srcdir)/logsrvd.h $(srcdir)/tls_common.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/logsrvd_relay.c > $@ logsrvd_relay.plog: logsrvd_relay.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/logsrvd_relay.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/logsrvd_relay.c --i-file logsrvd_relay.i --output-file $@ sendlog.o: $(srcdir)/sendlog.c $(incdir)/compat/getaddrinfo.h \ $(incdir)/compat/getopt.h $(incdir)/compat/stdbool.h \ $(incdir)/hostcheck.h $(incdir)/log_server.pb-c.h \ @@ -567,9 +568,9 @@ sendlog.i: $(srcdir)/sendlog.c $(incdir)/compat/getaddrinfo.h \ $(incdir)/sudo_ssl_compat.h $(incdir)/sudo_util.h \ $(srcdir)/logsrv_util.h $(srcdir)/sendlog.h $(srcdir)/tls_common.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/sendlog.c > $@ sendlog.plog: sendlog.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sendlog.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sendlog.c --i-file sendlog.i --output-file $@ tls_client.o: $(srcdir)/tls_client.c $(incdir)/compat/stdbool.h \ $(incdir)/hostcheck.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_event.h \ @@ -587,9 +588,9 @@ tls_client.i: $(srcdir)/tls_client.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_ssl_compat.h $(incdir)/sudo_util.h \ $(srcdir)/logsrv_util.h $(srcdir)/tls_common.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/tls_client.c > $@ tls_client.plog: tls_client.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/tls_client.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/tls_client.c --i-file tls_client.i --output-file $@ tls_init.o: $(srcdir)/tls_init.c $(incdir)/compat/stdbool.h \ $(incdir)/hostcheck.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_event.h \ @@ -605,6 +606,6 @@ tls_init.i: $(srcdir)/tls_init.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ $(incdir)/sudo_ssl_compat.h $(srcdir)/tls_common.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/tls_init.c > $@ tls_init.plog: tls_init.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/tls_init.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/tls_init.c --i-file tls_init.i --output-file $@ diff --git a/logsrvd/iolog_writer.c b/logsrvd/iolog_writer.c index 940bd48b0..99ac0b592 100644 --- a/logsrvd/iolog_writer.c +++ b/logsrvd/iolog_writer.c @@ -150,8 +150,8 @@ evlog_new(TimeSpec *submit_time, InfoMessage **info_msgs, size_t infolen, /* Submit time. */ if (submit_time != NULL) { - evlog->submit_time.tv_sec = (time_t)submit_time->tv_sec; - evlog->submit_time.tv_nsec = (long)submit_time->tv_nsec; + evlog->event_time.tv_sec = (time_t)submit_time->tv_sec; + evlog->event_time.tv_nsec = (long)submit_time->tv_nsec; } /* Default values */ diff --git a/logsrvd/logsrvd.c b/logsrvd/logsrvd.c index a3c3af34c..084bfe230 100644 --- a/logsrvd/logsrvd.c +++ b/logsrvd/logsrvd.c @@ -1259,15 +1259,24 @@ verify_peer_identity(int preverify_ok, X509_STORE_CTX *ctx) X509 *peer_cert; debug_decl(verify_peer_identity, SUDO_DEBUG_UTIL); + current_cert = X509_STORE_CTX_get_current_cert(ctx); + /* if pre-verification of the cert failed, just propagate that result back */ if (preverify_ok != 1) { + int err = X509_STORE_CTX_get_error(ctx); + char current_cert_name[256] = ""; + if (current_cert != NULL) + X509_NAME_oneline(X509_get_subject_name(current_cert), current_cert_name, sizeof(current_cert_name)); + + sudo_debug_printf(SUDO_DEBUG_INFO|SUDO_DEBUG_LINENO, + "TLS verification failed for cert '%s': '%d:%s'", current_cert_name, + err, X509_verify_cert_error_string(err)); debug_return_int(0); } /* since this callback is called for each cert in the chain, * check that current cert is the peer's certificate */ - current_cert = X509_STORE_CTX_get_current_cert(ctx); peer_cert = X509_STORE_CTX_get0_cert(ctx); if (current_cert != peer_cert) { diff --git a/logsrvd/logsrvd_conf.c b/logsrvd/logsrvd_conf.c index ed125cd5c..96e944649 100644 --- a/logsrvd/logsrvd_conf.c +++ b/logsrvd/logsrvd_conf.c @@ -901,8 +901,13 @@ cb_eventlog_format(struct logsrvd_config *config, const char *str, size_t offset { debug_decl(cb_eventlog_format, SUDO_DEBUG_UTIL); + /* FFR - make "json" an alias for EVLOG_JSON_COMPACT instead. */ if (strcmp(str, "json") == 0) - config->eventlog.log_format = EVLOG_JSON; + config->eventlog.log_format = EVLOG_JSON_PRETTY; + else if (strcmp(str, "json_compact") == 0) + config->eventlog.log_format = EVLOG_JSON_COMPACT; + else if (strcmp(str, "json_pretty") == 0) + config->eventlog.log_format = EVLOG_JSON_PRETTY; else if (strcmp(str, "sudo") == 0) config->eventlog.log_format = EVLOG_SUDO; else @@ -1292,8 +1297,8 @@ logsrvd_open_eventlog(struct logsrvd_config *config) int flags; debug_decl(logsrvd_open_eventlog, SUDO_DEBUG_UTIL); - /* Cannot append to a JSON file. */ - if (config->eventlog.log_format == EVLOG_JSON) { + /* Cannot append to a JSON file that is a single object. */ + if (config->eventlog.log_format == EVLOG_JSON_PRETTY) { flags = O_RDWR|O_CREAT; } else { flags = O_WRONLY|O_APPEND|O_CREAT; diff --git a/logsrvd/logsrvd_journal.c b/logsrvd/logsrvd_journal.c index e4d2083f1..d26e1b18d 100644 --- a/logsrvd/logsrvd_journal.c +++ b/logsrvd/logsrvd_journal.c @@ -484,7 +484,7 @@ journal_accept(AcceptMessage *msg, uint8_t *buf, size_t len, debug_decl(journal_accept, SUDO_DEBUG_UTIL); if (closure->journal_path != NULL) { - /* Re-use existing journal file. */ + /* Reuse existing journal file. */ debug_return_bool(journal_write(buf, len, closure)); } diff --git a/logsrvd/logsrvd_local.c b/logsrvd/logsrvd_local.c index 8096d97dd..024ae7cfa 100644 --- a/logsrvd/logsrvd_local.c +++ b/logsrvd/logsrvd_local.c @@ -220,7 +220,7 @@ store_accept_local(AcceptMessage *msg, uint8_t *buf, size_t len, evlog->iolog_file = evlog->iolog_path + (closure->evlog->iolog_file - closure->evlog->iolog_path); } - sudo_timespecsub(&evlog->submit_time, &closure->evlog->submit_time, + sudo_timespecsub(&evlog->event_time, &closure->evlog->event_time, &evlog->iolog_offset); } @@ -283,7 +283,7 @@ store_reject_local(RejectMessage *msg, uint8_t *buf, size_t len, evlog->iolog_file = evlog->iolog_path + (closure->evlog->iolog_file - closure->evlog->iolog_path); } - sudo_timespecsub(&evlog->submit_time, &closure->evlog->submit_time, + sudo_timespecsub(&evlog->event_time, &closure->evlog->event_time, &evlog->iolog_offset); } diff --git a/logsrvd/sendlog.c b/logsrvd/sendlog.c index 0ebc2ad2e..063880190 100644 --- a/logsrvd/sendlog.c +++ b/logsrvd/sendlog.c @@ -691,8 +691,8 @@ fmt_reject_message(struct client_closure *closure) } /* Sudo I/O logs only store start time in seconds. */ - tv.tv_sec = (int64_t)closure->evlog->submit_time.tv_sec; - tv.tv_nsec = (int32_t)closure->evlog->submit_time.tv_nsec; + tv.tv_sec = (int64_t)closure->evlog->event_time.tv_sec; + tv.tv_nsec = (int32_t)closure->evlog->event_time.tv_nsec; reject_msg.submit_time = &tv; /* Why the command was rejected. */ @@ -750,8 +750,8 @@ fmt_accept_message(struct client_closure *closure) } /* Sudo I/O logs only store start time in seconds. */ - tv.tv_sec = (int64_t)closure->evlog->submit_time.tv_sec; - tv.tv_nsec = (int32_t)closure->evlog->submit_time.tv_nsec; + tv.tv_sec = (int64_t)closure->evlog->event_time.tv_sec; + tv.tv_nsec = (int32_t)closure->evlog->event_time.tv_nsec; accept_msg.submit_time = &tv; /* Client will send IoBuffer messages. */ diff --git a/logsrvd/tls_client.c b/logsrvd/tls_client.c index 0cb0aa20b..c38abf411 100644 --- a/logsrvd/tls_client.c +++ b/logsrvd/tls_client.c @@ -67,8 +67,18 @@ verify_peer_identity(int preverify_ok, X509_STORE_CTX *ctx) X509 *peer_cert; debug_decl(verify_peer_identity, SUDO_DEBUG_UTIL); + current_cert = X509_STORE_CTX_get_current_cert(ctx); + /* if pre-verification of the cert failed, just propagate that result back */ if (preverify_ok != 1) { + int err = X509_STORE_CTX_get_error(ctx); + char current_cert_name[256] = ""; + if (current_cert != NULL) + X509_NAME_oneline(X509_get_subject_name(current_cert), current_cert_name, sizeof(current_cert_name)); + + sudo_debug_printf(SUDO_DEBUG_INFO|SUDO_DEBUG_LINENO, + "TLS verification failed for cert '%s': '%d:%s'", current_cert_name, + err, X509_verify_cert_error_string(err)); debug_return_int(0); } @@ -76,7 +86,6 @@ verify_peer_identity(int preverify_ok, X509_STORE_CTX *ctx) * Since this callback is called for each cert in the chain, * check that current cert is the peer's certificate */ - current_cert = X509_STORE_CTX_get_current_cert(ctx); peer_cert = X509_STORE_CTX_get0_cert(ctx); if (current_cert != peer_cert) { debug_return_int(1); diff --git a/m4/openssl.m4 b/m4/openssl.m4 index 6c2d6a688..d1dbbac29 100644 --- a/m4/openssl.m4 +++ b/m4/openssl.m4 @@ -228,7 +228,7 @@ AC_DEFUN([SUDO_CHECK_OPENSSL], [ # So we find the openssl compat headers under wolfssl AX_APPEND_FLAG([$f/wolfssl], [CPPFLAGS]) done - if test "$CPPFLAGS" = "$O_CPPFLAGS"; then + if test "$cross_compiling" != "yes" -a "$CPPFLAGS" = "$O_CPPFLAGS"; then # So we find the openssl compat headers under wolfssl (XXX) AX_APPEND_FLAG([-I/usr/include/wolfssl], [CPPFLAGS]) fi diff --git a/plugins/audit_json/Makefile.in b/plugins/audit_json/Makefile.in index e885a3959..e10d70a94 100644 --- a/plugins/audit_json/Makefile.in +++ b/plugins/audit_json/Makefile.in @@ -1,7 +1,7 @@ # # SPDX-License-Identifier: ISC # -# Copyright (c) 2020-2023 Todd C. Miller +# Copyright (c) 2020-2024 Todd C. Miller # # Permission to use, copy, modify, and distribute this software for any # purpose with or without fee is hereby granted, provided that the above @@ -31,6 +31,7 @@ cross_compiling = @CROSS_COMPILING@ # Compiler & tools to use CC = @CC@ +CPP = @CPP@ LIBTOOL = @LIBTOOL@ SED = @SED@ AWK = @AWK@ @@ -133,7 +134,7 @@ Makefile: $(srcdir)/Makefile.in $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $< .c.i: - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $< > $@ .i.plog: ifile=$<; rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $${ifile%i}c --i-file $< --output-file $@ @@ -210,23 +211,21 @@ cleandir: realclean .PHONY: clean mostlyclean distclean cleandir clobber realclean # Autogenerated dependencies, do not modify -getgrent.lo: $(srcdir)/getgrent.c $(incdir)/compat/stdbool.h \ - $(incdir)/sudo_compat.h $(incdir)/sudo_util.h \ - $(top_builddir)/config.h - $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/getgrent.c -getgrent.i: $(srcdir)/getgrent.c $(incdir)/compat/stdbool.h \ - $(incdir)/sudo_compat.h $(incdir)/sudo_util.h \ - $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< -getgrent.plog: getgrent.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/getgrent.c --i-file $< --output-file $@ audit_json.lo: $(srcdir)/audit_json.c $(incdir)/compat/stdbool.h \ - $(incdir)/sudo_compat.h $(incdir)/sudo_plugin.h \ - $(top_builddir)/config.h + $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ + $(incdir)/sudo_debug.h $(incdir)/sudo_dso.h \ + $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ + $(incdir)/sudo_json.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/audit_json.c audit_json.i: $(srcdir)/audit_json.c $(incdir)/compat/stdbool.h \ - $(incdir)/sudo_compat.h $(incdir)/sudo_plugin.h \ - $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ + $(incdir)/sudo_debug.h $(incdir)/sudo_dso.h \ + $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ + $(incdir)/sudo_json.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(CPP) $(CPPFLAGS) $(srcdir)/audit_json.c > $@ audit_json.plog: audit_json.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/audit_json.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/audit_json.c --i-file audit_json.i --output-file $@ diff --git a/plugins/audit_json/audit_json.c b/plugins/audit_json/audit_json.c index c19c29be2..be0717235 100644 --- a/plugins/audit_json/audit_json.c +++ b/plugins/audit_json/audit_json.c @@ -348,22 +348,26 @@ add_timestamp(struct json_container *jsonc, struct timespec *ts) if (gmtime_r(&secs, &gmt) == NULL) debug_return_bool(false); - sudo_json_open_object(jsonc, "timestamp"); + if (!sudo_json_open_object(jsonc, "timestamp")) + debug_return_bool(false); json_value.type = JSON_NUMBER; json_value.u.number = ts->tv_sec; - sudo_json_add_value(jsonc, "seconds", &json_value); + if (!sudo_json_add_value(jsonc, "seconds", &json_value)) + debug_return_bool(false); json_value.type = JSON_NUMBER; json_value.u.number = ts->tv_nsec; - sudo_json_add_value(jsonc, "nanoseconds", &json_value); + if (!sudo_json_add_value(jsonc, "nanoseconds", &json_value)) + debug_return_bool(false); 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(jsonc, "iso8601", &json_value); + if (!sudo_json_add_value(jsonc, "iso8601", &json_value)) + debug_return_bool(false); } timebuf[sizeof(timebuf) - 1] = '\0'; @@ -371,10 +375,12 @@ add_timestamp(struct json_container *jsonc, 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(jsonc, "localtime", &json_value); + if (!sudo_json_add_value(jsonc, "localtime", &json_value)) + debug_return_bool(false); } - sudo_json_close_object(jsonc); + if (!sudo_json_close_object(jsonc)) + debug_return_bool(false); debug_return_bool(true); } diff --git a/plugins/group_file/Makefile.in b/plugins/group_file/Makefile.in index 3223292bd..8885286ec 100644 --- a/plugins/group_file/Makefile.in +++ b/plugins/group_file/Makefile.in @@ -1,7 +1,7 @@ # # SPDX-License-Identifier: ISC # -# Copyright (c) 2010-2023 Todd C. Miller +# Copyright (c) 2010-2024 Todd C. Miller # # Permission to use, copy, modify, and distribute this software for any # purpose with or without fee is hereby granted, provided that the above @@ -33,6 +33,7 @@ cross_compiling = @CROSS_COMPILING@ # Compiler & tools to use CC = @CC@ +CPP = @CPP@ LIBTOOL = @LIBTOOL@ SED = @SED@ AWK = @AWK@ @@ -135,7 +136,7 @@ Makefile: $(srcdir)/Makefile.in $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $< .c.i: - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $< > $@ .i.plog: ifile=$<; rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $${ifile%i}c --i-file $< --output-file $@ @@ -219,9 +220,9 @@ getgrent.lo: $(srcdir)/getgrent.c $(incdir)/compat/stdbool.h \ getgrent.i: $(srcdir)/getgrent.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/getgrent.c > $@ getgrent.plog: getgrent.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/getgrent.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/getgrent.c --i-file getgrent.i --output-file $@ group_file.lo: $(srcdir)/group_file.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_plugin.h \ $(top_builddir)/config.h @@ -229,6 +230,6 @@ group_file.lo: $(srcdir)/group_file.c $(incdir)/compat/stdbool.h \ group_file.i: $(srcdir)/group_file.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_plugin.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/group_file.c > $@ group_file.plog: group_file.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/group_file.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/group_file.c --i-file group_file.i --output-file $@ diff --git a/plugins/python/Makefile.in b/plugins/python/Makefile.in index 423aed4b7..2e1d2aad8 100644 --- a/plugins/python/Makefile.in +++ b/plugins/python/Makefile.in @@ -1,7 +1,7 @@ # # SPDX-License-Identifier: ISC # -# Copyright (c) 2019-2023 Todd C. Miller +# Copyright (c) 2019-2024 Todd C. Miller # # Permission to use, copy, modify, and distribute this software for any # purpose with or without fee is hereby granted, provided that the above @@ -35,6 +35,7 @@ cross_compiling = @CROSS_COMPILING@ # Compiler & tools to use CC = @CC@ +CPP = @CPP@ LIBTOOL = @LIBTOOL@ EGREP = @EGREP@ SED = @SED@ @@ -157,7 +158,7 @@ Makefile: $(srcdir)/Makefile.in $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $< .c.i: - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $< > $@ .i.plog: ifile=$<; rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $${ifile%i}c --i-file $< --output-file $@ @@ -275,19 +276,21 @@ check_python_examples.i: $(srcdir)/regress/check_python_examples.c \ $(srcdir)/regress/iohelpers.h \ $(srcdir)/regress/testhelpers.h \ $(srcdir)/sudo_python_debug.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/check_python_examples.c > $@ 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 $@ + 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 check_python_examples.i --output-file $@ iohelpers.o: $(srcdir)/regress/iohelpers.c $(incdir)/compat/stdbool.h \ - $(incdir)/sudo_compat.h $(srcdir)/regress/iohelpers.h \ + $(incdir)/sudo_compat.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_plugin.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)/compat/stdbool.h \ - $(incdir)/sudo_compat.h $(srcdir)/regress/iohelpers.h \ + $(incdir)/sudo_compat.h $(incdir)/sudo_fatal.h \ + $(incdir)/sudo_plugin.h $(srcdir)/regress/iohelpers.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/iohelpers.c > $@ 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 $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/iohelpers.c --i-file iohelpers.i --output-file $@ pyhelpers.lo: $(srcdir)/pyhelpers.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ @@ -301,9 +304,9 @@ pyhelpers.i: $(srcdir)/pyhelpers.c $(incdir)/compat/stdbool.h \ $(srcdir)/pyhelpers.h $(srcdir)/pyhelpers_cpychecker.h \ $(srcdir)/sudo_python_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/pyhelpers.c > $@ pyhelpers.plog: pyhelpers.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/pyhelpers.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/pyhelpers.c --i-file pyhelpers.i --output-file $@ pyhelpers.o: $(srcdir)/pyhelpers.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ @@ -324,9 +327,9 @@ python_baseplugin.i: $(srcdir)/python_baseplugin.c $(incdir)/compat/stdbool.h \ $(srcdir)/pyhelpers.h $(srcdir)/pyhelpers_cpychecker.h \ $(srcdir)/sudo_python_debug.h \ $(srcdir)/sudo_python_module.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/python_baseplugin.c > $@ python_baseplugin.plog: python_baseplugin.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/python_baseplugin.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/python_baseplugin.c --i-file python_baseplugin.i --output-file $@ python_convmessage.lo: $(srcdir)/python_convmessage.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h \ @@ -342,9 +345,9 @@ python_convmessage.i: $(srcdir)/python_convmessage.c \ $(srcdir)/pyhelpers_cpychecker.h \ $(srcdir)/sudo_python_debug.h \ $(srcdir)/sudo_python_module.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/python_convmessage.c > $@ python_convmessage.plog: python_convmessage.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/python_convmessage.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/python_convmessage.c --i-file python_convmessage.i --output-file $@ python_loghandler.lo: $(srcdir)/python_loghandler.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ @@ -358,9 +361,9 @@ python_loghandler.i: $(srcdir)/python_loghandler.c $(incdir)/compat/stdbool.h \ $(srcdir)/pyhelpers.h $(srcdir)/pyhelpers_cpychecker.h \ $(srcdir)/sudo_python_debug.h \ $(srcdir)/sudo_python_module.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/python_loghandler.c > $@ python_loghandler.plog: python_loghandler.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/python_loghandler.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/python_loghandler.c --i-file python_loghandler.i --output-file $@ python_plugin_approval.lo: $(srcdir)/python_plugin_approval.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h \ @@ -380,9 +383,9 @@ python_plugin_approval.i: $(srcdir)/python_plugin_approval.c \ $(srcdir)/python_plugin_common.h \ $(srcdir)/sudo_python_debug.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/python_plugin_approval.c > $@ python_plugin_approval.plog: python_plugin_approval.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/python_plugin_approval.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/python_plugin_approval.c --i-file python_plugin_approval.i --output-file $@ python_plugin_audit.lo: $(srcdir)/python_plugin_audit.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h \ @@ -400,9 +403,9 @@ python_plugin_audit.i: $(srcdir)/python_plugin_audit.c \ $(srcdir)/python_plugin_audit_multi.inc \ $(srcdir)/python_plugin_common.h \ $(srcdir)/sudo_python_debug.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/python_plugin_audit.c > $@ python_plugin_audit.plog: python_plugin_audit.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/python_plugin_audit.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/python_plugin_audit.c --i-file python_plugin_audit.i --output-file $@ python_plugin_common.lo: $(srcdir)/python_plugin_common.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -422,9 +425,9 @@ python_plugin_common.i: $(srcdir)/python_plugin_common.c \ $(srcdir)/python_plugin_common.h \ $(srcdir)/sudo_python_debug.h \ $(srcdir)/sudo_python_module.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/python_plugin_common.c > $@ python_plugin_common.plog: python_plugin_common.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/python_plugin_common.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/python_plugin_common.c --i-file python_plugin_common.i --output-file $@ python_plugin_group.lo: $(srcdir)/python_plugin_group.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h \ @@ -440,9 +443,9 @@ python_plugin_group.i: $(srcdir)/python_plugin_group.c \ $(srcdir)/pyhelpers_cpychecker.h \ $(srcdir)/python_plugin_common.h \ $(srcdir)/sudo_python_debug.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/python_plugin_group.c > $@ python_plugin_group.plog: python_plugin_group.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/python_plugin_group.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/python_plugin_group.c --i-file python_plugin_group.i --output-file $@ python_plugin_io.lo: $(srcdir)/python_plugin_io.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ @@ -458,9 +461,9 @@ python_plugin_io.i: $(srcdir)/python_plugin_io.c $(incdir)/compat/stdbool.h \ $(srcdir)/python_plugin_common.h \ $(srcdir)/python_plugin_io_multi.inc \ $(srcdir)/sudo_python_debug.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/python_plugin_io.c > $@ python_plugin_io.plog: python_plugin_io.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/python_plugin_io.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/python_plugin_io.c --i-file python_plugin_io.i --output-file $@ python_plugin_policy.lo: $(srcdir)/python_plugin_policy.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h \ @@ -476,9 +479,9 @@ python_plugin_policy.i: $(srcdir)/python_plugin_policy.c \ $(srcdir)/pyhelpers_cpychecker.h \ $(srcdir)/python_plugin_common.h \ $(srcdir)/sudo_python_debug.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/python_plugin_policy.c > $@ python_plugin_policy.plog: python_plugin_policy.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/python_plugin_policy.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/python_plugin_policy.c --i-file python_plugin_policy.i --output-file $@ sudo_python_debug.lo: $(srcdir)/sudo_python_debug.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_fatal.h \ @@ -492,9 +495,9 @@ sudo_python_debug.i: $(srcdir)/sudo_python_debug.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_queue.h $(srcdir)/sudo_python_debug.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/sudo_python_debug.c > $@ sudo_python_debug.plog: sudo_python_debug.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sudo_python_debug.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sudo_python_debug.c --i-file sudo_python_debug.i --output-file $@ sudo_python_debug.o: $(srcdir)/sudo_python_debug.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_fatal.h \ @@ -517,9 +520,9 @@ sudo_python_module.i: $(srcdir)/sudo_python_module.c \ $(srcdir)/pyhelpers_cpychecker.h \ $(srcdir)/sudo_python_debug.h \ $(srcdir)/sudo_python_module.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/sudo_python_module.c > $@ sudo_python_module.plog: sudo_python_module.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sudo_python_module.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sudo_python_module.c --i-file sudo_python_module.i --output-file $@ testhelpers.o: $(srcdir)/regress/testhelpers.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h \ @@ -535,6 +538,6 @@ testhelpers.i: $(srcdir)/regress/testhelpers.c $(incdir)/compat/stdbool.h \ $(srcdir)/pyhelpers_cpychecker.h $(srcdir)/regress/iohelpers.h \ $(srcdir)/regress/testhelpers.h $(srcdir)/sudo_python_debug.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/testhelpers.c > $@ testhelpers.plog: testhelpers.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/testhelpers.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/testhelpers.c --i-file testhelpers.i --output-file $@ diff --git a/plugins/python/example_io_plugin.py b/plugins/python/example_io_plugin.py index dc4c6a762..8a3412ac7 100644 --- a/plugins/python/example_io_plugin.py +++ b/plugins/python/example_io_plugin.py @@ -54,7 +54,7 @@ class SudoIOPlugin(sudo.Plugin): """ if not version.startswith("1."): raise sudo.SudoException( - "This plugin plugin is not compatible with python plugin" + "This plugin is not compatible with python plugin" "API version {}".format(version)) # convert tuple of "key=value"s to dict diff --git a/plugins/python/example_policy_plugin.py b/plugins/python/example_policy_plugin.py index dfb15ca44..e226c4671 100644 --- a/plugins/python/example_policy_plugin.py +++ b/plugins/python/example_policy_plugin.py @@ -58,7 +58,7 @@ class SudoPolicyPlugin(sudo.Plugin): """ if not version.startswith("1."): raise sudo.PluginError( - "This plugin plugin is not compatible with python plugin" + "This plugin is not compatible with python plugin" "API version {}".format(version)) self.user_env = sudo.options_as_dict(user_env) 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 258902596..b63037989 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.21" + "version": "1.22" } (APPROVAL 2) Constructed: { @@ -56,7 +56,7 @@ "INFO1=VALUE1", "info2=value2" ], - "version": "1.21" + "version": "1.22" } (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/regress/testhelpers.c b/plugins/python/regress/testhelpers.c index ee55fb901..0f28d01e9 100644 --- a/plugins/python/regress/testhelpers.c +++ b/plugins/python/regress/testhelpers.c @@ -27,19 +27,19 @@ struct TestData data; /* * Starting with Python 3.11, backtraces may contain a line with - * '^' characters to bring attention to the important part of the - * line. + * '~' and '^' characters to bring attention to the important part + * of the line. */ static void remove_underline(char *output) { char *cp, *ep; - // Remove lines that only consist of '^' and white space. + // Remove lines that only consist of '~', '^' and white space. cp = output; ep = output + strlen(output); for (;;) { - size_t len = strspn(cp, "^ \t"); + size_t len = strspn(cp, "~^ \t"); if (len > 0 && cp[len] == '\n') { /* Prune out lines that are "underlining". */ memmove(cp, cp + len + 1, (size_t)(ep - cp)); diff --git a/plugins/sample/Makefile.in b/plugins/sample/Makefile.in index a20cdd476..2547576df 100644 --- a/plugins/sample/Makefile.in +++ b/plugins/sample/Makefile.in @@ -1,7 +1,7 @@ # # SPDX-License-Identifier: ISC # -# Copyright (c) 2011-2023 Todd C. Miller +# Copyright (c) 2011-2024 Todd C. Miller # # Permission to use, copy, modify, and distribute this software for any # purpose with or without fee is hereby granted, provided that the above @@ -33,6 +33,7 @@ cross_compiling = @CROSS_COMPILING@ # Compiler & tools to use CC = @CC@ +CPP = @CPP@ LIBTOOL = @LIBTOOL@ SED = @SED@ AWK = @AWK@ @@ -130,7 +131,7 @@ Makefile: $(srcdir)/Makefile.in $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $< .c.i: - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $< > $@ .i.plog: ifile=$<; rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $${ifile%i}c --i-file $< --output-file $@ @@ -216,6 +217,6 @@ sample_plugin.i: $(srcdir)/sample_plugin.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/sample_plugin.c > $@ sample_plugin.plog: sample_plugin.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sample_plugin.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sample_plugin.c --i-file sample_plugin.i --output-file $@ diff --git a/plugins/sample/sample_plugin.c b/plugins/sample/sample_plugin.c index a52920819..143ed1309 100644 --- a/plugins/sample/sample_plugin.c +++ b/plugins/sample/sample_plugin.c @@ -345,7 +345,7 @@ policy_check(int argc, char * const argv[], } use_sudoedit = true; } else { - /* No changes needd to argv */ + /* No changes needed to argv */ *argv_out = (char **)argv; } diff --git a/plugins/sample_approval/Makefile.in b/plugins/sample_approval/Makefile.in index 3ffe46541..001c14d76 100644 --- a/plugins/sample_approval/Makefile.in +++ b/plugins/sample_approval/Makefile.in @@ -1,7 +1,7 @@ # # SPDX-License-Identifier: ISC # -# Copyright (c) 2020-2023 Todd C. Miller +# Copyright (c) 2020-2024 Todd C. Miller # # Permission to use, copy, modify, and distribute this software for any # purpose with or without fee is hereby granted, provided that the above @@ -31,6 +31,7 @@ cross_compiling = @CROSS_COMPILING@ # Compiler & tools to use CC = @CC@ +CPP = @CPP@ LIBTOOL = @LIBTOOL@ SED = @SED@ AWK = @AWK@ @@ -133,7 +134,7 @@ Makefile: $(srcdir)/Makefile.in $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $< .c.i: - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $< > $@ .i.plog: ifile=$<; rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $${ifile%i}c --i-file $< --output-file $@ @@ -210,23 +211,19 @@ cleandir: realclean .PHONY: clean mostlyclean distclean cleandir clobber realclean # Autogenerated dependencies, do not modify -getgrent.lo: $(srcdir)/getgrent.c $(incdir)/compat/stdbool.h \ - $(incdir)/sudo_compat.h $(incdir)/sudo_util.h \ - $(top_builddir)/config.h - $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/getgrent.c -getgrent.i: $(srcdir)/getgrent.c $(incdir)/compat/stdbool.h \ - $(incdir)/sudo_compat.h $(incdir)/sudo_util.h \ - $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< -getgrent.plog: getgrent.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/getgrent.c --i-file $< --output-file $@ sample_approval.lo: $(srcdir)/sample_approval.c $(incdir)/compat/stdbool.h \ - $(incdir)/sudo_compat.h $(incdir)/sudo_plugin.h \ - $(top_builddir)/config.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 $(incdir)/sudo_util.h \ + $(top_builddir)/config.h $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/sample_approval.c sample_approval.i: $(srcdir)/sample_approval.c $(incdir)/compat/stdbool.h \ - $(incdir)/sudo_compat.h $(incdir)/sudo_plugin.h \ - $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(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 $(incdir)/sudo_util.h \ + $(top_builddir)/config.h + $(CPP) $(CPPFLAGS) $(srcdir)/sample_approval.c > $@ sample_approval.plog: sample_approval.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sample_approval.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sample_approval.c --i-file sample_approval.i --output-file $@ diff --git a/plugins/sudoers/Makefile.in b/plugins/sudoers/Makefile.in index 71218db6b..5c5f3d17a 100644 --- a/plugins/sudoers/Makefile.in +++ b/plugins/sudoers/Makefile.in @@ -1,7 +1,7 @@ # # SPDX-License-Identifier: ISC # -# Copyright (c) 1996, 1998-2005, 2007-2023 +# Copyright (c) 1996, 1998-2005, 2007-2024 # Todd C. Miller # # Permission to use, copy, modify, and distribute this software for any @@ -43,6 +43,7 @@ cross_compiling = @CROSS_COMPILING@ # Compiler & tools to use CC = @CC@ +CPP = @CPP@ LIBTOOL = @LIBTOOL@ SHA1SUM = @SHA1SUM@ FLEX = @FLEX@ @@ -152,7 +153,7 @@ DEVEL = @DEVEL@ SHELL = @SHELL@ -PROGS = sudoers.la visudo sudoreplay cvtsudoers testsudoers +PROGS = sudoers.la visudo sudoreplay cvtsudoers testsudoers tsdump # Regression tests TEST_PROGS = check_addr check_base64 check_digest check_editor \ @@ -317,7 +318,7 @@ all: $(PROGS) $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $< .c.i: - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $< > $@ .i.plog: ifile=$<; rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $${ifile%i}c --i-file $< --output-file $@ @@ -410,7 +411,7 @@ check_unesc: $(CHECK_UNESC_OBJS) $(LIBUTIL) # We need to link check_symbols with -lpthread on HP-UX since LDAP uses threads check_symbols: $(CHECK_SYMBOLS_OBJS) $(LIBUTIL) - $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_SYMBOLS_OBJS) $(CHECK_SYMBOLS_LDFLAGS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(LIBS) @SUDO_LIBS@ + $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(CHECK_SYMBOLS_OBJS) $(CHECK_SYMBOLS_LDFLAGS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(LIBS) @SUDO_LIBS@ @ZLIB@ fuzz_policy: $(FUZZ_POLICY_OBJS) libparsesudoers.la $(LIBEVENTLOG) $(LIBUTIL) $(LIBFUZZSTUB) $(LIBTOOL) $(LTFLAGS) --mode=link @FUZZ_LD@ -o $@ $(FUZZ_POLICY_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(HARDENING_LDFLAGS) $(FUZZ_LDFLAGS) $(FUZZ_LIBS) $(LIBEVENTLOG) @@ -739,9 +740,9 @@ afs.i: $(authdir)/afs.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(srcdir)/timestamp.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(authdir)/afs.c > $@ afs.plog: afs.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(authdir)/afs.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(authdir)/afs.c --i-file afs.i --output-file $@ aix_auth.lo: $(authdir)/aix_auth.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -763,9 +764,9 @@ aix_auth.i: $(authdir)/aix_auth.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(authdir)/aix_auth.c > $@ aix_auth.plog: aix_auth.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(authdir)/aix_auth.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(authdir)/aix_auth.c --i-file aix_auth.i --output-file $@ alias.lo: $(srcdir)/alias.c $(devdir)/def_data.h $(devdir)/gram.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -787,9 +788,9 @@ alias.i: $(srcdir)/alias.c $(devdir)/def_data.h $(devdir)/gram.h \ $(srcdir)/redblack.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/alias.c > $@ alias.plog: alias.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/alias.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/alias.c --i-file alias.i --output-file $@ audit.lo: $(srcdir)/audit.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ $(incdir)/log_server.pb-c.h $(incdir)/protobuf-c/protobuf-c.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -813,9 +814,9 @@ audit.i: $(srcdir)/audit.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/solaris_audit.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/audit.c > $@ audit.plog: audit.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/audit.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/audit.c --i-file audit.i --output-file $@ b64_decode.lo: $(srcdir)/b64_decode.c $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -837,9 +838,9 @@ b64_decode.i: $(srcdir)/b64_decode.c $(devdir)/def_data.h \ $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/b64_decode.c > $@ b64_decode.plog: b64_decode.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/b64_decode.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/b64_decode.c --i-file b64_decode.i --output-file $@ b64_encode.o: $(srcdir)/b64_encode.c $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -861,9 +862,9 @@ b64_encode.i: $(srcdir)/b64_encode.c $(devdir)/def_data.h \ $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/b64_encode.c > $@ b64_encode.plog: b64_encode.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/b64_encode.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/b64_encode.c --i-file b64_encode.i --output-file $@ boottime.lo: $(srcdir)/boottime.c $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -885,9 +886,9 @@ boottime.i: $(srcdir)/boottime.c $(devdir)/def_data.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/boottime.c > $@ boottime.plog: boottime.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/boottime.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/boottime.c --i-file boottime.i --output-file $@ bsdauth.lo: $(authdir)/bsdauth.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -907,9 +908,9 @@ bsdauth.i: $(authdir)/bsdauth.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(authdir)/bsdauth.c > $@ bsdauth.plog: bsdauth.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(authdir)/bsdauth.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(authdir)/bsdauth.c --i-file bsdauth.i --output-file $@ bsm_audit.lo: $(srcdir)/bsm_audit.c $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -931,9 +932,9 @@ bsm_audit.i: $(srcdir)/bsm_audit.c $(devdir)/def_data.h \ $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/bsm_audit.c > $@ bsm_audit.plog: bsm_audit.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/bsm_audit.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/bsm_audit.c --i-file bsm_audit.i --output-file $@ canon_path.lo: $(srcdir)/canon_path.c $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -955,9 +956,9 @@ canon_path.i: $(srcdir)/canon_path.c $(devdir)/def_data.h \ $(srcdir)/pivot.h $(srcdir)/redblack.h $(srcdir)/sudo_nss.h \ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/canon_path.c > $@ canon_path.plog: canon_path.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/canon_path.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/canon_path.c --i-file canon_path.i --output-file $@ check.lo: $(srcdir)/check.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 \ @@ -977,9 +978,9 @@ check.i: $(srcdir)/check.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ $(srcdir)/timestamp.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/check.c > $@ check.plog: check.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/check.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/check.c --i-file check.i --output-file $@ check_addr.o: $(srcdir)/regress/parser/check_addr.c $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -1001,9 +1002,9 @@ check_addr.i: $(srcdir)/regress/parser/check_addr.c $(devdir)/def_data.h \ $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/parser/check_addr.c > $@ check_addr.plog: check_addr.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/parser/check_addr.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/parser/check_addr.c --i-file check_addr.i --output-file $@ check_aliases.o: $(srcdir)/check_aliases.c $(devdir)/def_data.h \ $(devdir)/gram.h $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ @@ -1027,9 +1028,9 @@ check_aliases.i: $(srcdir)/check_aliases.c $(devdir)/def_data.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/check_aliases.c > $@ check_aliases.plog: check_aliases.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/check_aliases.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/check_aliases.c --i-file check_aliases.i --output-file $@ check_base64.o: $(srcdir)/regress/parser/check_base64.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h @@ -1037,9 +1038,9 @@ check_base64.o: $(srcdir)/regress/parser/check_base64.c \ check_base64.i: $(srcdir)/regress/parser/check_base64.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/parser/check_base64.c > $@ check_base64.plog: check_base64.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/parser/check_base64.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/parser/check_base64.c --i-file check_base64.i --output-file $@ check_digest.o: $(srcdir)/regress/parser/check_digest.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_digest.h $(incdir)/sudo_fatal.h \ @@ -1051,9 +1052,9 @@ check_digest.i: $(srcdir)/regress/parser/check_digest.c \ $(incdir)/sudo_digest.h $(incdir)/sudo_fatal.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ $(incdir)/sudo_util.h $(srcdir)/parse.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/parser/check_digest.c > $@ check_digest.plog: check_digest.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/parser/check_digest.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/parser/check_digest.c --i-file check_digest.i --output-file $@ check_editor.o: $(srcdir)/regress/editor/check_editor.c $(devdir)/def_data.c \ $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ @@ -1075,9 +1076,9 @@ check_editor.i: $(srcdir)/regress/editor/check_editor.c $(devdir)/def_data.c \ $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/editor/check_editor.c > $@ check_editor.plog: check_editor.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/editor/check_editor.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/editor/check_editor.c --i-file check_editor.i --output-file $@ check_env_pattern.o: $(srcdir)/regress/env_match/check_env_pattern.c \ $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ @@ -1101,9 +1102,9 @@ check_env_pattern.i: $(srcdir)/regress/env_match/check_env_pattern.c \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/env_match/check_env_pattern.c > $@ check_env_pattern.plog: check_env_pattern.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/env_match/check_env_pattern.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/env_match/check_env_pattern.c --i-file check_env_pattern.i --output-file $@ check_exptilde.o: $(srcdir)/regress/exptilde/check_exptilde.c \ $(devdir)/def_data.c $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ @@ -1127,9 +1128,9 @@ check_exptilde.i: $(srcdir)/regress/exptilde/check_exptilde.c \ $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/exptilde/check_exptilde.c > $@ check_exptilde.plog: check_exptilde.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/exptilde/check_exptilde.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/exptilde/check_exptilde.c --i-file check_exptilde.i --output-file $@ check_fill.o: $(srcdir)/regress/parser/check_fill.c $(devdir)/gram.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ @@ -1141,9 +1142,9 @@ check_fill.i: $(srcdir)/regress/parser/check_fill.c $(devdir)/gram.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ $(incdir)/sudo_util.h $(srcdir)/parse.h $(srcdir)/toke.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/parser/check_fill.c > $@ check_fill.plog: check_fill.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/parser/check_fill.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/parser/check_fill.c --i-file check_fill.i --output-file $@ check_gentime.o: $(srcdir)/regress/parser/check_gentime.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_queue.h \ @@ -1155,9 +1156,9 @@ check_gentime.i: $(srcdir)/regress/parser/check_gentime.c \ $(incdir)/sudo_debug.h $(incdir)/sudo_queue.h \ $(incdir)/sudo_util.h $(srcdir)/parse.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/parser/check_gentime.c > $@ check_gentime.plog: check_gentime.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/parser/check_gentime.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/parser/check_gentime.c --i-file check_gentime.i --output-file $@ check_iolog_plugin.o: $(srcdir)/regress/iolog_plugin/check_iolog_plugin.c \ $(devdir)/def_data.c $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ @@ -1183,9 +1184,9 @@ check_iolog_plugin.i: $(srcdir)/regress/iolog_plugin/check_iolog_plugin.c \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/iolog_plugin/check_iolog_plugin.c > $@ check_iolog_plugin.plog: check_iolog_plugin.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/iolog_plugin/check_iolog_plugin.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/iolog_plugin/check_iolog_plugin.c --i-file check_iolog_plugin.i --output-file $@ check_serialize_list.lo: \ $(srcdir)/regress/serialize_list/check_serialize_list.c \ $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ @@ -1211,9 +1212,9 @@ check_serialize_list.i: \ $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/serialize_list/check_serialize_list.c > $@ check_serialize_list.plog: check_serialize_list.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/serialize_list/check_serialize_list.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/serialize_list/check_serialize_list.c --i-file check_serialize_list.i --output-file $@ check_starttime.o: $(srcdir)/regress/starttime/check_starttime.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_plugin.h \ @@ -1225,9 +1226,9 @@ check_starttime.i: $(srcdir)/regress/starttime/check_starttime.c \ $(incdir)/sudo_fatal.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_util.h $(srcdir)/timestamp.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/starttime/check_starttime.c > $@ check_starttime.plog: check_starttime.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/starttime/check_starttime.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/starttime/check_starttime.c --i-file check_starttime.i --output-file $@ check_symbols.o: $(srcdir)/regress/check_symbols/check_symbols.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_dso.h $(incdir)/sudo_fatal.h \ @@ -1239,9 +1240,9 @@ check_symbols.i: $(srcdir)/regress/check_symbols/check_symbols.c \ $(incdir)/sudo_dso.h $(incdir)/sudo_fatal.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/check_symbols/check_symbols.c > $@ check_symbols.plog: check_symbols.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/check_symbols/check_symbols.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/check_symbols/check_symbols.c --i-file check_symbols.i --output-file $@ check_unesc.o: $(srcdir)/regress/unescape/check_unesc.c $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -1263,9 +1264,9 @@ check_unesc.i: $(srcdir)/regress/unescape/check_unesc.c $(devdir)/def_data.h \ $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/unescape/check_unesc.c > $@ check_unesc.plog: check_unesc.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/unescape/check_unesc.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/unescape/check_unesc.c --i-file check_unesc.i --output-file $@ check_util.lo: $(srcdir)/check_util.c $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -1287,9 +1288,9 @@ check_util.i: $(srcdir)/check_util.c $(devdir)/def_data.h \ $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/check_util.c > $@ check_util.plog: check_util.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/check_util.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/check_util.c --i-file check_util.i --output-file $@ cvtsudoers.o: $(srcdir)/cvtsudoers.c $(devdir)/def_data.h $(devdir)/gram.h \ $(incdir)/compat/getopt.h $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ @@ -1317,9 +1318,9 @@ cvtsudoers.i: $(srcdir)/cvtsudoers.c $(devdir)/def_data.h $(devdir)/gram.h \ $(srcdir)/sudoers_debug.h $(srcdir)/sudoers_version.h \ $(srcdir)/testsudoers_pwutil.h $(srcdir)/tsgetgrpw.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/cvtsudoers.c > $@ cvtsudoers.plog: cvtsudoers.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/cvtsudoers.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/cvtsudoers.c --i-file cvtsudoers.i --output-file $@ cvtsudoers_csv.o: $(srcdir)/cvtsudoers_csv.c $(devdir)/def_data.h \ $(devdir)/gram.h $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ @@ -1343,9 +1344,9 @@ cvtsudoers_csv.i: $(srcdir)/cvtsudoers_csv.c $(devdir)/def_data.h \ $(srcdir)/pivot.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) $< + $(CPP) $(CPPFLAGS) $(srcdir)/cvtsudoers_csv.c > $@ cvtsudoers_csv.plog: cvtsudoers_csv.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/cvtsudoers_csv.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/cvtsudoers_csv.c --i-file cvtsudoers_csv.i --output-file $@ cvtsudoers_json.o: $(srcdir)/cvtsudoers_json.c $(devdir)/def_data.h \ $(devdir)/gram.h $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ @@ -1371,9 +1372,9 @@ cvtsudoers_json.i: $(srcdir)/cvtsudoers_json.c $(devdir)/def_data.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) $< + $(CPP) $(CPPFLAGS) $(srcdir)/cvtsudoers_json.c > $@ cvtsudoers_json.plog: cvtsudoers_json.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/cvtsudoers_json.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/cvtsudoers_json.c --i-file cvtsudoers_json.i --output-file $@ cvtsudoers_ldif.o: $(srcdir)/cvtsudoers_ldif.c $(devdir)/def_data.h \ $(devdir)/gram.h $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ @@ -1401,9 +1402,9 @@ cvtsudoers_ldif.i: $(srcdir)/cvtsudoers_ldif.c $(devdir)/def_data.h \ $(srcdir)/sudo_ldap.h $(srcdir)/sudo_nss.h \ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/cvtsudoers_ldif.c > $@ cvtsudoers_ldif.plog: cvtsudoers_ldif.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/cvtsudoers_ldif.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/cvtsudoers_ldif.c --i-file cvtsudoers_ldif.i --output-file $@ cvtsudoers_merge.o: $(srcdir)/cvtsudoers_merge.c $(devdir)/def_data.h \ $(devdir)/gram.h $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ @@ -1429,9 +1430,9 @@ cvtsudoers_merge.i: $(srcdir)/cvtsudoers_merge.c $(devdir)/def_data.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/cvtsudoers_merge.c > $@ cvtsudoers_merge.plog: cvtsudoers_merge.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/cvtsudoers_merge.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/cvtsudoers_merge.c --i-file cvtsudoers_merge.i --output-file $@ cvtsudoers_pwutil.o: $(srcdir)/cvtsudoers_pwutil.c $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -1457,9 +1458,9 @@ cvtsudoers_pwutil.i: $(srcdir)/cvtsudoers_pwutil.c $(devdir)/def_data.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/cvtsudoers_pwutil.c > $@ cvtsudoers_pwutil.plog: cvtsudoers_pwutil.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/cvtsudoers_pwutil.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/cvtsudoers_pwutil.c --i-file cvtsudoers_pwutil.i --output-file $@ dce.lo: $(authdir)/dce.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h $(incdir)/sudo_eventlog.h \ @@ -1479,9 +1480,9 @@ dce.i: $(authdir)/dce.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(srcdir)/timestamp.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(authdir)/dce.c > $@ dce.plog: dce.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(authdir)/dce.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(authdir)/dce.c --i-file dce.i --output-file $@ defaults.lo: $(srcdir)/defaults.c $(devdir)/def_data.c $(devdir)/def_data.h \ $(devdir)/gram.h $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ @@ -1505,9 +1506,9 @@ defaults.i: $(srcdir)/defaults.c $(devdir)/def_data.c $(devdir)/def_data.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/defaults.c > $@ defaults.plog: defaults.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/defaults.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/defaults.c --i-file defaults.i --output-file $@ digestname.lo: $(srcdir)/digestname.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_digest.h $(incdir)/sudo_queue.h \ @@ -1519,9 +1520,9 @@ digestname.i: $(srcdir)/digestname.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_digest.h $(incdir)/sudo_queue.h \ $(srcdir)/parse.h $(srcdir)/sudoers_debug.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/digestname.c > $@ digestname.plog: digestname.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/digestname.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/digestname.c --i-file digestname.i --output-file $@ display.lo: $(srcdir)/display.c $(devdir)/def_data.h $(devdir)/gram.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -1543,9 +1544,9 @@ display.i: $(srcdir)/display.c $(devdir)/def_data.h $(devdir)/gram.h \ $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/display.c > $@ display.plog: display.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/display.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/display.c --i-file display.i --output-file $@ editor.lo: $(srcdir)/editor.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 \ @@ -1565,9 +1566,9 @@ editor.i: $(srcdir)/editor.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/editor.c > $@ editor.plog: editor.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/editor.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/editor.c --i-file editor.i --output-file $@ env.lo: $(srcdir)/env.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 \ @@ -1585,9 +1586,9 @@ env.i: $(srcdir)/env.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/env.c > $@ env.plog: env.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/env.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/env.c --i-file env.i --output-file $@ env_pattern.lo: $(srcdir)/env_pattern.c $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -1609,9 +1610,9 @@ env_pattern.i: $(srcdir)/env_pattern.c $(devdir)/def_data.h \ $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/env_pattern.c > $@ env_pattern.plog: env_pattern.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/env_pattern.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/env_pattern.c --i-file env_pattern.i --output-file $@ exptilde.lo: $(srcdir)/exptilde.c $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -1633,9 +1634,9 @@ exptilde.i: $(srcdir)/exptilde.c $(devdir)/def_data.h \ $(srcdir)/pwutil.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/exptilde.c > $@ exptilde.plog: exptilde.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/exptilde.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/exptilde.c --i-file exptilde.i --output-file $@ file.lo: $(srcdir)/file.c $(devdir)/def_data.h $(devdir)/gram.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -1657,9 +1658,9 @@ file.i: $(srcdir)/file.c $(devdir)/def_data.h $(devdir)/gram.h \ $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/file.c > $@ file.plog: file.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/file.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/file.c --i-file file.i --output-file $@ filedigest.lo: $(srcdir)/filedigest.c $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -1681,9 +1682,9 @@ filedigest.i: $(srcdir)/filedigest.c $(devdir)/def_data.h \ $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/filedigest.c > $@ filedigest.plog: filedigest.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/filedigest.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/filedigest.c --i-file filedigest.i --output-file $@ find_path.lo: $(srcdir)/find_path.c $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -1705,9 +1706,9 @@ find_path.i: $(srcdir)/find_path.c $(devdir)/def_data.h \ $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/find_path.c > $@ find_path.plog: find_path.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/find_path.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/find_path.c --i-file find_path.i --output-file $@ fmtsudoers.lo: $(srcdir)/fmtsudoers.c $(devdir)/def_data.h $(devdir)/gram.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -1729,9 +1730,9 @@ fmtsudoers.i: $(srcdir)/fmtsudoers.c $(devdir)/def_data.h $(devdir)/gram.h \ $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/fmtsudoers.c > $@ fmtsudoers.plog: fmtsudoers.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/fmtsudoers.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/fmtsudoers.c --i-file fmtsudoers.i --output-file $@ fmtsudoers_cvt.lo: $(srcdir)/fmtsudoers_cvt.c $(devdir)/def_data.h \ $(devdir)/gram.h $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ @@ -1755,9 +1756,9 @@ fmtsudoers_cvt.i: $(srcdir)/fmtsudoers_cvt.c $(devdir)/def_data.h \ $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/fmtsudoers_cvt.c > $@ fmtsudoers_cvt.plog: fmtsudoers_cvt.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/fmtsudoers_cvt.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/fmtsudoers_cvt.c --i-file fmtsudoers_cvt.i --output-file $@ fuzz_policy.o: $(srcdir)/regress/fuzz/fuzz_policy.c $(devdir)/def_data.h \ $(incdir)/compat/getaddrinfo.h $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ @@ -1783,9 +1784,9 @@ fuzz_policy.i: $(srcdir)/regress/fuzz/fuzz_policy.c $(devdir)/def_data.h \ $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(srcdir)/timestamp.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/fuzz/fuzz_policy.c > $@ fuzz_policy.plog: fuzz_policy.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/fuzz/fuzz_policy.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/fuzz/fuzz_policy.c --i-file fuzz_policy.i --output-file $@ fuzz_stubs.o: $(srcdir)/regress/fuzz/fuzz_stubs.c $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -1809,9 +1810,9 @@ fuzz_stubs.i: $(srcdir)/regress/fuzz/fuzz_stubs.c $(devdir)/def_data.h \ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ $(srcdir)/timestamp.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/fuzz/fuzz_stubs.c > $@ fuzz_stubs.plog: fuzz_stubs.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/fuzz/fuzz_stubs.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/fuzz/fuzz_stubs.c --i-file fuzz_stubs.i --output-file $@ fuzz_sudoers.o: $(srcdir)/regress/fuzz/fuzz_sudoers.c $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -1835,9 +1836,9 @@ fuzz_sudoers.i: $(srcdir)/regress/fuzz/fuzz_sudoers.c $(devdir)/def_data.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/fuzz/fuzz_sudoers.c > $@ fuzz_sudoers.plog: fuzz_sudoers.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/fuzz/fuzz_sudoers.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/fuzz/fuzz_sudoers.c --i-file fuzz_sudoers.i --output-file $@ fuzz_sudoers_ldif.o: $(srcdir)/regress/fuzz/fuzz_sudoers_ldif.c \ $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ @@ -1861,9 +1862,9 @@ fuzz_sudoers_ldif.i: $(srcdir)/regress/fuzz/fuzz_sudoers_ldif.c \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/fuzz/fuzz_sudoers_ldif.c > $@ fuzz_sudoers_ldif.plog: fuzz_sudoers_ldif.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/fuzz/fuzz_sudoers_ldif.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/fuzz/fuzz_sudoers_ldif.c --i-file fuzz_sudoers_ldif.i --output-file $@ fwtk.lo: $(authdir)/fwtk.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -1883,9 +1884,9 @@ fwtk.i: $(authdir)/fwtk.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(authdir)/fwtk.c > $@ fwtk.plog: fwtk.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(authdir)/fwtk.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(authdir)/fwtk.c --i-file fwtk.i --output-file $@ gc.lo: $(srcdir)/gc.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 \ @@ -1903,9 +1904,9 @@ gc.i: $(srcdir)/gc.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/gc.c > $@ gc.plog: gc.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/gc.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/gc.c --i-file gc.i --output-file $@ gentime.lo: $(srcdir)/gentime.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_queue.h $(srcdir)/parse.h $(srcdir)/sudoers_debug.h \ @@ -1915,15 +1916,15 @@ gentime.i: $(srcdir)/gentime.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_queue.h $(srcdir)/parse.h $(srcdir)/sudoers_debug.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/gentime.c > $@ gentime.plog: gentime.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/gentime.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/gentime.c --i-file gentime.i --output-file $@ getdate.o: $(devdir)/getdate.c $(incdir)/sudo_compat.h $(top_builddir)/config.h $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(devdir)/getdate.c getdate.i: $(devdir)/getdate.c $(incdir)/sudo_compat.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(devdir)/getdate.c > $@ getdate.plog: getdate.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(devdir)/getdate.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(devdir)/getdate.c --i-file getdate.i --output-file $@ getspwuid.lo: $(srcdir)/getspwuid.c $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -1945,9 +1946,9 @@ getspwuid.i: $(srcdir)/getspwuid.c $(devdir)/def_data.h \ $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/getspwuid.c > $@ getspwuid.plog: getspwuid.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/getspwuid.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/getspwuid.c --i-file getspwuid.i --output-file $@ goodpath.lo: $(srcdir)/goodpath.c $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -1969,9 +1970,9 @@ goodpath.i: $(srcdir)/goodpath.c $(devdir)/def_data.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/goodpath.c > $@ goodpath.plog: goodpath.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/goodpath.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/goodpath.c --i-file goodpath.i --output-file $@ gram.lo: $(devdir)/gram.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_digest.h $(incdir)/sudo_eventlog.h \ @@ -1991,9 +1992,9 @@ gram.i: $(devdir)/gram.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(srcdir)/toke.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(devdir)/gram.c > $@ gram.plog: gram.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(devdir)/gram.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(devdir)/gram.c --i-file gram.i --output-file $@ group_plugin.lo: $(srcdir)/group_plugin.c $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -2017,9 +2018,9 @@ group_plugin.i: $(srcdir)/group_plugin.c $(devdir)/def_data.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/group_plugin.c > $@ group_plugin.plog: group_plugin.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/group_plugin.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/group_plugin.c --i-file group_plugin.i --output-file $@ interfaces.lo: $(srcdir)/interfaces.c $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -2041,9 +2042,9 @@ interfaces.i: $(srcdir)/interfaces.c $(devdir)/def_data.h \ $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/interfaces.c > $@ interfaces.plog: interfaces.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/interfaces.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/interfaces.c --i-file interfaces.i --output-file $@ iolog.lo: $(srcdir)/iolog.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ $(incdir)/log_server.pb-c.h $(incdir)/protobuf-c/protobuf-c.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -2067,9 +2068,9 @@ iolog.i: $(srcdir)/iolog.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ $(srcdir)/parse.h $(srcdir)/pivot.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) $< + $(CPP) $(CPPFLAGS) $(srcdir)/iolog.c > $@ iolog.plog: iolog.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog.c --i-file iolog.i --output-file $@ iolog_path_escapes.lo: $(srcdir)/iolog_path_escapes.c $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -2093,9 +2094,9 @@ iolog_path_escapes.i: $(srcdir)/iolog_path_escapes.c $(devdir)/def_data.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/iolog_path_escapes.c > $@ iolog_path_escapes.plog: iolog_path_escapes.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_path_escapes.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_path_escapes.c --i-file iolog_path_escapes.i --output-file $@ kerb5.lo: $(authdir)/kerb5.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -2115,9 +2116,9 @@ kerb5.i: $(authdir)/kerb5.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(authdir)/kerb5.c > $@ kerb5.plog: kerb5.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(authdir)/kerb5.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(authdir)/kerb5.c --i-file kerb5.i --output-file $@ ldap.lo: $(srcdir)/ldap.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_dso.h $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ @@ -2137,9 +2138,9 @@ ldap.i: $(srcdir)/ldap.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ $(srcdir)/pivot.h $(srcdir)/sudo_ldap.h $(srcdir)/sudo_ldap_conf.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/ldap.c > $@ ldap.plog: ldap.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/ldap.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/ldap.c --i-file ldap.i --output-file $@ ldap_conf.lo: $(srcdir)/ldap_conf.c $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -2163,9 +2164,9 @@ ldap_conf.i: $(srcdir)/ldap_conf.c $(devdir)/def_data.h \ $(srcdir)/sudo_ldap_conf.h $(srcdir)/sudo_nss.h \ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/ldap_conf.c > $@ ldap_conf.plog: ldap_conf.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/ldap_conf.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/ldap_conf.c --i-file ldap_conf.i --output-file $@ ldap_innetgr.lo: $(srcdir)/ldap_innetgr.c $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -2189,9 +2190,9 @@ ldap_innetgr.i: $(srcdir)/ldap_innetgr.c $(devdir)/def_data.h \ $(srcdir)/sudo_ldap_conf.h $(srcdir)/sudo_nss.h \ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/ldap_innetgr.c > $@ ldap_innetgr.plog: ldap_innetgr.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/ldap_innetgr.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/ldap_innetgr.c --i-file ldap_innetgr.i --output-file $@ ldap_util.lo: $(srcdir)/ldap_util.c $(devdir)/def_data.h $(devdir)/gram.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -2217,9 +2218,9 @@ ldap_util.i: $(srcdir)/ldap_util.c $(devdir)/def_data.h $(devdir)/gram.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/ldap_util.c > $@ ldap_util.plog: ldap_util.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/ldap_util.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/ldap_util.c --i-file ldap_util.i --output-file $@ linux_audit.lo: $(srcdir)/linux_audit.c $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -2243,9 +2244,9 @@ linux_audit.i: $(srcdir)/linux_audit.c $(devdir)/def_data.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/linux_audit.c > $@ linux_audit.plog: linux_audit.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/linux_audit.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/linux_audit.c --i-file linux_audit.i --output-file $@ locale.lo: $(srcdir)/locale.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ @@ -2259,9 +2260,9 @@ locale.i: $(srcdir)/locale.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_queue.h $(srcdir)/defaults.h $(srcdir)/logging.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/locale.c > $@ locale.plog: locale.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/locale.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/locale.c --i-file locale.i --output-file $@ log_client.lo: $(srcdir)/log_client.c $(devdir)/def_data.h \ $(incdir)/compat/getaddrinfo.h $(incdir)/compat/stdbool.h \ $(incdir)/hostcheck.h $(incdir)/log_server.pb-c.h \ @@ -2291,9 +2292,9 @@ log_client.i: $(srcdir)/log_client.c $(devdir)/def_data.h \ $(srcdir)/pivot.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) $< + $(CPP) $(CPPFLAGS) $(srcdir)/log_client.c > $@ log_client.plog: log_client.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/log_client.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/log_client.c --i-file log_client.i --output-file $@ logging.lo: $(srcdir)/logging.c $(devdir)/def_data.h \ $(incdir)/compat/getaddrinfo.h $(incdir)/compat/stdbool.h \ $(incdir)/log_server.pb-c.h $(incdir)/protobuf-c/protobuf-c.h \ @@ -2319,9 +2320,9 @@ logging.i: $(srcdir)/logging.c $(devdir)/def_data.h \ $(srcdir)/parse.h $(srcdir)/pivot.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) $< + $(CPP) $(CPPFLAGS) $(srcdir)/logging.c > $@ logging.plog: logging.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/logging.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/logging.c --i-file logging.i --output-file $@ lookup.lo: $(srcdir)/lookup.c $(devdir)/def_data.h $(devdir)/gram.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -2341,9 +2342,9 @@ lookup.i: $(srcdir)/lookup.c $(devdir)/def_data.h $(devdir)/gram.h \ $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/lookup.c > $@ lookup.plog: lookup.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/lookup.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/lookup.c --i-file lookup.i --output-file $@ match.lo: $(srcdir)/match.c $(devdir)/def_data.h $(devdir)/gram.h \ $(incdir)/compat/fnmatch.h $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -2363,9 +2364,9 @@ match.i: $(srcdir)/match.c $(devdir)/def_data.h $(devdir)/gram.h \ $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/match.c > $@ match.plog: match.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/match.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/match.c --i-file match.i --output-file $@ match_addr.lo: $(srcdir)/match_addr.c $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -2387,9 +2388,9 @@ match_addr.i: $(srcdir)/match_addr.c $(devdir)/def_data.h \ $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/match_addr.c > $@ match_addr.plog: match_addr.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/match_addr.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/match_addr.c --i-file match_addr.i --output-file $@ match_command.lo: $(srcdir)/match_command.c $(devdir)/def_data.h \ $(devdir)/gram.h $(incdir)/compat/fnmatch.h \ $(incdir)/compat/glob.h $(incdir)/compat/stdbool.h \ @@ -2415,9 +2416,9 @@ match_command.i: $(srcdir)/match_command.c $(devdir)/def_data.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/match_command.c > $@ match_command.plog: match_command.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/match_command.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/match_command.c --i-file match_command.i --output-file $@ match_digest.lo: $(srcdir)/match_digest.c $(devdir)/def_data.h \ $(devdir)/gram.h $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ @@ -2441,9 +2442,9 @@ match_digest.i: $(srcdir)/match_digest.c $(devdir)/def_data.h \ $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/match_digest.c > $@ 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 $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/match_digest.c --i-file match_digest.i --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_event.h \ @@ -2459,9 +2460,9 @@ net_ifs.i: $(top_srcdir)/src/net_ifs.c $(incdir)/compat/stdbool.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) $< + $(CPP) $(CPPFLAGS) $(top_srcdir)/src/net_ifs.c > $@ 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 $@ + 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 net_ifs.i --output-file $@ pam.lo: $(authdir)/pam.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h $(incdir)/sudo_eventlog.h \ @@ -2481,9 +2482,9 @@ pam.i: $(authdir)/pam.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(authdir)/pam.c > $@ pam.plog: pam.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(authdir)/pam.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(authdir)/pam.c --i-file pam.i --output-file $@ parse_ldif.o: $(srcdir)/parse_ldif.c $(devdir)/def_data.h $(devdir)/gram.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -2507,9 +2508,9 @@ parse_ldif.i: $(srcdir)/parse_ldif.c $(devdir)/def_data.h $(devdir)/gram.h \ $(srcdir)/sudo_ldap.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/parse_ldif.c > $@ parse_ldif.plog: parse_ldif.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/parse_ldif.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/parse_ldif.c --i-file parse_ldif.i --output-file $@ parser_warnx.lo: $(srcdir)/parser_warnx.c $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -2531,9 +2532,9 @@ parser_warnx.i: $(srcdir)/parser_warnx.c $(devdir)/def_data.h \ $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/parser_warnx.c > $@ parser_warnx.plog: parser_warnx.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/parser_warnx.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/parser_warnx.c --i-file parser_warnx.i --output-file $@ passwd.lo: $(authdir)/passwd.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -2553,9 +2554,9 @@ passwd.i: $(authdir)/passwd.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(authdir)/passwd.c > $@ passwd.plog: passwd.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(authdir)/passwd.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(authdir)/passwd.c --i-file passwd.i --output-file $@ pivot.lo: $(srcdir)/pivot.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 \ @@ -2573,9 +2574,9 @@ pivot.i: $(srcdir)/pivot.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/pivot.c > $@ pivot.plog: pivot.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/pivot.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/pivot.c --i-file pivot.i --output-file $@ policy.lo: $(srcdir)/policy.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 \ @@ -2599,9 +2600,9 @@ policy.i: $(srcdir)/policy.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ $(srcdir)/sudoers_version.h $(srcdir)/timestamp.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/policy.c > $@ policy.plog: policy.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/policy.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/policy.c --i-file policy.i --output-file $@ prompt.lo: $(srcdir)/prompt.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 \ @@ -2621,9 +2622,9 @@ prompt.i: $(srcdir)/prompt.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/prompt.c > $@ prompt.plog: prompt.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/prompt.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/prompt.c --i-file prompt.i --output-file $@ pwutil.lo: $(srcdir)/pwutil.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 \ @@ -2645,9 +2646,9 @@ pwutil.i: $(srcdir)/pwutil.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ $(srcdir)/redblack.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/pwutil.c > $@ pwutil.plog: pwutil.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/pwutil.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/pwutil.c --i-file pwutil.i --output-file $@ pwutil_impl.lo: $(srcdir)/pwutil_impl.c $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -2669,9 +2670,9 @@ pwutil_impl.i: $(srcdir)/pwutil_impl.c $(devdir)/def_data.h \ $(srcdir)/pivot.h $(srcdir)/pwutil.h $(srcdir)/sudo_nss.h \ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/pwutil_impl.c > $@ pwutil_impl.plog: pwutil_impl.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/pwutil_impl.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/pwutil_impl.c --i-file pwutil_impl.i --output-file $@ redblack.lo: $(srcdir)/redblack.c $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -2693,9 +2694,9 @@ redblack.i: $(srcdir)/redblack.c $(devdir)/def_data.h \ $(srcdir)/redblack.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/redblack.c > $@ redblack.plog: redblack.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/redblack.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/redblack.c --i-file redblack.i --output-file $@ resolve_cmnd.lo: $(srcdir)/resolve_cmnd.c $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -2717,9 +2718,9 @@ resolve_cmnd.i: $(srcdir)/resolve_cmnd.c $(devdir)/def_data.h \ $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/resolve_cmnd.c > $@ resolve_cmnd.plog: resolve_cmnd.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/resolve_cmnd.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/resolve_cmnd.c --i-file resolve_cmnd.i --output-file $@ rfc1938.lo: $(authdir)/rfc1938.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -2739,9 +2740,9 @@ rfc1938.i: $(authdir)/rfc1938.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(authdir)/rfc1938.c > $@ rfc1938.plog: rfc1938.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(authdir)/rfc1938.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(authdir)/rfc1938.c --i-file rfc1938.i --output-file $@ secureware.lo: $(authdir)/secureware.c $(authdir)/sudo_auth.h \ $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ @@ -2763,9 +2764,9 @@ secureware.i: $(authdir)/secureware.c $(authdir)/sudo_auth.h \ $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(authdir)/secureware.c > $@ secureware.plog: secureware.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(authdir)/secureware.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(authdir)/secureware.c --i-file secureware.i --output-file $@ securid5.lo: $(authdir)/securid5.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -2787,9 +2788,9 @@ securid5.i: $(authdir)/securid5.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(authdir)/securid5.c > $@ securid5.plog: securid5.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(authdir)/securid5.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(authdir)/securid5.c --i-file securid5.i --output-file $@ serialize_list.lo: $(srcdir)/serialize_list.c $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -2811,9 +2812,9 @@ serialize_list.i: $(srcdir)/serialize_list.c $(devdir)/def_data.h \ $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/serialize_list.c > $@ serialize_list.plog: serialize_list.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/serialize_list.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/serialize_list.c --i-file serialize_list.i --output-file $@ set_perms.lo: $(srcdir)/set_perms.c $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -2835,9 +2836,9 @@ set_perms.i: $(srcdir)/set_perms.c $(devdir)/def_data.h \ $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(srcdir)/timestamp.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/set_perms.c > $@ set_perms.plog: set_perms.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/set_perms.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/set_perms.c --i-file set_perms.i --output-file $@ sethost.lo: $(srcdir)/sethost.c $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -2857,9 +2858,9 @@ sethost.i: $(srcdir)/sethost.c $(devdir)/def_data.h \ $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/sethost.c > $@ sethost.plog: sethost.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sethost.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sethost.c --i-file sethost.i --output-file $@ sia.lo: $(authdir)/sia.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h $(incdir)/sudo_eventlog.h \ @@ -2879,9 +2880,9 @@ sia.i: $(authdir)/sia.c $(authdir)/sudo_auth.h $(devdir)/def_data.h \ $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(authdir)/sia.c > $@ sia.plog: sia.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(authdir)/sia.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(authdir)/sia.c --i-file sia.i --output-file $@ solaris_audit.lo: $(srcdir)/solaris_audit.c $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -2905,9 +2906,9 @@ solaris_audit.i: $(srcdir)/solaris_audit.c $(devdir)/def_data.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/solaris_audit.c > $@ solaris_audit.plog: solaris_audit.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/solaris_audit.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/solaris_audit.c --i-file solaris_audit.i --output-file $@ sssd.lo: $(srcdir)/sssd.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_dso.h $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \ @@ -2927,9 +2928,9 @@ sssd.i: $(srcdir)/sssd.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ $(srcdir)/pivot.h $(srcdir)/sudo_ldap.h $(srcdir)/sudo_nss.h \ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/sssd.c > $@ sssd.plog: sssd.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sssd.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sssd.c --i-file sssd.i --output-file $@ starttime.lo: $(srcdir)/starttime.c $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -2951,9 +2952,9 @@ starttime.i: $(srcdir)/starttime.c $(devdir)/def_data.h \ $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(srcdir)/timestamp.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/starttime.c > $@ starttime.plog: starttime.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/starttime.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/starttime.c --i-file starttime.i --output-file $@ strlcpy_unesc.lo: $(srcdir)/strlcpy_unesc.c $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -2975,9 +2976,9 @@ strlcpy_unesc.i: $(srcdir)/strlcpy_unesc.c $(devdir)/def_data.h \ $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/strlcpy_unesc.c > $@ strlcpy_unesc.plog: strlcpy_unesc.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/strlcpy_unesc.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/strlcpy_unesc.c --i-file strlcpy_unesc.i --output-file $@ strlist.lo: $(srcdir)/strlist.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/strlist.h \ @@ -2987,9 +2988,9 @@ strlist.i: $(srcdir)/strlist.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/strlist.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/strlist.c > $@ strlist.plog: strlist.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/strlist.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/strlist.c --i-file strlist.i --output-file $@ strvec_join.lo: $(srcdir)/strvec_join.c $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -3011,9 +3012,9 @@ strvec_join.i: $(srcdir)/strvec_join.c $(devdir)/def_data.h \ $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/strvec_join.c > $@ strvec_join.plog: strvec_join.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/strvec_join.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/strvec_join.c --i-file strvec_join.i --output-file $@ 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 \ @@ -3033,9 +3034,9 @@ stubs.i: $(srcdir)/stubs.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/stubs.c > $@ stubs.plog: stubs.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/stubs.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/stubs.c --i-file stubs.i --output-file $@ sudo_auth.lo: $(authdir)/sudo_auth.c $(authdir)/sudo_auth.h \ $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ @@ -3065,9 +3066,9 @@ sudo_auth.i: $(authdir)/sudo_auth.c $(authdir)/sudo_auth.h \ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ $(srcdir)/timestamp.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(authdir)/sudo_auth.c > $@ sudo_auth.plog: sudo_auth.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(authdir)/sudo_auth.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(authdir)/sudo_auth.c --i-file sudo_auth.i --output-file $@ sudo_nss.lo: $(srcdir)/sudo_nss.c $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -3089,21 +3090,23 @@ sudo_nss.i: $(srcdir)/sudo_nss.c $(devdir)/def_data.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/sudo_nss.c > $@ sudo_nss.plog: sudo_nss.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sudo_nss.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sudo_nss.c --i-file sudo_nss.i --output-file $@ sudo_printf.o: $(srcdir)/sudo_printf.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ - $(top_builddir)/config.h $(top_builddir)/pathnames.h + $(incdir)/sudo_util.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/sudo_printf.c sudo_printf.i: $(srcdir)/sudo_printf.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ - $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(incdir)/sudo_util.h $(top_builddir)/config.h \ + $(top_builddir)/pathnames.h + $(CPP) $(CPPFLAGS) $(srcdir)/sudo_printf.c > $@ sudo_printf.plog: sudo_printf.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sudo_printf.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sudo_printf.c --i-file sudo_printf.i --output-file $@ sudoers.lo: $(srcdir)/sudoers.c $(devdir)/def_data.h \ $(incdir)/compat/getaddrinfo.h $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ @@ -3127,9 +3130,9 @@ sudoers.i: $(srcdir)/sudoers.c $(devdir)/def_data.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ $(srcdir)/timestamp.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/sudoers.c > $@ sudoers.plog: sudoers.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sudoers.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sudoers.c --i-file sudoers.i --output-file $@ sudoers_cb.lo: $(srcdir)/sudoers_cb.c $(devdir)/def_data.h \ $(incdir)/compat/getaddrinfo.h $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ @@ -3153,9 +3156,9 @@ sudoers_cb.i: $(srcdir)/sudoers_cb.c $(devdir)/def_data.h \ $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(srcdir)/timestamp.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/sudoers_cb.c > $@ sudoers_cb.plog: sudoers_cb.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sudoers_cb.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sudoers_cb.c --i-file sudoers_cb.i --output-file $@ sudoers_ctx_free.lo: $(srcdir)/sudoers_ctx_free.c $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -3177,9 +3180,9 @@ sudoers_ctx_free.i: $(srcdir)/sudoers_ctx_free.c $(devdir)/def_data.h \ $(srcdir)/parse.h $(srcdir)/pivot.h $(srcdir)/sudo_nss.h \ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/sudoers_ctx_free.c > $@ sudoers_ctx_free.plog: sudoers_ctx_free.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sudoers_ctx_free.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sudoers_ctx_free.c --i-file sudoers_ctx_free.i --output-file $@ sudoers_debug.lo: $(srcdir)/sudoers_debug.c $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -3201,9 +3204,9 @@ sudoers_debug.i: $(srcdir)/sudoers_debug.c $(devdir)/def_data.h \ $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/sudoers_debug.c > $@ sudoers_debug.plog: sudoers_debug.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sudoers_debug.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sudoers_debug.c --i-file sudoers_debug.i --output-file $@ sudoers_hooks.lo: $(srcdir)/sudoers_hooks.c $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -3225,9 +3228,9 @@ sudoers_hooks.i: $(srcdir)/sudoers_hooks.c $(devdir)/def_data.h \ $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/sudoers_hooks.c > $@ sudoers_hooks.plog: sudoers_hooks.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sudoers_hooks.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sudoers_hooks.c --i-file sudoers_hooks.i --output-file $@ sudoreplay.o: $(srcdir)/sudoreplay.c $(incdir)/compat/getopt.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -3247,9 +3250,9 @@ sudoreplay.i: $(srcdir)/sudoreplay.c $(incdir)/compat/getopt.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ $(incdir)/sudo_util.h $(srcdir)/logging.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/sudoreplay.c > $@ sudoreplay.plog: sudoreplay.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sudoreplay.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sudoreplay.c --i-file sudoreplay.i --output-file $@ testsudoers.o: $(srcdir)/testsudoers.c $(devdir)/def_data.h $(devdir)/gram.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -3275,9 +3278,9 @@ testsudoers.i: $(srcdir)/testsudoers.c $(devdir)/def_data.h $(devdir)/gram.h \ $(srcdir)/sudoers_debug.h $(srcdir)/testsudoers_pwutil.h \ $(srcdir)/toke.h $(srcdir)/tsgetgrpw.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/testsudoers.c > $@ testsudoers.plog: testsudoers.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/testsudoers.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/testsudoers.c --i-file testsudoers.i --output-file $@ testsudoers_pwutil.o: $(srcdir)/testsudoers_pwutil.c $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -3303,9 +3306,9 @@ testsudoers_pwutil.i: $(srcdir)/testsudoers_pwutil.c $(devdir)/def_data.h \ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ $(srcdir)/testsudoers_pwutil.h $(srcdir)/tsgetgrpw.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/testsudoers_pwutil.c > $@ testsudoers_pwutil.plog: testsudoers_pwutil.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/testsudoers_pwutil.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/testsudoers_pwutil.c --i-file testsudoers_pwutil.i --output-file $@ timeout.lo: $(srcdir)/timeout.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_queue.h $(srcdir)/parse.h $(srcdir)/sudoers_debug.h \ @@ -3315,9 +3318,9 @@ timeout.i: $(srcdir)/timeout.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_queue.h $(srcdir)/parse.h $(srcdir)/sudoers_debug.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/timeout.c > $@ timeout.plog: timeout.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/timeout.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/timeout.c --i-file timeout.i --output-file $@ timestamp.lo: $(srcdir)/timestamp.c $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -3339,9 +3342,9 @@ timestamp.i: $(srcdir)/timestamp.c $(devdir)/def_data.h \ $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(srcdir)/timestamp.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/timestamp.c > $@ 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 $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/timestamp.c --i-file timestamp.i --output-file $@ 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 \ @@ -3361,9 +3364,9 @@ timestr.i: $(srcdir)/timestr.c $(devdir)/def_data.h \ $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/pivot.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/timestr.c > $@ 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 $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/timestr.c --i-file timestr.i --output-file $@ toke.lo: $(devdir)/toke.c $(devdir)/def_data.h $(devdir)/gram.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h $(incdir)/sudo_digest.h \ @@ -3385,9 +3388,9 @@ toke.i: $(devdir)/toke.c $(devdir)/def_data.h $(devdir)/gram.h \ $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(srcdir)/toke.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(devdir)/toke.c > $@ toke.plog: toke.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(devdir)/toke.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(devdir)/toke.c --i-file toke.i --output-file $@ toke_util.lo: $(srcdir)/toke_util.c $(devdir)/def_data.h $(devdir)/gram.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -3409,9 +3412,9 @@ toke_util.i: $(srcdir)/toke_util.c $(devdir)/def_data.h $(devdir)/gram.h \ $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(srcdir)/toke.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/toke_util.c > $@ toke_util.plog: toke_util.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/toke_util.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/toke_util.c --i-file toke_util.i --output-file $@ tsdump.o: $(srcdir)/tsdump.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 \ @@ -3431,9 +3434,9 @@ tsdump.i: $(srcdir)/tsdump.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ $(srcdir)/timestamp.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/tsdump.c > $@ tsdump.plog: tsdump.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/tsdump.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/tsdump.c --i-file tsdump.i --output-file $@ tsgetgrpw.o: $(srcdir)/tsgetgrpw.c $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -3455,9 +3458,9 @@ tsgetgrpw.i: $(srcdir)/tsgetgrpw.c $(devdir)/def_data.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(srcdir)/tsgetgrpw.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/tsgetgrpw.c > $@ 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 $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/tsgetgrpw.c --i-file tsgetgrpw.i --output-file $@ tsgetusershell.o: tsgetusershell.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ @@ -3467,9 +3470,9 @@ tsgetusershell.i: tsgetusershell.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ $(srcdir)/tsgetgrpw.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) tsgetusershell.c > $@ tsgetusershell.plog: tsgetusershell.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file tsgetusershell.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file tsgetusershell.c --i-file tsgetusershell.i --output-file $@ 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 \ @@ -3491,9 +3494,9 @@ unesc_str.i: $(srcdir)/unesc_str.c $(devdir)/def_data.h \ $(srcdir)/pivot.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/unesc_str.c > $@ 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 $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/unesc_str.c --i-file unesc_str.i --output-file $@ visudo.o: $(srcdir)/visudo.c $(devdir)/def_data.h $(devdir)/gram.h \ $(incdir)/compat/getopt.h $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -3517,9 +3520,9 @@ visudo.i: $(srcdir)/visudo.c $(devdir)/def_data.h $(devdir)/gram.h \ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \ $(srcdir)/sudoers_version.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/visudo.c > $@ visudo.plog: visudo.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/visudo.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/visudo.c --i-file visudo.i --output-file $@ visudo_cb.o: $(srcdir)/visudo_cb.c $(devdir)/def_data.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -3541,6 +3544,6 @@ visudo_cb.i: $(srcdir)/visudo_cb.c $(devdir)/def_data.h \ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/visudo_cb.c > $@ visudo_cb.plog: visudo_cb.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/visudo_cb.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/visudo_cb.c --i-file visudo_cb.i --output-file $@ diff --git a/plugins/sudoers/alias.c b/plugins/sudoers/alias.c index ab01d4d2b..c2d1be5fd 100644 --- a/plugins/sudoers/alias.c +++ b/plugins/sudoers/alias.c @@ -177,22 +177,24 @@ alias_apply_func(void *v1, void *v2) /* * Apply a function to each alias entry and pass in a cookie. */ -void +bool alias_apply(struct sudoers_parse_tree *parse_tree, int (*func)(struct sudoers_parse_tree *, struct alias *, void *), void *cookie) { struct alias_apply_closure closure; + bool ret = true; debug_decl(alias_apply, SUDOERS_DEBUG_ALIAS); if (parse_tree->aliases != NULL) { closure.parse_tree = parse_tree; closure.func = func; closure.cookie = cookie; - rbapply(parse_tree->aliases, alias_apply_func, &closure, inorder); + if (rbapply(parse_tree->aliases, alias_apply_func, &closure, inorder) != 0) + ret = false; } - debug_return; + debug_return_bool(ret); } /* diff --git a/plugins/sudoers/audit.c b/plugins/sudoers/audit.c index a469514ff..da45c92b2 100644 --- a/plugins/sudoers/audit.c +++ b/plugins/sudoers/audit.c @@ -251,7 +251,7 @@ audit_to_eventlog(const struct sudoers_context *ctx, struct eventlog *evlog, static bool log_server_accept(const struct sudoers_context *ctx, struct eventlog *evlog) { - struct timespec now; + struct timespec start_time; bool ret = false; debug_decl(log_server_accept, SUDOERS_DEBUG_PLUGIN); @@ -268,7 +268,7 @@ log_server_accept(const struct sudoers_context *ctx, struct eventlog *evlog) debug_return_bool(true); } - if (sudo_gettime_real(&now) == -1) { + if (sudo_gettime_awake(&start_time) == -1) { sudo_warn("%s", U_("unable to get time of day")); goto done; } @@ -288,7 +288,7 @@ log_server_accept(const struct sudoers_context *ctx, struct eventlog *evlog) goto done; /* Open connection to log server, send hello and accept messages. */ - client_closure = log_server_open(&audit_details, &now, false, + client_closure = log_server_open(&audit_details, &start_time, false, SEND_ACCEPT, NULL); if (client_closure != NULL) ret = true; @@ -434,7 +434,6 @@ sudoers_audit_error(const char *plugin_name, unsigned int plugin_type, { const struct sudoers_context *ctx = sudoers_get_context(); struct eventlog evlog; - struct timespec now; int ret = true; debug_decl(sudoers_audit_error, SUDOERS_DEBUG_PLUGIN); @@ -447,16 +446,11 @@ sudoers_audit_error(const char *plugin_name, unsigned int plugin_type, ret = false; } - if (sudo_gettime_real(&now)) { - sudo_warn("%s", U_("unable to get time of day")); - debug_return_bool(false); - } - audit_to_eventlog(ctx, &evlog, command_info, ctx->runas.argv, NULL, NULL); - if (!eventlog_alert(&evlog, 0, &now, message, NULL)) + if (!eventlog_alert(&evlog, 0, &evlog.event_time, message, NULL)) ret = false; - if (!log_server_alert(ctx, &evlog, &now, message, NULL)) + if (!log_server_alert(ctx, &evlog, message, NULL)) ret = false; debug_return_int(ret); diff --git a/plugins/sudoers/auth/fwtk.c b/plugins/sudoers/auth/fwtk.c index ae62c97b2..7d689a764 100644 --- a/plugins/sudoers/auth/fwtk.c +++ b/plugins/sudoers/auth/fwtk.c @@ -87,7 +87,7 @@ sudo_fwtk_verify(const struct sudoers_context *ctx, struct passwd *pw, const char *prompt, sudo_auth *auth, struct sudo_conv_callback *callback) { char *pass; /* Password from the user */ - char buf[SUDO_CONV_REPL_MAX + 12]; /* General prupose buffer */ + char buf[SUDO_CONV_REPL_MAX + 12]; /* General purpose buffer */ char resp[128]; /* Response from the server */ int error; debug_decl(sudo_fwtk_verify, SUDOERS_DEBUG_AUTH); diff --git a/plugins/sudoers/auth/pam.c b/plugins/sudoers/auth/pam.c index e8d17856a..3b678bf4d 100644 --- a/plugins/sudoers/auth/pam.c +++ b/plugins/sudoers/auth/pam.c @@ -318,7 +318,7 @@ sudo_pam_verify(const struct sudoers_context *ctx, struct passwd *pw, } /* PAM_SILENT prevents the authentication service from generating output. */ - *pam_status = pam_authenticate(pamh, PAM_SILENT); + *pam_status = pam_authenticate(pamh, def_pam_silent ? PAM_SILENT : 0); /* Restore def_prompt, the passed-in prompt may be freed later. */ def_prompt = PASSPROMPT; diff --git a/plugins/sudoers/auth/sudo_auth.c b/plugins/sudoers/auth/sudo_auth.c index b74ab347c..b39acabd6 100644 --- a/plugins/sudoers/auth/sudo_auth.c +++ b/plugins/sudoers/auth/sudo_auth.c @@ -231,7 +231,7 @@ pass_warn(void) #ifdef INSULT if (def_insults) - warning = INSULT; + warning = _(INSULT); #endif sudo_printf(SUDO_CONV_ERROR_MSG|SUDO_CONV_PREFER_TTY, "%s\n", warning); diff --git a/plugins/sudoers/b64_decode.c b/plugins/sudoers/b64_decode.c index 624288873..c7dd73e21 100644 --- a/plugins/sudoers/b64_decode.c +++ b/plugins/sudoers/b64_decode.c @@ -54,7 +54,7 @@ static const unsigned char base64dec_tab[256]= { * result in dst. */ size_t -base64_decode(const char *in, unsigned char *out, size_t out_size) +base64_decode(const char * restrict in, unsigned char * restrict out, size_t out_size) { unsigned char *out_end = out + out_size; const unsigned char *out0 = out; diff --git a/plugins/sudoers/b64_encode.c b/plugins/sudoers/b64_encode.c index 1e1afa0db..bf5e7be5d 100644 --- a/plugins/sudoers/b64_encode.c +++ b/plugins/sudoers/b64_encode.c @@ -29,7 +29,7 @@ static const unsigned char base64enc_tab[64] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; size_t -base64_encode(const unsigned char *in, size_t in_len, char *out, size_t out_len) +base64_encode(const unsigned char * restrict in, size_t in_len, char * restrict out, size_t out_len) { size_t ii, io; unsigned int rem, v; diff --git a/plugins/sudoers/check.c b/plugins/sudoers/check.c index 4356dd185..60f4ba70e 100644 --- a/plugins/sudoers/check.c +++ b/plugins/sudoers/check.c @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: ISC * - * Copyright (c) 1993-1996,1998-2005, 2007-2018 + * Copyright (c) 1993-1996,1998-2005, 2007-2024 * Todd C. Miller * * Permission to use, copy, modify, and distribute this software for any @@ -139,16 +139,9 @@ check_user(struct sudoers_context *ctx, unsigned int validated, if (ctx->user.uid == 0 || (ctx->user.uid == ctx->runas.pw->pw_uid && (ctx->runas.gr == NULL || user_in_group(ctx->user.pw, ctx->runas.gr->gr_name)))) { -#ifdef HAVE_SELINUX - if (ctx->runas.role == NULL && ctx->runas.type == NULL) -#endif -#ifdef HAVE_APPARMOR - if (ctx->runas.apparmor_profile == NULL) -#endif -#ifdef HAVE_PRIV_SET - if (ctx->runas.privs == NULL && ctx->runas.limitprivs == NULL) -#endif - { + if (ctx->runas.role == NULL && ctx->runas.type == NULL && + ctx->runas.apparmor_profile == NULL && + ctx->runas.privs == NULL && ctx->runas.limitprivs == NULL) { sudo_debug_printf(SUDO_DEBUG_INFO, "%s: user running command as self", __func__); ret = AUTH_SUCCESS; diff --git a/plugins/sudoers/check_aliases.c b/plugins/sudoers/check_aliases.c index 871969890..53008379d 100644 --- a/plugins/sudoers/check_aliases.c +++ b/plugins/sudoers/check_aliases.c @@ -179,8 +179,10 @@ check_aliases(struct sudoers_parse_tree *parse_tree, bool strict, bool quiet, free_aliases(used_aliases); /* If all aliases were referenced we will have an empty tree. */ - if (!no_aliases(parse_tree)) - alias_apply(parse_tree, cb_unused, &quiet); + if (!no_aliases(parse_tree)) { + if (!alias_apply(parse_tree, cb_unused, &quiet)) + errors++; + } debug_return_int(strict ? errors : 0); } diff --git a/plugins/sudoers/cvtsudoers.c b/plugins/sudoers/cvtsudoers.c index e1db214bc..5d6b48a28 100644 --- a/plugins/sudoers/cvtsudoers.c +++ b/plugins/sudoers/cvtsudoers.c @@ -98,7 +98,7 @@ static unsigned int cvtsudoers_parse_suppression(char *expression); static void filter_userspecs(struct sudoers_parse_tree *parse_tree, struct cvtsudoers_config *conf); static void filter_defaults(struct sudoers_parse_tree *parse_tree, struct cvtsudoers_config *conf); static void alias_remove_unused(struct sudoers_parse_tree *parse_tree); -static void alias_prune(struct sudoers_parse_tree *parse_tree, struct cvtsudoers_config *conf); +static bool alias_prune(struct sudoers_parse_tree *parse_tree, struct cvtsudoers_config *conf); sudo_noreturn static void help(void); sudo_noreturn static void usage(void); @@ -1078,9 +1078,7 @@ print_aliases_sudoers(struct sudoers_parse_tree *parse_tree, { debug_decl(print_aliases_sudoers, SUDOERS_DEBUG_UTIL); - alias_apply(parse_tree, print_alias_sudoers, lbuf); - - debug_return_bool(!sudo_lbuf_error(lbuf)); + debug_return_bool(alias_apply(parse_tree, print_alias_sudoers, lbuf)); } static FILE *output_fp; /* global for convert_sudoers_output */ @@ -1432,15 +1430,13 @@ alias_prune_helper(struct sudoers_parse_tree *parse_tree, struct alias *a, /* * Prune out non-matching entries from within aliases. */ -static void +static bool alias_prune(struct sudoers_parse_tree *parse_tree, struct cvtsudoers_config *conf) { debug_decl(alias_prune, SUDOERS_DEBUG_ALIAS); - alias_apply(parse_tree, alias_prune_helper, conf); - - debug_return; + debug_return_bool(alias_apply(parse_tree, alias_prune_helper, conf)); } /* diff --git a/plugins/sudoers/cvtsudoers_csv.c b/plugins/sudoers/cvtsudoers_csv.c index d5cb6a54a..717748e69 100644 --- a/plugins/sudoers/cvtsudoers_csv.c +++ b/plugins/sudoers/cvtsudoers_csv.c @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: ISC * - * Copyright (c) 2021-2023 Todd C. Miller + * Copyright (c) 2021-2024 Todd C. Miller * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -36,7 +36,7 @@ #include #include -static void print_member_list_csv(FILE *fp, const struct sudoers_parse_tree *parse_tree, struct member_list *members, bool negated, short alias_type, bool expand_aliases); +static bool print_member_list_csv(FILE *fp, const struct sudoers_parse_tree *parse_tree, struct member_list *members, bool negated, short alias_type, bool expand_aliases); /* * Print sudoOptions from a defaults_list. @@ -179,8 +179,8 @@ format_cmnd(struct sudo_command *c, bool negated) } if ((buf = malloc(bufsiz)) == NULL) { - sudo_fatalx(U_("%s: %s"), __func__, - U_("unable to allocate memory")); + sudo_warnx(U_("%s: %s"), __func__, U_("unable to allocate memory")); + debug_return_ptr(NULL); } cp = buf; @@ -205,7 +205,7 @@ format_cmnd(struct sudo_command *c, bool negated) * Print struct member in CSV format as the specified attribute. * See print_member_int() in parse.c. */ -static void +static bool print_member_csv(FILE *fp, const struct sudoers_parse_tree *parse_tree, char *name, int type, bool negated, bool quoted, short alias_type, bool expand_aliases) @@ -227,14 +227,23 @@ print_member_csv(FILE *fp, const struct sudoers_parse_tree *parse_tree, FALLTHROUGH; case COMMAND: str = format_cmnd((struct sudo_command *)name, negated); - print_csv_string(fp, str, quoted); + if (str == NULL) { + debug_return_bool(false); + } + if (!print_csv_string(fp, str, quoted)) { + free(str); + debug_return_bool(false); + } free(str); break; case ALIAS: if (expand_aliases) { if ((a = alias_get(parse_tree, name, alias_type)) != NULL) { - print_member_list_csv(fp, parse_tree, &a->members, negated, - alias_type, expand_aliases); + if (!print_member_list_csv(fp, parse_tree, &a->members, negated, + alias_type, expand_aliases)) { + alias_put(a); + debug_return_bool(false); + } alias_put(a); break; } @@ -243,22 +252,25 @@ print_member_csv(FILE *fp, const struct sudoers_parse_tree *parse_tree, default: len = asprintf(&str, "%s%s", negated ? "!" : "", name); if (len == -1) { - sudo_fatalx(U_("%s: %s"), __func__, - U_("unable to allocate memory")); + sudo_warnx(U_("%s: %s"), __func__, U_("unable to allocate memory")); + debug_return_bool(false); + } + if (!print_csv_string(fp, str, quoted)) { + free(str); + debug_return_bool(false); } - print_csv_string(fp, str, quoted); free(str); break; } - debug_return; + debug_return_bool(!ferror(fp)); } /* * Print list of struct member in CSV format as the specified attribute. * See print_member_int() in parse.c. */ -static void +static bool print_member_list_csv(FILE *fp, const struct sudoers_parse_tree *parse_tree, struct member_list *members, bool negated, short alias_type, bool expand_aliases) @@ -267,27 +279,29 @@ print_member_list_csv(FILE *fp, const struct sudoers_parse_tree *parse_tree, debug_decl(print_member_list_csv, SUDOERS_DEBUG_UTIL); if (TAILQ_EMPTY(members)) - debug_return; + debug_return_bool(true); if (TAILQ_FIRST(members) != TAILQ_LAST(members, member_list)) putc('"', fp); TAILQ_FOREACH_SAFE(m, members, entries, next) { - print_member_csv(fp, parse_tree, m->name, m->type, - negated ? !m->negated : m->negated, true, alias_type, - expand_aliases); + if (!print_member_csv(fp, parse_tree, m->name, m->type, + negated ? !m->negated : m->negated, true, alias_type, + expand_aliases)) { + debug_return_bool(false); + } if (next != NULL) putc(',', fp); } if (TAILQ_FIRST(members) != TAILQ_LAST(members, member_list)) putc('"', fp); - debug_return; + debug_return_bool(!ferror(fp)); } /* * Print the binding for a Defaults entry of the specified type. */ -static void +static bool print_defaults_binding_csv(FILE *fp, const struct sudoers_parse_tree *parse_tree, struct defaults_binding *binding, int type, bool expand_aliases) @@ -298,11 +312,13 @@ print_defaults_binding_csv(FILE *fp, if (type != DEFAULTS) { /* Print each member object in binding. */ alias_type = defaults_to_alias_type(type); - print_member_list_csv(fp, parse_tree, &binding->members, false, - alias_type, expand_aliases); + if (!print_member_list_csv(fp, parse_tree, &binding->members, false, + alias_type, expand_aliases)) { + debug_return_bool(false); + } } - debug_return; + debug_return_bool(true); } /* @@ -365,7 +381,8 @@ print_defaults_csv(FILE *fp, const struct sudoers_parse_tree *parse_tree, fputs(def->op == true ? "true" : "false", fp); } else { /* Does not handle lists specially. */ - print_csv_string(fp, def->val, false); + if (!print_csv_string(fp, def->val, false)) + debug_return_bool(false); } putc('\n', fp); } @@ -388,13 +405,16 @@ print_alias_csv(struct sudoers_parse_tree *parse_tree, struct alias *a, void *v) title = alias_type_to_string(a->type); if (title == NULL) { sudo_warnx("unexpected alias type %d", a->type); - debug_return_int(0); + debug_return_int(-1); } fprintf(fp, "%s,%s,", title, a->name); - print_member_list_csv(fp, parse_tree, &a->members, false, a->type, false); + if (!print_member_list_csv(fp, parse_tree, &a->members, false, a->type, + false)) { + debug_return_int(-1); + } putc('\n', fp); - debug_return_int(0); + debug_return_int(ferror(fp)); } /* @@ -412,16 +432,19 @@ print_aliases_csv(FILE *fp, const struct sudoers_parse_tree *parse_tree) fputs("alias_type,alias_name,members\n", fp); /* print_alias_csv() does not modify parse_tree. */ - alias_apply((struct sudoers_parse_tree *)parse_tree, print_alias_csv, fp); + if (!alias_apply((struct sudoers_parse_tree *)parse_tree, print_alias_csv, + fp)) { + debug_return_bool(false); + } putc('\n', fp); - debug_return_bool(true); + debug_return_bool(!ferror(fp)); } /* * Print a Cmnd_Spec in CSV format. */ -static void +static bool print_cmndspec_csv(FILE *fp, const struct sudoers_parse_tree *parse_tree, struct cmndspec *cs, struct cmndspec **nextp, struct defaults_list *options, bool expand_aliases) @@ -436,14 +459,18 @@ print_cmndspec_csv(FILE *fp, const struct sudoers_parse_tree *parse_tree, debug_decl(print_cmndspec_csv, SUDOERS_DEBUG_UTIL); if (cs->runasuserlist != NULL) { - print_member_list_csv(fp, parse_tree, cs->runasuserlist, false, - RUNASALIAS, expand_aliases); + if (!print_member_list_csv(fp, parse_tree, cs->runasuserlist, false, + RUNASALIAS, expand_aliases)) { + debug_return_bool(false); + } } putc(',', fp); if (cs->runasgrouplist != NULL) { - print_member_list_csv(fp, parse_tree, cs->runasgrouplist, false, - RUNASALIAS, expand_aliases); + if (!print_member_list_csv(fp, parse_tree, cs->runasgrouplist, false, + RUNASALIAS, expand_aliases)) { + debug_return_bool(false); + } } putc(',', fp); @@ -532,7 +559,8 @@ print_cmndspec_csv(FILE *fp, const struct sudoers_parse_tree *parse_tree, need_comma = true; } } - print_options_csv(fp, options, need_comma); + if (!print_options_csv(fp, options, need_comma)) + debug_return_bool(false); if (!TAILQ_EMPTY(options)) need_comma = true; @@ -546,24 +574,19 @@ print_cmndspec_csv(FILE *fp, const struct sudoers_parse_tree *parse_tree, need_comma = true; } -#ifdef HAVE_SELINUX /* Print SELinux role/type */ if (cs->role != NULL && cs->type != NULL) { fprintf(fp, "%srole=%s,type=%s", need_comma ? "," : "", cs->role, cs->type); need_comma = true; } -#endif /* HAVE_SELINUX */ -#ifdef HAVE_APPARMOR if (cs->apparmor_profile != NULL) { fprintf(fp, "%sapparmor_profile=%s,", need_comma ? "," : "", cs->apparmor_profile); need_comma = true; } -#endif /* HAVE_APPARMOR */ -#ifdef HAVE_PRIV_SET /* Print Solaris privs/limitprivs */ if (cs->privs != NULL || cs->limitprivs != NULL) { if (cs->privs != NULL) { @@ -575,7 +598,6 @@ print_cmndspec_csv(FILE *fp, const struct sudoers_parse_tree *parse_tree, need_comma = true; } } -#endif /* HAVE_PRIV_SET */ #ifdef __clang_analyzer__ (void)&need_comma; #endif @@ -592,15 +614,9 @@ print_cmndspec_csv(FILE *fp, const struct sudoers_parse_tree *parse_tree, /* XXX - TAG_SET does not account for implied SETENV */ last_one = next == NULL || RUNAS_CHANGED(cs, next) || TAGS_CHANGED(cs->tags, next->tags) -#ifdef HAVE_PRIV_SET || cs->privs != next->privs || cs->limitprivs != next->limitprivs -#endif /* HAVE_PRIV_SET */ -#ifdef HAVE_SELINUX || cs->role != next->role || cs->type != next->type -#endif /* HAVE_SELINUX */ -#ifdef HAVE_APPARMOR || cs->apparmor_profile != next->apparmor_profile -#endif /* HAVE_APPARMOR */ || cs->runchroot != next->runchroot || cs->runcwd != next->runcwd; if (!quoted && !last_one) { @@ -608,8 +624,10 @@ print_cmndspec_csv(FILE *fp, const struct sudoers_parse_tree *parse_tree, putc('"', fp); } m = cs->cmnd; - print_member_csv(fp, parse_tree, m->name, m->type, m->negated, quoted, - CMNDALIAS, expand_aliases); + if (!print_member_csv(fp, parse_tree, m->name, m->type, m->negated, + quoted, CMNDALIAS, expand_aliases)) { + debug_return_bool(false); + } if (last_one) break; putc(',', fp); @@ -621,7 +639,7 @@ print_cmndspec_csv(FILE *fp, const struct sudoers_parse_tree *parse_tree, *nextp = next; - debug_return; + debug_return_bool(!ferror(fp)); } /* @@ -641,16 +659,22 @@ print_userspec_csv(FILE *fp, const struct sudoers_parse_tree *parse_tree, TAILQ_FOREACH(priv, &us->privileges, entries) { TAILQ_FOREACH_SAFE(cs, &priv->cmndlist, entries, next) { fputs("rule,", fp); - print_member_list_csv(fp, parse_tree, &us->users, false, - USERALIAS, expand_aliases); + if (!print_member_list_csv(fp, parse_tree, &us->users, false, + USERALIAS, expand_aliases)) { + debug_return_bool(false); + } putc(',', fp); - print_member_list_csv(fp, parse_tree, &priv->hostlist, false, - HOSTALIAS, expand_aliases); + if (!print_member_list_csv(fp, parse_tree, &priv->hostlist, false, + HOSTALIAS, expand_aliases)) { + debug_return_bool(false); + } putc(',', fp); - print_cmndspec_csv(fp, parse_tree, cs, &next, &priv->defaults, - expand_aliases); + if (!print_cmndspec_csv(fp, parse_tree, cs, &next, &priv->defaults, + expand_aliases)) { + debug_return_bool(false); + } putc('\n', fp); } } @@ -672,7 +696,8 @@ print_userspecs_csv(FILE *fp, const struct sudoers_parse_tree *parse_tree, debug_return_bool(true); /* Heading line. */ - fputs("rule,user,host,runusers,rungroups,options,command\n", fp); + if (fputs("rule,user,host,runusers,rungroups,options,command\n", fp) == EOF) + debug_return_bool(false); TAILQ_FOREACH(us, &parse_tree->userspecs, entries) { if (!print_userspec_csv(fp, parse_tree, us, expand_aliases)) @@ -693,26 +718,39 @@ convert_sudoers_csv(const struct sudoers_parse_tree *parse_tree, debug_decl(convert_sudoers_csv, SUDOERS_DEBUG_UTIL); if (output_file != NULL && strcmp(output_file, "-") != 0) { - if ((output_fp = fopen(output_file, "w")) == NULL) - sudo_fatal(U_("unable to open %s"), output_file); + if ((output_fp = fopen(output_file, "w")) == NULL) { + sudo_warn(U_("unable to open %s"), output_file); + debug_return_bool(false); + } } /* Dump Defaults in CSV format. */ - if (!ISSET(conf->suppress, SUPPRESS_DEFAULTS)) - print_defaults_csv(output_fp, parse_tree, conf->expand_aliases); + if (!ISSET(conf->suppress, SUPPRESS_DEFAULTS)) { + if (!print_defaults_csv(output_fp, parse_tree, conf->expand_aliases)) { + goto cleanup; + } + } /* Dump Aliases in CSV format. */ if (!conf->expand_aliases && !ISSET(conf->suppress, SUPPRESS_ALIASES)) { - print_aliases_csv(output_fp, parse_tree); + if (!print_aliases_csv(output_fp, parse_tree)) { + goto cleanup; + } } /* Dump User_Specs in CSV format. */ - if (!ISSET(conf->suppress, SUPPRESS_PRIVS)) - print_userspecs_csv(output_fp, parse_tree, conf->expand_aliases); + if (!ISSET(conf->suppress, SUPPRESS_PRIVS)) { + if (!print_userspecs_csv(output_fp, parse_tree, conf->expand_aliases)) { + goto cleanup; + } + } +cleanup: (void)fflush(output_fp); - if (ferror(output_fp)) + if (ferror(output_fp)) { + sudo_warn("%s", output_file); ret = false; + } if (output_fp != stdout) fclose(output_fp); diff --git a/plugins/sudoers/cvtsudoers_json.c b/plugins/sudoers/cvtsudoers_json.c index 3ff543dc1..3ef00c4cb 100644 --- a/plugins/sudoers/cvtsudoers_json.c +++ b/plugins/sudoers/cvtsudoers_json.c @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: ISC * - * Copyright (c) 2013-2023 Todd C. Miller + * Copyright (c) 2013-2024 Todd C. Miller * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -31,6 +31,7 @@ #include #include +#include #include #include #include @@ -58,57 +59,86 @@ enum word_type { /* * Print sudo command member in JSON format, with correct indentation. + * Returns true on success, false on a memory allocation failure. */ -static void +static bool print_command_json(struct json_container *jsonc, const char *name, bool negated) { struct sudo_command *c = (struct sudo_command *)name; struct command_digest *digest; struct json_value value; char *cmnd = c->cmnd; + unsigned int digest_type; const char *digest_name; debug_decl(print_command_json, SUDOERS_DEBUG_UTIL); /* Print command with optional command line args. */ if (c->args != NULL) { - if (asprintf(&cmnd, "%s %s", c->cmnd, c->args) == -1) { - sudo_fatalx(U_("%s: %s"), __func__, - U_("unable to allocate memory")); - } + if (asprintf(&cmnd, "%s %s", c->cmnd, c->args) == -1) + debug_return_bool(false); } value.type = JSON_STRING; value.u.string = cmnd ? cmnd : (char *)"ALL"; if (!negated && TAILQ_EMPTY(&c->digests)) { /* Print as { "command": "command and args" } */ - sudo_json_add_value_as_object(jsonc, "command", &value); + if (!sudo_json_add_value_as_object(jsonc, "command", &value)) + debug_return_bool(false); } else { /* Print as multi-line object. */ - sudo_json_open_object(jsonc, NULL); - sudo_json_add_value(jsonc, "command", &value); + if (!sudo_json_open_object(jsonc, NULL)) + debug_return_bool(false); + if (!sudo_json_add_value(jsonc, "command", &value)) + debug_return_bool(false); - /* Optional digest list. */ - TAILQ_FOREACH(digest, &c->digests, entries) { - digest_name = digest_type_to_name(digest->digest_type); - value.type = JSON_STRING; - value.u.string = digest->digest_str; - sudo_json_add_value(jsonc, digest_name, &value); + /* Optional digest list, ordered by digest type. */ + for (digest_type = 0; digest_type < SUDO_DIGEST_INVALID; digest_type++) { + unsigned int ndigests = 0; + + TAILQ_FOREACH(digest, &c->digests, entries) { + if (digest->digest_type == digest_type) + ndigests++; + } + if (ndigests == 0) + continue; + + digest_name = digest_type_to_name(digest_type); + if (ndigests > 1) { + if (!sudo_json_open_array(jsonc, digest_name)) + debug_return_bool(false); + /* Only use digest_name for the array key, not value. */ + digest_name = NULL; + } + TAILQ_FOREACH(digest, &c->digests, entries) { + if (digest->digest_type != digest_type) + continue; + value.type = JSON_STRING; + value.u.string = digest->digest_str; + if (!sudo_json_add_value(jsonc, digest_name, &value)) + debug_return_bool(false); + } + if (ndigests > 1) { + if (!sudo_json_close_array(jsonc)) + debug_return_bool(false); + } } /* Command may be negated. */ if (negated) { value.type = JSON_BOOL; value.u.boolean = true; - sudo_json_add_value(jsonc, "negated", &value); + if (!sudo_json_add_value(jsonc, "negated", &value)) + debug_return_bool(false); } - sudo_json_close_object(jsonc); + if (!sudo_json_close_object(jsonc)) + debug_return_bool(false); } if (cmnd != c->cmnd) free(cmnd); - debug_return; + debug_return_bool(true); } /* @@ -153,16 +183,18 @@ defaults_to_word_type(int defaults_type) /* * Print struct member in JSON format, with correct indentation. + * Returns true on success, false on a memory allocation failure. */ -static void +static bool print_member_json_int(struct json_container *jsonc, const struct sudoers_parse_tree *parse_tree, char *name, int type, bool negated, enum word_type word_type, bool expand_aliases) { struct json_value value; const char *typestr = NULL; - const char *errstr; short alias_type = UNSPEC; + struct alias *a = NULL; + const char *errstr; id_t id; debug_decl(print_member_json_int, SUDOERS_DEBUG_UTIL); @@ -186,6 +218,37 @@ print_member_json_int(struct json_container *jsonc, value.u.string = name; } + /* Special handling for ALIAS, which might actually be a WORD. */ + if (type == ALIAS) { + switch (word_type) { + case TYPE_COMMAND: + alias_type = CMNDALIAS; + typestr = "cmndalias"; + break; + case TYPE_HOSTNAME: + alias_type = HOSTALIAS; + typestr = "hostalias"; + break; + case TYPE_RUNASGROUP: + case TYPE_RUNASUSER: + alias_type = RUNASALIAS; + typestr = "runasalias"; + break; + case TYPE_USERNAME: + alias_type = USERALIAS; + typestr = "useralias"; + break; + default: + sudo_fatalx("unexpected word type %d", word_type); + } + + a = alias_get(parse_tree, value.u.string, alias_type); + if (a == NULL && alias_type != CMNDALIAS) { + /* Alias does not resolve, treat as WORD instead. */ + type = WORD; + } + } + switch (type) { case USERGROUP: value.u.string++; /* skip leading '%' */ @@ -226,8 +289,9 @@ print_member_json_int(struct json_container *jsonc, typestr = "networkaddr"; break; case COMMAND: - print_command_json(jsonc, name, negated); - debug_return; + if (!print_command_json(jsonc, name, negated)) + goto oom; + debug_return_bool(true); case ALL: case MYSELF: case WORD: @@ -261,85 +325,64 @@ print_member_json_int(struct json_container *jsonc, } break; case ALIAS: - switch (word_type) { - case TYPE_COMMAND: - if (expand_aliases) { - alias_type = CMNDALIAS; - } else { - typestr = "cmndalias"; - } - break; - case TYPE_HOSTNAME: - if (expand_aliases) { - alias_type = HOSTALIAS; - } else { - typestr = "hostalias"; - } - break; - case TYPE_RUNASGROUP: - case TYPE_RUNASUSER: - if (expand_aliases) { - alias_type = RUNASALIAS; - } else { - typestr = "runasalias"; - } - break; - case TYPE_USERNAME: - if (expand_aliases) { - alias_type = USERALIAS; - } else { - typestr = "useralias"; - } - break; - default: - sudo_fatalx("unexpected word type %d", word_type); - } + /* handled earlier */ break; default: sudo_fatalx("unexpected member type %d", type); } if (expand_aliases && type == ALIAS) { - struct alias *a; - struct member *m; - /* Print each member of the alias. */ - if ((a = alias_get(parse_tree, value.u.string, alias_type)) != NULL) { + if (a != NULL) { + struct member *m; + TAILQ_FOREACH(m, &a->members, entries) { - print_member_json_int(jsonc, parse_tree, m->name, m->type, - negated ? !m->negated : m->negated, - alias_to_word_type(alias_type), true); + if (!print_member_json_int(jsonc, parse_tree, m->name, m->type, + negated ? !m->negated : m->negated, word_type, true)) + goto oom; } - alias_put(a); } } else { if (negated) { - sudo_json_open_object(jsonc, NULL); - sudo_json_add_value(jsonc, typestr, &value); + if (!sudo_json_open_object(jsonc, NULL)) + goto oom; + if (!sudo_json_add_value(jsonc, typestr, &value)) + goto oom; value.type = JSON_BOOL; value.u.boolean = true; - sudo_json_add_value(jsonc, "negated", &value); - sudo_json_close_object(jsonc); + if (!sudo_json_add_value(jsonc, "negated", &value)) + goto oom; + if (!sudo_json_close_object(jsonc)) + goto oom; } else { - sudo_json_add_value_as_object(jsonc, typestr, &value); + if (!sudo_json_add_value_as_object(jsonc, typestr, &value)) + goto oom; } } - debug_return; + if (a != NULL) + alias_put(a); + debug_return_bool(true); +oom: + /* warning printed by caller */ + if (a != NULL) + alias_put(a); + debug_return_bool(false); } -static void +static bool print_member_json(struct json_container *jsonc, const struct sudoers_parse_tree *parse_tree, struct member *m, enum word_type word_type, bool expand_aliases) { - print_member_json_int(jsonc, parse_tree, m->name, m->type, m->negated, - word_type, expand_aliases); + return print_member_json_int(jsonc, parse_tree, m->name, m->type, + m->negated, word_type, expand_aliases); } /* * Callback for alias_apply() to print an alias entry if it matches * the type specified in the closure. + * Returns 0 on success and -1 on memory allocation failure. */ static int print_alias_json(struct sudoers_parse_tree *parse_tree, struct alias *a, @@ -354,23 +397,28 @@ print_alias_json(struct sudoers_parse_tree *parse_tree, struct alias *a, /* Open the aliases object or close the last entry, then open new one. */ if (closure->count++ == 0) { - sudo_json_open_object(closure->jsonc, closure->title); + if (!sudo_json_open_object(closure->jsonc, closure->title)) + debug_return_int(-1); } else { - sudo_json_close_array(closure->jsonc); + if (!sudo_json_close_array(closure->jsonc)) + debug_return_int(-1); } - sudo_json_open_array(closure->jsonc, a->name); + if (!sudo_json_open_array(closure->jsonc, a->name)) + debug_return_int(-1); TAILQ_FOREACH(m, &a->members, entries) { - print_member_json(closure->jsonc, parse_tree, m, - alias_to_word_type(closure->alias_type), false); + if (!print_member_json(closure->jsonc, parse_tree, m, + alias_to_word_type(closure->alias_type), false)) + debug_return_int(-1); } debug_return_int(0); } /* * Print the binding for a Defaults entry of the specified type. + * Returns true on success, false on a memory allocation failure. */ -static void +static bool print_binding_json(struct json_container *jsonc, const struct sudoers_parse_tree *parse_tree, struct defaults_binding *binding, int type, bool expand_aliases) @@ -379,30 +427,38 @@ print_binding_json(struct json_container *jsonc, debug_decl(print_binding_json, SUDOERS_DEBUG_UTIL); if (TAILQ_EMPTY(&binding->members)) - debug_return; + debug_return_bool(true); /* Print each member object in binding. */ - sudo_json_open_array(jsonc, "Binding"); + if (!sudo_json_open_array(jsonc, "Binding")) + goto oom; TAILQ_FOREACH(m, &binding->members, entries) { - print_member_json(jsonc, parse_tree, m, defaults_to_word_type(type), - expand_aliases); + if (!print_member_json(jsonc, parse_tree, m, + defaults_to_word_type(type), expand_aliases)) + goto oom; } - sudo_json_close_array(jsonc); + if (!sudo_json_close_array(jsonc)) + goto oom; - debug_return; + debug_return_bool(true); +oom: + /* warning printed by caller */ + debug_return_bool(false); } /* * Print a Defaults list JSON format. + * Returns true on success, false on a memory allocation failure. */ -static void +static bool print_defaults_list_json(struct json_container *jsonc, struct defaults *def) { char savech, *start, *end = def->val; struct json_value value; debug_decl(print_defaults_list_json, SUDOERS_DEBUG_UTIL); - sudo_json_open_object(jsonc, NULL); + if (!sudo_json_open_object(jsonc, NULL)) + goto oom; value.type = JSON_STRING; switch (def->op) { case '+': @@ -419,8 +475,10 @@ print_defaults_list_json(struct json_container *jsonc, struct defaults *def) value.u.string = "unsupported"; break; } - sudo_json_add_value(jsonc, "operation", &value); - sudo_json_open_array(jsonc, def->var); + if (!sudo_json_add_value(jsonc, "operation", &value)) + goto oom; + if (!sudo_json_open_array(jsonc, def->var)) + goto oom; /* Split value into multiple space-separated words. */ do { /* Remove leading blanks, must have a non-empty string. */ @@ -436,13 +494,19 @@ print_defaults_list_json(struct json_container *jsonc, struct defaults *def) *end = '\0'; value.type = JSON_STRING; value.u.string = start; - sudo_json_add_value(jsonc, NULL, &value); + if (!sudo_json_add_value(jsonc, NULL, &value)) + goto oom; *end = savech; } while (*end++ != '\0'); - sudo_json_close_array(jsonc); - sudo_json_close_object(jsonc); + if (!sudo_json_close_array(jsonc)) + goto oom; + if (!sudo_json_close_object(jsonc)) + goto oom; - debug_return; + debug_return_bool(true); +oom: + /* warning printed by caller */ + debug_return_bool(false); } static int @@ -460,8 +524,9 @@ get_defaults_type(struct defaults *def) /* * Export all Defaults in JSON format. + * Returns true on success, else false, displaying a warning. */ -static void +static bool print_defaults_json(struct json_container *jsonc, const struct sudoers_parse_tree *parse_tree, bool expand_aliases) { @@ -471,9 +536,10 @@ print_defaults_json(struct json_container *jsonc, debug_decl(print_defaults_json, SUDOERS_DEBUG_UTIL); if (TAILQ_EMPTY(&parse_tree->defaults)) - debug_return; + debug_return_bool(true); - sudo_json_open_array(jsonc, "Defaults"); + if (!sudo_json_open_array(jsonc, "Defaults")) + goto oom; TAILQ_FOREACH_SAFE(def, &parse_tree->defaults, entries, next) { type = get_defaults_type(def); @@ -485,28 +551,34 @@ print_defaults_json(struct json_container *jsonc, } /* Found it, print object container and binding (if any). */ - sudo_json_open_object(jsonc, NULL); - print_binding_json(jsonc, parse_tree, def->binding, def->type, - expand_aliases); + if (!sudo_json_open_object(jsonc, NULL)) + goto oom; + if (!print_binding_json(jsonc, parse_tree, def->binding, def->type, + expand_aliases)) + goto oom; /* Validation checks. */ /* XXX - validate values in addition to names? */ /* Print options, merging ones with the same binding. */ - sudo_json_open_array(jsonc, "Options"); + if (!sudo_json_open_array(jsonc, "Options")) + goto oom; for (;;) { next = TAILQ_NEXT(def, entries); /* XXX - need to update cur too */ if ((type & T_MASK) == T_FLAG || def->val == NULL) { value.type = JSON_BOOL; value.u.boolean = def->op; - sudo_json_add_value_as_object(jsonc, def->var, &value); + if (!sudo_json_add_value_as_object(jsonc, def->var, &value)) + goto oom; } else if ((type & T_MASK) == T_LIST) { - print_defaults_list_json(jsonc, def); + if (!print_defaults_list_json(jsonc, def)) + goto oom; } else { value.type = JSON_STRING; value.u.string = def->val; - sudo_json_add_value_as_object(jsonc, def->var, &value); + if (!sudo_json_add_value_as_object(jsonc, def->var, &value)) + goto oom; } if (next == NULL || def->binding != next->binding) break; @@ -519,58 +591,75 @@ print_defaults_json(struct json_container *jsonc, break; } } - sudo_json_close_array(jsonc); - sudo_json_close_object(jsonc); + if (!sudo_json_close_array(jsonc) || !sudo_json_close_object(jsonc)) + goto oom; } /* Close Defaults array; comma (if any) & newline will be printer later. */ - sudo_json_close_array(jsonc); + if (!sudo_json_close_array(jsonc)) + goto oom; - debug_return; + debug_return_bool(true); +oom: + sudo_warnx(U_("%s: %s"), __func__, U_("unable to allocate memory")); + debug_return_bool(false); } /* * Export all aliases of the specified type in JSON format. * Iterates through the entire aliases tree. + * Returns true on success, else false, displaying a warning. */ -static void -print_aliases_by_type_json(struct json_container *jsonc, +static bool +print_aliases_by_type(struct json_container *jsonc, const struct sudoers_parse_tree *parse_tree, short alias_type, const char *title) { struct json_alias_closure closure; - debug_decl(print_aliases_by_type_json, SUDOERS_DEBUG_UTIL); + debug_decl(print_aliases_by_type, SUDOERS_DEBUG_UTIL); /* print_alias_json() does not modify parse_tree. */ closure.jsonc = jsonc; closure.count = 0; closure.alias_type = alias_type; closure.title = title; - alias_apply((struct sudoers_parse_tree *)parse_tree, print_alias_json, - &closure); + if (!alias_apply((struct sudoers_parse_tree *)parse_tree, print_alias_json, + &closure)) + goto oom; if (closure.count != 0) { - sudo_json_close_array(jsonc); - sudo_json_close_object(jsonc); + if (!sudo_json_close_array(jsonc)) + goto oom; + if (!sudo_json_close_object(jsonc)) { + goto oom; + } } - debug_return; + debug_return_bool(true); +oom: + sudo_warnx(U_("%s: %s"), __func__, U_("unable to allocate memory")); + debug_return_bool(false); } /* * Export all aliases in JSON format. + * Returns true on success, false on a memory allocation failure. */ -static void +static bool print_aliases_json(struct json_container *jsonc, const struct sudoers_parse_tree *parse_tree) { debug_decl(print_aliases_json, SUDOERS_DEBUG_UTIL); - print_aliases_by_type_json(jsonc, parse_tree, USERALIAS, "User_Aliases"); - print_aliases_by_type_json(jsonc, parse_tree, RUNASALIAS, "Runas_Aliases"); - print_aliases_by_type_json(jsonc, parse_tree, HOSTALIAS, "Host_Aliases"); - print_aliases_by_type_json(jsonc, parse_tree, CMNDALIAS, "Command_Aliases"); + if (!print_aliases_by_type(jsonc, parse_tree, USERALIAS, "User_Aliases")) + debug_return_bool(false); + if (!print_aliases_by_type(jsonc, parse_tree, RUNASALIAS, "Runas_Aliases")) + debug_return_bool(false); + if (!print_aliases_by_type(jsonc, parse_tree, HOSTALIAS, "Host_Aliases")) + debug_return_bool(false); + if (!print_aliases_by_type(jsonc, parse_tree, CMNDALIAS, "Command_Aliases")) + debug_return_bool(false); - debug_return; + debug_return_bool(true); } /* Does the next entry differ only in the command itself? */ @@ -579,15 +668,9 @@ cmndspec_continues(struct cmndspec *cs, struct cmndspec *next) { bool ret = next != NULL && !RUNAS_CHANGED(cs, next) && !TAGS_CHANGED(cs->tags, next->tags) -#ifdef HAVE_PRIV_SET && cs->privs == next->privs && cs->limitprivs == next->limitprivs -#endif /* HAVE_PRIV_SET */ -#ifdef HAVE_SELINUX && cs->role == next->role && cs->type == next->type -#endif /* HAVE_SELINUX */ -#ifdef HAVE_APPARMOR && cs->apparmor_profile == next->apparmor_profile -#endif /* HAVE_APPARMOR */ && cs->runchroot == next->runchroot && cs->runcwd == next->runcwd; return ret; } @@ -596,14 +679,16 @@ cmndspec_continues(struct cmndspec *cs, struct cmndspec *next) * Print a Cmnd_Spec in JSON format at the correct indent level. * A pointer to the next Cmnd_Spec is passed in to make it possible to * merge adjacent entries that are identical in all but the command. + * Returns true on success, false on a memory allocation failure. */ -static void +static bool print_cmndspec_json(struct json_container *jsonc, const struct sudoers_parse_tree *parse_tree, struct cmndspec *cs, struct cmndspec **nextp, struct defaults_list *options, bool expand_aliases) { char timebuf[sizeof("20120727121554Z")]; struct cmndspec *next = *nextp; + bool has_options = false; struct json_value value; struct defaults *def; struct member *m; @@ -612,49 +697,63 @@ print_cmndspec_json(struct json_container *jsonc, debug_decl(print_cmndspec_json, SUDOERS_DEBUG_UTIL); /* Open Cmnd_Spec object. */ - sudo_json_open_object(jsonc, NULL); + if (!sudo_json_open_object(jsonc, NULL)) + goto oom; /* Print runasuserlist */ if (cs->runasuserlist != NULL) { - sudo_json_open_array(jsonc, "runasusers"); + if (!sudo_json_open_array(jsonc, "runasusers")) + goto oom; TAILQ_FOREACH(m, cs->runasuserlist, entries) { - print_member_json(jsonc, parse_tree, m, TYPE_RUNASUSER, - expand_aliases); + if (!print_member_json(jsonc, parse_tree, m, TYPE_RUNASUSER, + expand_aliases)) + goto oom; } - sudo_json_close_array(jsonc); + if (!sudo_json_close_array(jsonc)) + goto oom; } /* Print runasgrouplist */ if (cs->runasgrouplist != NULL) { - sudo_json_open_array(jsonc, "runasgroups"); + if (!sudo_json_open_array(jsonc, "runasgroups")) + goto oom; TAILQ_FOREACH(m, cs->runasgrouplist, entries) { - print_member_json(jsonc, parse_tree, m, TYPE_RUNASGROUP, - expand_aliases); + if (!print_member_json(jsonc, parse_tree, m, TYPE_RUNASGROUP, + expand_aliases)) + goto oom; } - sudo_json_close_array(jsonc); + if (!sudo_json_close_array(jsonc)) + goto oom; } /* Print options and tags */ - if (cs->timeout > 0 || cs->notbefore != UNSPEC || cs->notafter != UNSPEC || - cs->runchroot != NULL || cs->runcwd != NULL || TAGS_SET(cs->tags) || - !TAILQ_EMPTY(options)) { + has_options = TAGS_SET(cs->tags) || !TAILQ_EMPTY(options) || + cs->timeout > 0 || cs->notbefore != UNSPEC || cs->notafter != UNSPEC || + cs->runchroot != NULL || cs->runcwd != NULL || + (cs->role != NULL && cs->type != NULL) || cs->apparmor_profile != NULL + || cs->privs != NULL || cs->limitprivs != NULL; + if (has_options) { struct cmndtag tag = cs->tags; - sudo_json_open_array(jsonc, "Options"); + if (!sudo_json_open_array(jsonc, "Options")) + goto oom; if (cs->runchroot != NULL) { value.type = JSON_STRING; value.u.string = cs->runchroot; - sudo_json_add_value(jsonc, "runchroot", &value); + if (!sudo_json_add_value_as_object(jsonc, "runchroot", &value)) + goto oom; } if (cs->runcwd != NULL) { value.type = JSON_STRING; value.u.string = cs->runcwd; - sudo_json_add_value(jsonc, "runcwd", &value); + if (!sudo_json_add_value_as_object(jsonc, "runcwd", &value)) + goto oom; } if (cs->timeout > 0) { value.type = JSON_NUMBER; value.u.number = cs->timeout; - sudo_json_add_value_as_object(jsonc, "command_timeout", &value); + if (!sudo_json_add_value_as_object(jsonc, "command_timeout", &value)) + goto oom; } if (cs->notbefore != UNSPEC) { if (gmtime_r(&cs->notbefore, &gmt) == NULL) { @@ -667,7 +766,8 @@ print_cmndspec_json(struct json_container *jsonc, } else { value.type = JSON_STRING; value.u.string = timebuf; - sudo_json_add_value_as_object(jsonc, "notbefore", &value); + if (!sudo_json_add_value_as_object(jsonc, "notbefore", &value)) + goto oom; } } } @@ -682,49 +782,58 @@ print_cmndspec_json(struct json_container *jsonc, } else { value.type = JSON_STRING; value.u.string = timebuf; - sudo_json_add_value_as_object(jsonc, "notafter", &value); + if (!sudo_json_add_value_as_object(jsonc, "notafter", &value)) + goto oom; } } } if (tag.nopasswd != UNSPEC) { value.type = JSON_BOOL; value.u.boolean = !tag.nopasswd; - sudo_json_add_value_as_object(jsonc, "authenticate", &value); + if (!sudo_json_add_value_as_object(jsonc, "authenticate", &value)) + goto oom; } if (tag.noexec != UNSPEC) { value.type = JSON_BOOL; value.u.boolean = tag.noexec; - sudo_json_add_value_as_object(jsonc, "noexec", &value); + if (!sudo_json_add_value_as_object(jsonc, "noexec", &value)) + goto oom; } if (tag.intercept != UNSPEC) { value.type = JSON_BOOL; value.u.boolean = tag.intercept; - sudo_json_add_value_as_object(jsonc, "intercept", &value); + if (!sudo_json_add_value_as_object(jsonc, "intercept", &value)) + goto oom; } if (tag.send_mail != UNSPEC) { value.type = JSON_BOOL; value.u.boolean = tag.send_mail; - sudo_json_add_value_as_object(jsonc, "send_mail", &value); + if (!sudo_json_add_value_as_object(jsonc, "send_mail", &value)) + goto oom; } if (tag.setenv != UNSPEC) { value.type = JSON_BOOL; value.u.boolean = tag.setenv; - sudo_json_add_value_as_object(jsonc, "setenv", &value); + if (!sudo_json_add_value_as_object(jsonc, "setenv", &value)) + goto oom; } if (tag.follow != UNSPEC) { value.type = JSON_BOOL; value.u.boolean = tag.follow; - sudo_json_add_value_as_object(jsonc, "sudoedit_follow", &value); + if (!sudo_json_add_value_as_object(jsonc, "sudoedit_follow", &value)) + goto oom; } if (tag.log_input != UNSPEC) { value.type = JSON_BOOL; value.u.boolean = tag.log_input; - sudo_json_add_value_as_object(jsonc, "log_input", &value); + if (!sudo_json_add_value_as_object(jsonc, "log_input", &value)) + goto oom; } if (tag.log_output != UNSPEC) { value.type = JSON_BOOL; value.u.boolean = tag.log_output; - sudo_json_add_value_as_object(jsonc, "log_output", &value); + if (!sudo_json_add_value_as_object(jsonc, "log_output", &value)) + goto oom; } TAILQ_FOREACH(def, options, entries) { int type = get_defaults_type(def); @@ -737,86 +846,85 @@ print_cmndspec_json(struct json_container *jsonc, if ((type & T_MASK) == T_FLAG || def->val == NULL) { value.type = JSON_BOOL; value.u.boolean = def->op; - sudo_json_add_value_as_object(jsonc, def->var, &value); + if (!sudo_json_add_value_as_object(jsonc, def->var, &value)) + goto oom; } else if ((type & T_MASK) == T_LIST) { - print_defaults_list_json(jsonc, def); + if (!print_defaults_list_json(jsonc, def)) + goto oom; } else { value.type = JSON_STRING; value.u.string = def->val; - sudo_json_add_value_as_object(jsonc, def->var, &value); + if (!sudo_json_add_value_as_object(jsonc, def->var, &value)) + goto oom; } } - sudo_json_close_array(jsonc); - } - -#ifdef HAVE_SELINUX - /* Print SELinux role/type */ - if (cs->role != NULL && cs->type != NULL) { - sudo_json_open_array(jsonc, "SELinux_Spec"); - value.type = JSON_STRING; - value.u.string = cs->role; - sudo_json_add_value(jsonc, "role", &value); - value.u.string = cs->type; - sudo_json_add_value(jsonc, "type", &value); - sudo_json_close_array(jsonc); - } -#endif /* HAVE_SELINUX */ - -#ifdef HAVE_APPARMOR - 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 - /* Print Solaris privs/limitprivs */ - if (cs->privs != NULL || cs->limitprivs != NULL) { - sudo_json_open_array(jsonc, "Solaris_Priv_Spec"); - value.type = JSON_STRING; + if (cs->role != NULL && cs->type != NULL) { + value.type = JSON_STRING; + value.u.string = cs->role; + if (!sudo_json_add_value_as_object(jsonc, "role", &value)) + goto oom; + value.u.string = cs->type; + if (!sudo_json_add_value_as_object(jsonc, "type", &value)) + goto oom; + } + if (cs->apparmor_profile != NULL) { + value.type = JSON_STRING; + value.u.string = cs->apparmor_profile; + if (!sudo_json_add_value_as_object(jsonc, "apparmor_profile", &value)) + goto oom; + } if (cs->privs != NULL) { + value.type = JSON_STRING; value.u.string = cs->privs; - sudo_json_add_value(jsonc, "privs", &value); + if (!sudo_json_add_value_as_object(jsonc, "privs", &value)) + goto oom; } if (cs->limitprivs != NULL) { + value.type = JSON_STRING; value.u.string = cs->limitprivs; - sudo_json_add_value(jsonc, "limitprivs", &value); + if (!sudo_json_add_value_as_object(jsonc, "limitprivs", &value)) + goto oom; } - sudo_json_close_array(jsonc); + if (!sudo_json_close_array(jsonc)) + goto oom; } -#endif /* HAVE_PRIV_SET */ /* * Merge adjacent commands with matching tags, runas, SELinux * role/type and Solaris priv settings. */ - sudo_json_open_array(jsonc, "Commands"); + if (!sudo_json_open_array(jsonc, "Commands")) + goto oom; for (;;) { - print_member_json(jsonc, parse_tree, cs->cmnd, TYPE_COMMAND, - expand_aliases); + if (!print_member_json(jsonc, parse_tree, cs->cmnd, TYPE_COMMAND, + expand_aliases)) + goto oom; /* Does the next entry differ only in the command itself? */ if (!cmndspec_continues(cs, next)) break; cs = next; next = TAILQ_NEXT(cs, entries); } - sudo_json_close_array(jsonc); + if (!sudo_json_close_array(jsonc)) + goto oom; /* Close Cmnd_Spec object. */ - sudo_json_close_object(jsonc); + if (!sudo_json_close_object(jsonc)) + goto oom; *nextp = next; - debug_return; + debug_return_bool(true); +oom: + /* warning printed by caller */ + debug_return_bool(false); } /* * Print a User_Spec in JSON format at the correct indent level. + * Returns true on success, false on a memory allocation failure. */ -static void +static bool print_userspec_json(struct json_container *jsonc, const struct sudoers_parse_tree *parse_tree, struct userspec *us, bool expand_aliases) @@ -833,40 +941,58 @@ print_userspec_json(struct json_container *jsonc, */ TAILQ_FOREACH(priv, &us->privileges, entries) { /* Open User_Spec object. */ - sudo_json_open_object(jsonc, NULL); + if (!sudo_json_open_object(jsonc, NULL)) + goto oom; /* Print users list. */ - sudo_json_open_array(jsonc, "User_List"); + if (!sudo_json_open_array(jsonc, "User_List")) + goto oom; TAILQ_FOREACH(m, &us->users, entries) { - print_member_json(jsonc, parse_tree, m, TYPE_USERNAME, - expand_aliases); + if (!print_member_json(jsonc, parse_tree, m, TYPE_USERNAME, + expand_aliases)) + goto oom; } - sudo_json_close_array(jsonc); + if (!sudo_json_close_array(jsonc)) + goto oom; /* Print hosts list. */ - sudo_json_open_array(jsonc, "Host_List"); + if (!sudo_json_open_array(jsonc, "Host_List")) + goto oom; TAILQ_FOREACH(m, &priv->hostlist, entries) { - print_member_json(jsonc, parse_tree, m, TYPE_HOSTNAME, - expand_aliases); + if (!print_member_json(jsonc, parse_tree, m, TYPE_HOSTNAME, + expand_aliases)) + goto oom; } - sudo_json_close_array(jsonc); + if (!sudo_json_close_array(jsonc)) + goto oom; /* Print commands. */ - sudo_json_open_array(jsonc, "Cmnd_Specs"); + if (!sudo_json_open_array(jsonc, "Cmnd_Specs")) + goto oom; TAILQ_FOREACH_SAFE(cs, &priv->cmndlist, entries, next) { - print_cmndspec_json(jsonc, parse_tree, cs, &next, &priv->defaults, - expand_aliases); + if (!print_cmndspec_json(jsonc, parse_tree, cs, &next, + &priv->defaults, expand_aliases)) + goto oom; } - sudo_json_close_array(jsonc); + if (!sudo_json_close_array(jsonc)) + goto oom; /* Close User_Spec object. */ - sudo_json_close_object(jsonc); + if (!sudo_json_close_object(jsonc)) + goto oom; } - debug_return; + debug_return_bool(true); +oom: + /* warning printed by caller */ + debug_return_bool(false); } -static void +/* + * Print an array of User_Spec in JSON format. + * Returns true on success, else false, displaying a warning. + */ +static bool print_userspecs_json(struct json_container *jsonc, const struct sudoers_parse_tree *parse_tree, bool expand_aliases) { @@ -874,15 +1000,21 @@ print_userspecs_json(struct json_container *jsonc, debug_decl(print_userspecs_json, SUDOERS_DEBUG_UTIL); if (TAILQ_EMPTY(&parse_tree->userspecs)) - debug_return; + debug_return_bool(true); - sudo_json_open_array(jsonc, "User_Specs"); + if (!sudo_json_open_array(jsonc, "User_Specs")) + goto oom; TAILQ_FOREACH(us, &parse_tree->userspecs, entries) { - print_userspec_json(jsonc, parse_tree, us, expand_aliases); + if (!print_userspec_json(jsonc, parse_tree, us, expand_aliases)) + goto oom; } - sudo_json_close_array(jsonc); + if (!sudo_json_close_array(jsonc)) + goto oom; - debug_return; + debug_return_bool(true); +oom: + sudo_warnx(U_("%s: %s"), __func__, U_("unable to allocate memory")); + debug_return_bool(false); } /* @@ -893,31 +1025,39 @@ convert_sudoers_json(const struct sudoers_parse_tree *parse_tree, const char *output_file, struct cvtsudoers_config *conf) { struct json_container jsonc; - bool ret = true; + bool ret = false; FILE *output_fp = stdout; debug_decl(convert_sudoers_json, SUDOERS_DEBUG_UTIL); if (strcmp(output_file, "-") != 0) { - if ((output_fp = fopen(output_file, "w")) == NULL) - sudo_fatal(U_("unable to open %s"), output_file); + if ((output_fp = fopen(output_file, "w")) == NULL) { + sudo_warn(U_("unable to open %s"), output_file); + debug_return_bool(false); + } } /* 4 space indent, non-compact, exit on memory allocation failure. */ - sudo_json_init(&jsonc, 4, false, true, false); + if (!sudo_json_init(&jsonc, 4, false, false, false)) { + sudo_warnx(U_("%s: %s"), __func__, U_("unable to allocate memory")); + goto cleanup; + } /* Dump Defaults in JSON format. */ if (!ISSET(conf->suppress, SUPPRESS_DEFAULTS)) { - print_defaults_json(&jsonc, parse_tree, conf->expand_aliases); + if (!print_defaults_json(&jsonc, parse_tree, conf->expand_aliases)) + goto cleanup; } /* Dump Aliases in JSON format. */ if (!conf->expand_aliases && !ISSET(conf->suppress, SUPPRESS_ALIASES)) { - print_aliases_json(&jsonc, parse_tree); + if (!print_aliases_json(&jsonc, parse_tree)) + goto cleanup; } /* Dump User_Specs in JSON format. */ if (!ISSET(conf->suppress, SUPPRESS_PRIVS)) { - print_userspecs_json(&jsonc, parse_tree, conf->expand_aliases); + if (!print_userspecs_json(&jsonc, parse_tree, conf->expand_aliases)) + goto cleanup; } /* Write JSON output. */ @@ -926,9 +1066,11 @@ convert_sudoers_json(const struct sudoers_parse_tree *parse_tree, fputs(sudo_json_get_buf(&jsonc), output_fp); fputs("\n}\n", output_fp); (void)fflush(output_fp); - if (ferror(output_fp)) - ret = false; } + if (!ferror(output_fp)) + ret = true; + +cleanup: sudo_json_free(&jsonc); if (output_fp != stdout) fclose(output_fp); diff --git a/plugins/sudoers/cvtsudoers_ldif.c b/plugins/sudoers/cvtsudoers_ldif.c index b967d471e..aaaf42716 100644 --- a/plugins/sudoers/cvtsudoers_ldif.c +++ b/plugins/sudoers/cvtsudoers_ldif.c @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: ISC * - * Copyright (c) 2018-2023 Todd C. Miller + * Copyright (c) 2018-2024 Todd C. Miller * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -46,6 +46,8 @@ struct seen_user { static struct rbtree *seen_users; +static bool printf_attribute_ldif(FILE *fp, const char *name, const char * restrict fmt, ...) sudo_printflike(3, 4); + static int seen_user_compare(const void *aa, const void *bb) { @@ -106,9 +108,12 @@ print_attribute_ldif(FILE *fp, const char *name, const char *value) if (!safe_string(value)) { const size_t vlen = strlen(value); esize = ((vlen + 2) / 3 * 4) + 1; - if ((encoded = malloc(esize)) == NULL) + if ((encoded = malloc(esize)) == NULL) { + sudo_warnx(U_("%s: %s"), __func__, U_("unable to allocate memory")); debug_return_bool(false); + } if (base64_encode(uvalue, vlen, encoded, esize) == (size_t)-1) { + sudo_warnx(U_("unable to base64 encode value \"%s\""), value); free(encoded); debug_return_bool(false); } @@ -120,7 +125,30 @@ print_attribute_ldif(FILE *fp, const char *name, const char *value) fprintf(fp, "%s:\n", name); } - debug_return_bool(true); + debug_return_bool(!ferror(fp)); +} + +static bool +printf_attribute_ldif(FILE *fp, const char *name, const char * restrict fmt, ...) +{ + char *attr_val; + va_list ap; + bool ret; + int len; + debug_decl(printf_attribute_ldif, SUDOERS_DEBUG_UTIL); + + va_start(ap, fmt); + len = vasprintf(&attr_val, fmt, ap); + va_end(ap); + if (len == -1) { + sudo_warnx(U_("%s: %s"), __func__, U_("unable to allocate memory")); + debug_return_bool(false); + } + + ret = print_attribute_ldif(fp, name, attr_val); + free(attr_val); + + debug_return_bool(ret); } /* @@ -130,8 +158,7 @@ static bool print_options_ldif(FILE *fp, const struct defaults_list *options) { struct defaults *opt; - char *attr_val; - int len; + bool ok; debug_decl(print_options_ldif, SUDOERS_DEBUG_UTIL); TAILQ_FOREACH(opt, options, entries) { @@ -140,19 +167,15 @@ print_options_ldif(FILE *fp, const struct defaults_list *options) if (opt->val != NULL) { /* There is no need to double quote values here. */ - len = asprintf(&attr_val, "%s%s%s", opt->var, + ok = printf_attribute_ldif(fp, "sudoOption", "%s%s%s", opt->var, opt->op == '+' ? "+=" : opt->op == '-' ? "-=" : "=", opt->val); } else { /* Boolean flag. */ - len = asprintf(&attr_val, "%s%s", + ok = printf_attribute_ldif(fp, "sudoOption", "%s%s", opt->op == false ? "!" : "", opt->var); } - if (len == -1) { - sudo_fatalx(U_("%s: %s"), __func__, - U_("unable to allocate memory")); - } - print_attribute_ldif(fp, "sudoOption", attr_val); - free(attr_val); + if (!ok) + debug_return_bool(false); } debug_return_bool(!ferror(fp)); @@ -163,12 +186,12 @@ print_options_ldif(FILE *fp, const struct defaults_list *options) */ static bool print_global_defaults_ldif(FILE *fp, - const struct sudoers_parse_tree *parse_tree, const char *base) + const struct sudoers_parse_tree *parse_tree, struct cvtsudoers_config *conf) { unsigned int count = 0; struct sudo_lbuf lbuf; struct defaults *opt; - char *dn; + bool ret = false; debug_decl(print_global_defaults_ldif, SUDOERS_DEBUG_UTIL); sudo_lbuf_init(&lbuf, NULL, 0, NULL, 80); @@ -179,8 +202,10 @@ print_global_defaults_ldif(FILE *fp, count++; } else { lbuf.len = 0; - sudo_lbuf_append(&lbuf, "# "); - sudoers_format_default_line(&lbuf, parse_tree, opt, false, true); + if (!sudo_lbuf_append(&lbuf, "# ")) + goto done; + if (!sudoers_format_default_line(&lbuf, parse_tree, opt, false, true)) + goto done; fprintf(fp, "# Unable to translate %s:%d:%d:\n%s\n", opt->file, opt->line, opt->column, lbuf.buf); } @@ -190,21 +215,21 @@ print_global_defaults_ldif(FILE *fp, if (count == 0) debug_return_bool(true); - if (asprintf(&dn, "cn=defaults,%s", base) == -1) { - sudo_fatalx(U_("%s: %s"), __func__, - U_("unable to allocate memory")); + if (!printf_attribute_ldif(fp, "dn", "cn=defaults,%s", conf->sudoers_base) || + !print_attribute_ldif(fp, "objectClass", "top") || + !print_attribute_ldif(fp, "objectClass", "sudoRole") || + !print_attribute_ldif(fp, "cn", "defaults") || + !print_attribute_ldif(fp, "description", "Default sudoOption's go here")) { + goto done; } - print_attribute_ldif(fp, "dn", dn); - free(dn); - print_attribute_ldif(fp, "objectClass", "top"); - print_attribute_ldif(fp, "objectClass", "sudoRole"); - print_attribute_ldif(fp, "cn", "defaults"); - print_attribute_ldif(fp, "description", "Default sudoOption's go here"); - - print_options_ldif(fp, &parse_tree->defaults); + if (!print_options_ldif(fp, &parse_tree->defaults)) + goto done; putc('\n', fp); + if (!ferror(fp)) + ret = true; - debug_return_bool(!ferror(fp)); +done: + debug_return_bool(ret); } /* @@ -232,8 +257,8 @@ format_cmnd(struct sudo_command *c, bool negated) } if ((buf = malloc(bufsiz)) == NULL) { - sudo_fatalx(U_("%s: %s"), __func__, - U_("unable to allocate memory")); + sudo_warnx(U_("%s: %s"), __func__, U_("unable to allocate memory")); + debug_return_ptr(NULL); } cp = buf; @@ -258,7 +283,7 @@ format_cmnd(struct sudo_command *c, bool negated) * Print struct member in LDIF format as the specified attribute. * See print_member_int() in parse.c. */ -static void +static bool print_member_ldif(FILE *fp, const struct sudoers_parse_tree *parse_tree, char *name, int type, bool negated, short alias_type, const char *attr_name) @@ -266,47 +291,54 @@ print_member_ldif(FILE *fp, const struct sudoers_parse_tree *parse_tree, struct alias *a; struct member *m; char *attr_val; - int len; debug_decl(print_member_ldif, SUDOERS_DEBUG_UTIL); switch (type) { case MYSELF: /* Only valid for sudoRunasUser */ - print_attribute_ldif(fp, attr_name, ""); + if (!print_attribute_ldif(fp, attr_name, "")) + debug_return_bool(false); break; case ALL: if (name == NULL) { - print_attribute_ldif(fp, attr_name, negated ? "!ALL" : "ALL"); + if (!print_attribute_ldif(fp, attr_name, negated ? "!ALL" : "ALL")) + debug_return_bool(false); break; } FALLTHROUGH; case COMMAND: attr_val = format_cmnd((struct sudo_command *)name, negated); - print_attribute_ldif(fp, attr_name, attr_val); + if (attr_val == NULL) { + debug_return_bool(false); + } + if (!print_attribute_ldif(fp, attr_name, attr_val)) { + free(attr_val); + debug_return_bool(false); + } free(attr_val); break; case ALIAS: if ((a = alias_get(parse_tree, name, alias_type)) != NULL) { TAILQ_FOREACH(m, &a->members, entries) { - print_member_ldif(fp, parse_tree, m->name, m->type, - negated ? !m->negated : m->negated, alias_type, attr_name); + if (!print_member_ldif(fp, parse_tree, m->name, m->type, + negated ? !m->negated : m->negated, alias_type, + attr_name)) { + debug_return_bool(false); + } } alias_put(a); break; } FALLTHROUGH; default: - len = asprintf(&attr_val, "%s%s", negated ? "!" : "", name); - if (len == -1) { - sudo_fatalx(U_("%s: %s"), __func__, - U_("unable to allocate memory")); + if (!printf_attribute_ldif(fp, attr_name, "%s%s", negated ? "!" : "", + name)) { + debug_return_bool(false); } - print_attribute_ldif(fp, attr_name, attr_val); - free(attr_val); break; } - debug_return; + debug_return_bool(true); } /* @@ -314,7 +346,7 @@ print_member_ldif(FILE *fp, const struct sudoers_parse_tree *parse_tree, * A pointer to the next Cmnd_Spec is passed in to make it possible to * merge adjacent entries that are identical in all but the command. */ -static void +static bool print_cmndspec_ldif(FILE *fp, const struct sudoers_parse_tree *parse_tree, struct cmndspec *cs, struct cmndspec **nextp, struct defaults_list *options) { @@ -322,7 +354,6 @@ print_cmndspec_ldif(FILE *fp, const struct sudoers_parse_tree *parse_tree, struct cmndspec *next = *nextp; struct member *m; struct tm gmt; - char *attr_val; bool last_one; size_t len; debug_decl(print_cmndspec_ldif, SUDOERS_DEBUG_UTIL); @@ -330,16 +361,20 @@ print_cmndspec_ldif(FILE *fp, const struct sudoers_parse_tree *parse_tree, /* Print runasuserlist as sudoRunAsUser attributes */ if (cs->runasuserlist != NULL) { TAILQ_FOREACH(m, cs->runasuserlist, entries) { - print_member_ldif(fp, parse_tree, m->name, m->type, m->negated, - RUNASALIAS, "sudoRunAsUser"); + if (!print_member_ldif(fp, parse_tree, m->name, m->type, m->negated, + RUNASALIAS, "sudoRunAsUser")) { + debug_return_bool(false); + } } } /* Print runasgrouplist as sudoRunAsGroup attributes */ if (cs->runasgrouplist != NULL) { TAILQ_FOREACH(m, cs->runasgrouplist, entries) { - print_member_ldif(fp, parse_tree, m->name, m->type, m->negated, - RUNASALIAS, "sudoRunAsGroup"); + if (!print_member_ldif(fp, parse_tree, m->name, m->type, m->negated, + RUNASALIAS, "sudoRunAsGroup")) { + debug_return_bool(false); + } } } @@ -353,7 +388,8 @@ print_cmndspec_ldif(FILE *fp, const struct sudoers_parse_tree *parse_tree, if (len == 0 || timebuf[sizeof(timebuf) - 1] != '\0') { sudo_warnx("%s", U_("unable to format timestamp")); } else { - print_attribute_ldif(fp, "sudoNotBefore", timebuf); + if (!print_attribute_ldif(fp, "sudoNotBefore", timebuf)) + debug_return_bool(false); } } } @@ -366,19 +402,18 @@ print_cmndspec_ldif(FILE *fp, const struct sudoers_parse_tree *parse_tree, if (len == 0 || timebuf[sizeof(timebuf) - 1] != '\0') { sudo_warnx("%s", U_("unable to format timestamp")); } else { - print_attribute_ldif(fp, "sudoNotAfter", timebuf); + if (!print_attribute_ldif(fp, "sudoNotAfter", timebuf)) + debug_return_bool(false); } } } /* Print timeout as a sudoOption. */ if (cs->timeout > 0) { - if (asprintf(&attr_val, "command_timeout=%d", cs->timeout) == -1) { - sudo_fatalx(U_("%s: %s"), __func__, - U_("unable to allocate memory")); + if (!printf_attribute_ldif(fp, "sudoOption", "command_timeout=%d", + cs->timeout)) { + debug_return_bool(false); } - print_attribute_ldif(fp, "sudoOption", attr_val); - free(attr_val); } /* Print tags as sudoOption attributes */ @@ -386,115 +421,108 @@ print_cmndspec_ldif(FILE *fp, const struct sudoers_parse_tree *parse_tree, struct cmndtag tag = cs->tags; if (tag.nopasswd != UNSPEC) { - print_attribute_ldif(fp, "sudoOption", - tag.nopasswd ? "!authenticate" : "authenticate"); + if (!print_attribute_ldif(fp, "sudoOption", + tag.nopasswd ? "!authenticate" : "authenticate")) { + debug_return_bool(false); + } } if (tag.noexec != UNSPEC) { - print_attribute_ldif(fp, "sudoOption", - tag.noexec ? "noexec" : "!noexec"); + if (!print_attribute_ldif(fp, "sudoOption", + tag.noexec ? "noexec" : "!noexec")) { + debug_return_bool(false); + } } if (tag.intercept != UNSPEC) { - print_attribute_ldif(fp, "sudoOption", - tag.intercept ? "intercept" : "!intercept"); + if (!print_attribute_ldif(fp, "sudoOption", + tag.intercept ? "intercept" : "!intercept")) { + debug_return_bool(false); + } } if (tag.send_mail != UNSPEC) { if (tag.send_mail) { - print_attribute_ldif(fp, "sudoOption", "mail_all_cmnds"); + if (!print_attribute_ldif(fp, "sudoOption", "mail_all_cmnds")) { + debug_return_bool(false); + } } else { - print_attribute_ldif(fp, "sudoOption", "!mail_all_cmnds"); - print_attribute_ldif(fp, "sudoOption", "!mail_always"); - print_attribute_ldif(fp, "sudoOption", "!mail_no_perms"); + if (!print_attribute_ldif(fp, "sudoOption", "!mail_all_cmnds") || + !print_attribute_ldif(fp, "sudoOption", "!mail_always") || + !print_attribute_ldif(fp, "sudoOption", "!mail_no_perms")) { + debug_return_bool(false); + } } } if (tag.setenv != UNSPEC && tag.setenv != IMPLIED) { - print_attribute_ldif(fp, "sudoOption", - tag.setenv ? "setenv" : "!setenv"); + if (!print_attribute_ldif(fp, "sudoOption", + tag.setenv ? "setenv" : "!setenv")) { + debug_return_bool(false); + } } if (tag.follow != UNSPEC) { - print_attribute_ldif(fp, "sudoOption", - tag.follow ? "sudoedit_follow" : "!sudoedit_follow"); + if (!print_attribute_ldif(fp, "sudoOption", + tag.follow ? "sudoedit_follow" : "!sudoedit_follow")) { + debug_return_bool(false); + } } if (tag.log_input != UNSPEC) { - print_attribute_ldif(fp, "sudoOption", - tag.log_input ? "log_input" : "!log_input"); + if (!print_attribute_ldif(fp, "sudoOption", + tag.log_input ? "log_input" : "!log_input")) { + debug_return_bool(false); + } } if (tag.log_output != UNSPEC) { - print_attribute_ldif(fp, "sudoOption", - tag.log_output ? "log_output" : "!log_output"); + if (!print_attribute_ldif(fp, "sudoOption", + tag.log_output ? "log_output" : "!log_output")) { + debug_return_bool(false); + } } } - print_options_ldif(fp, options); + if (!print_options_ldif(fp, options)) + debug_return_bool(false); /* Print runchroot and runcwd. */ if (cs->runchroot != NULL) { - if (asprintf(&attr_val, "runchroot=%s", cs->runchroot) == -1) { - sudo_fatalx(U_("%s: %s"), __func__, - U_("unable to allocate memory")); + if (!printf_attribute_ldif(fp, "sudoOption", "runchroot=%s", + cs->runchroot)) { + debug_return_bool(false); } - print_attribute_ldif(fp, "sudoOption", attr_val); - free(attr_val); } if (cs->runcwd != NULL) { - if (asprintf(&attr_val, "runcwd=%s", cs->runcwd) == -1) { - sudo_fatalx(U_("%s: %s"), __func__, - U_("unable to allocate memory")); + if (!printf_attribute_ldif(fp, "sudoOption", "runcwd=%s", cs->runcwd)) { + debug_return_bool(false); } - print_attribute_ldif(fp, "sudoOption", attr_val); - free(attr_val); } -#ifdef HAVE_SELINUX /* Print SELinux role/type */ if (cs->role != NULL && cs->type != NULL) { - if (asprintf(&attr_val, "role=%s", cs->role) == -1) { - sudo_fatalx(U_("%s: %s"), __func__, - U_("unable to allocate memory")); + if (!printf_attribute_ldif(fp, "sudoOption", "role=%s", cs->role) || + !printf_attribute_ldif(fp, "sudoOption", "type=%s", cs->type)) { + debug_return_bool(false); } - print_attribute_ldif(fp, "sudoOption", attr_val); - free(attr_val); - - if (asprintf(&attr_val, "type=%s", cs->type) == -1) { - sudo_fatalx(U_("%s: %s"), __func__, - U_("unable to allocate memory")); - } - print_attribute_ldif(fp, "sudoOption", attr_val); - free(attr_val); } -#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")); + if (!printf_attribute_ldif(fp, "sudoOption", "apparmor_profile=%s", + cs->apparmor_profile)) { + debug_return_bool(false); } - print_attribute_ldif(fp, "sudoOption", attr_val); - free(attr_val); } -#endif /* HAVE_APPARMOR */ -#ifdef HAVE_PRIV_SET /* Print Solaris privs/limitprivs */ if (cs->privs != NULL || cs->limitprivs != NULL) { if (cs->privs != NULL) { - if (asprintf(&attr_val, "privs=%s", cs->privs) == -1) { - sudo_fatalx(U_("%s: %s"), __func__, - U_("unable to allocate memory")); + if (!printf_attribute_ldif(fp, "sudoOption", "privs=%s", + cs->privs)) { + debug_return_bool(false); } - print_attribute_ldif(fp, "sudoOption", attr_val); - free(attr_val); } if (cs->limitprivs != NULL) { - if (asprintf(&attr_val, "limitprivs=%s", cs->limitprivs) == -1) { - sudo_fatalx(U_("%s: %s"), __func__, - U_("unable to allocate memory")); + if (!printf_attribute_ldif(fp, "sudoOption", "limitprivs=%s", + cs->limitprivs)) { + debug_return_bool(false); } - print_attribute_ldif(fp, "sudoOption", attr_val); - free(attr_val); } } -#endif /* HAVE_PRIV_SET */ /* * Merge adjacent commands with matching tags, runas, SELinux @@ -506,16 +534,14 @@ print_cmndspec_ldif(FILE *fp, const struct sudoers_parse_tree *parse_tree, /* XXX - TAG_SET does not account for implied SETENV */ last_one = next == NULL || RUNAS_CHANGED(cs, next) || TAGS_CHANGED(cs->tags, next->tags) -#ifdef HAVE_PRIV_SET || cs->privs != next->privs || cs->limitprivs != next->limitprivs -#endif /* HAVE_PRIV_SET */ -#ifdef HAVE_SELINUX || cs->role != next->role || cs->type != next->type -#endif /* HAVE_SELINUX */ || cs->runchroot != next->runchroot || cs->runcwd != next->runcwd; - print_member_ldif(fp, parse_tree, cs->cmnd->name, cs->cmnd->type, - cs->cmnd->negated, CMNDALIAS, "sudoCommand"); + if (!print_member_ldif(fp, parse_tree, cs->cmnd->name, cs->cmnd->type, + cs->cmnd->negated, CMNDALIAS, "sudoCommand")) { + debug_return_bool(false); + } if (last_one) break; cs = next; @@ -524,7 +550,7 @@ print_cmndspec_ldif(FILE *fp, const struct sudoers_parse_tree *parse_tree, *nextp = next; - debug_return; + debug_return_bool(true); } /* @@ -543,8 +569,10 @@ user_to_cn(const char *user) /* Allocate as much as we could possibly need. */ size = (2 * strlen(user)) + 64 + 1; - if ((cn = malloc(size)) == NULL) + if ((cn = malloc(size)) == NULL) { + sudo_warnx(U_("%s: %s"), __func__, U_("unable to allocate memory")); goto bad; + } /* * Increment the number of times we have seen this user. @@ -554,13 +582,19 @@ user_to_cn(const char *user) if (node != NULL) { su = node->data; } else { - if ((su = malloc(sizeof(*su))) == NULL) + if ((su = malloc(sizeof(*su))) == NULL) { + sudo_warnx(U_("%s: %s"), __func__, U_("unable to allocate memory")); goto bad; + } su->count = 0; - if ((su->name = strdup(user)) == NULL) + if ((su->name = strdup(user)) == NULL) { + sudo_warnx(U_("%s: %s"), __func__, U_("unable to allocate memory")); goto bad; - if (rbinsert(seen_users, su, NULL) != 0) + } + if (rbinsert(seen_users, su, NULL) != 0) { + sudo_warnx(U_("internal error, unable insert user %s"), user); goto bad; + } } /* Build cn, quoting special chars as needed (we allocated 2 x len). */ @@ -625,7 +659,7 @@ print_userspec_ldif(FILE *fp, const struct sudoers_parse_tree *parse_tree, TAILQ_FOREACH(priv, &us->privileges, entries) { TAILQ_FOREACH_SAFE(cs, &priv->cmndlist, entries, next) { const char *base = conf->sudoers_base; - char *cn, *dn; + char *cn; /* * Increment the number of times we have seen this user. @@ -633,38 +667,45 @@ print_userspec_ldif(FILE *fp, const struct sudoers_parse_tree *parse_tree, */ m = TAILQ_FIRST(&us->users); cn = user_to_cn(m->type == ALL ? "ALL" : m->name); - if (cn == NULL || asprintf(&dn, "cn=%s,%s", cn, base) == -1) { - sudo_fatalx(U_("%s: %s"), __func__, - U_("unable to allocate memory")); - } + if (cn == NULL) + debug_return_bool(false); - print_attribute_ldif(fp, "dn", dn); - print_attribute_ldif(fp, "objectClass", "top"); - print_attribute_ldif(fp, "objectClass", "sudoRole"); - print_attribute_ldif(fp, "cn", cn); + if (!printf_attribute_ldif(fp, "dn", "cn=%s,%s", cn, base) || + !print_attribute_ldif(fp, "objectClass", "top") || + !print_attribute_ldif(fp, "objectClass", "sudoRole") || + !print_attribute_ldif(fp, "cn", cn)) { + free(cn); + debug_return_bool(false); + } free(cn); - free(dn); TAILQ_FOREACH(m, &us->users, entries) { - print_member_ldif(fp, parse_tree, m->name, m->type, m->negated, - USERALIAS, "sudoUser"); + if (!print_member_ldif(fp, parse_tree, m->name, m->type, + m->negated, USERALIAS, "sudoUser")) { + debug_return_bool(false); + } } TAILQ_FOREACH(m, &priv->hostlist, entries) { - print_member_ldif(fp, parse_tree, m->name, m->type, m->negated, - HOSTALIAS, "sudoHost"); + if (!print_member_ldif(fp, parse_tree, m->name, m->type, + m->negated, HOSTALIAS, "sudoHost")) { + debug_return_bool(false); + } } - print_cmndspec_ldif(fp, parse_tree, cs, &next, &priv->defaults); + if (!print_cmndspec_ldif(fp, parse_tree, cs, &next, &priv->defaults)) + debug_return_bool(false); if (conf->sudo_order != 0) { char numbuf[STRLEN_MAX_UNSIGNED(conf->sudo_order) + 1]; if (conf->order_max != 0 && conf->sudo_order > conf->order_max) { - sudo_fatalx(U_("too many sudoers entries, maximum %u"), + sudo_warnx(U_("too many sudoers entries, maximum %u"), conf->order_padding); + debug_return_bool(false); } (void)snprintf(numbuf, sizeof(numbuf), "%u", conf->sudo_order); - print_attribute_ldif(fp, "sudoOrder", numbuf); + if (!print_attribute_ldif(fp, "sudoOrder", numbuf)) + debug_return_bool(false); putc('\n', fp); conf->sudo_order += conf->order_increment; } @@ -698,36 +739,52 @@ bool convert_sudoers_ldif(const struct sudoers_parse_tree *parse_tree, const char *output_file, struct cvtsudoers_config *conf) { - bool ret = true; + bool ret = false; FILE *output_fp = stdout; debug_decl(convert_sudoers_ldif, SUDOERS_DEBUG_UTIL); if (conf->sudoers_base == NULL) { - sudo_fatalx("%s", U_("the SUDOERS_BASE environment variable is not set and the -b option was not specified.")); + sudo_warnx("%s", U_("the SUDOERS_BASE environment variable is not set and the -b option was not specified.")); + debug_return_bool(false); } if (output_file != NULL && strcmp(output_file, "-") != 0) { - if ((output_fp = fopen(output_file, "w")) == NULL) - sudo_fatal(U_("unable to open %s"), output_file); + if ((output_fp = fopen(output_file, "w")) == NULL) { + sudo_warn(U_("unable to open %s"), output_file); + debug_return_bool(false); + } } /* Create a dictionary of already-seen users. */ seen_users = rbcreate(seen_user_compare); + if (seen_users == NULL) { + sudo_warnx(U_("%s: %s"), __func__, U_("unable to allocate memory")); + goto cleanup; + } /* Dump global Defaults in LDIF format. */ - if (!ISSET(conf->suppress, SUPPRESS_DEFAULTS)) - print_global_defaults_ldif(output_fp, parse_tree, conf->sudoers_base); + if (!ISSET(conf->suppress, SUPPRESS_DEFAULTS)) { + if (!print_global_defaults_ldif(output_fp, parse_tree, conf)) + goto cleanup; + } /* Dump User_Specs in LDIF format, expanding Aliases. */ - if (!ISSET(conf->suppress, SUPPRESS_PRIVS)) - print_userspecs_ldif(output_fp, parse_tree, conf); + if (!ISSET(conf->suppress, SUPPRESS_PRIVS)) { + if (!print_userspecs_ldif(output_fp, parse_tree, conf)) + goto cleanup; + } - /* Clean up. */ - rbdestroy(seen_users, seen_user_free); + ret = true; + +cleanup: + if (seen_users != NULL) + rbdestroy(seen_users, seen_user_free); (void)fflush(output_fp); - if (ferror(output_fp)) + if (ferror(output_fp)) { + sudo_warn("%s", output_file); ret = false; + } if (output_fp != stdout) fclose(output_fp); diff --git a/plugins/sudoers/cvtsudoers_merge.c b/plugins/sudoers/cvtsudoers_merge.c index d5e5b0876..609d73a83 100644 --- a/plugins/sudoers/cvtsudoers_merge.c +++ b/plugins/sudoers/cvtsudoers_merge.c @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: ISC * - * Copyright (c) 2021-2022 Todd C. Miller + * Copyright (c) 2021-2024 Todd C. Miller * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -44,17 +44,19 @@ new_member(const char *name, short type) m = calloc(1, sizeof(struct member)); if (m == NULL) - sudo_fatalx(U_("%s: %s"), __func__, U_("unable to allocate memory")); + goto oom; if (name != NULL) { m->name = strdup(name); - if (m->name == NULL) { - sudo_fatalx(U_("%s: %s"), __func__, - U_("unable to allocate memory")); - } + if (m->name == NULL) + goto oom; } m->type = type; debug_return_ptr(m); +oom: + sudo_warnx(U_("%s: %s"), __func__, U_("unable to allocate memory")); + free(m); + debug_return_ptr(NULL); } /* @@ -238,7 +240,7 @@ member_list_equivalent(struct member_list *ml1, struct member_list *ml2) * If a host list contains all hosts in bound_hosts, replace them with * "ALL". Also prune hosts on either side of "ALL" when possible. */ -static void +static bool simplify_host_list(struct member_list *hosts, const char *file, int line, int column, struct member_list *bound_hosts) { @@ -290,6 +292,8 @@ simplify_host_list(struct member_list *hosts, const char *file, int line, } } m = new_member(NULL, ALL); + if (m == NULL) + debug_return_bool(false); TAILQ_INSERT_TAIL(hosts, m, entries); } } @@ -316,7 +320,7 @@ simplify_host_list(struct member_list *hosts, const char *file, int line, } } - debug_return; + debug_return_bool(true); } /* @@ -349,8 +353,10 @@ alias_make_unique(const char *old_name, short type, for (;;) { suffix++; free(new_name); - if (asprintf(&new_name, "%.*s_%lld", (int)namelen, old_name, suffix) == -1) - sudo_fatalx(U_("%s: %s"), __func__, U_("unable to allocate memory")); + if (asprintf(&new_name, "%.*s_%lld", (int)namelen, old_name, suffix) == -1) { + sudo_warnx(U_("%s: %s"), __func__, U_("unable to allocate memory")); + debug_return_ptr(NULL); + } /* Make sure new_name is not already in use. */ a = alias_get(merged_tree, new_name, type); if (a != NULL) { @@ -395,8 +401,10 @@ alias_rename_members(struct sudoers_parse_tree *parse_tree, struct alias *a, TAILQ_FOREACH(m, &a->members, entries) { if (m->type == ALIAS && strcmp(m->name, closure->old_name) == 0) { char *copy = strdup(closure->new_name); - if (copy == NULL) - sudo_fatalx(U_("%s: %s"), __func__, U_("unable to allocate memory")); + if (copy == NULL) { + sudo_warnx(U_("%s: %s"), __func__, U_("unable to allocate memory")); + debug_return_int(-1); + } free(m->name); m->name = copy; } @@ -405,7 +413,7 @@ alias_rename_members(struct sudoers_parse_tree *parse_tree, struct alias *a, debug_return_int(0); } -static void +static bool alias_rename_defaults(const char *old_name, const char *new_name, short alias_type, struct defaults_list *defaults) { @@ -442,8 +450,9 @@ alias_rename_defaults(const char *old_name, const char *new_name, if (strcmp(m->name, old_name) == 0) { char *copy = strdup(new_name); if (copy == NULL) { - sudo_fatalx(U_("%s: %s"), __func__, + sudo_warnx(U_("%s: %s"), __func__, U_("unable to allocate memory")); + debug_return_bool(false); } free(m->name); m->name = copy; @@ -451,10 +460,10 @@ alias_rename_defaults(const char *old_name, const char *new_name, } } - debug_return; + debug_return_bool(true); } -static void +static bool alias_rename_member(const char *old_name, const char *new_name, struct member *m) { @@ -463,17 +472,18 @@ alias_rename_member(const char *old_name, const char *new_name, if (m->type == ALIAS && strcmp(m->name, old_name) == 0) { char *copy = strdup(new_name); if (copy == NULL) { - sudo_fatalx(U_("%s: %s"), __func__, + sudo_warnx(U_("%s: %s"), __func__, U_("unable to allocate memory")); + debug_return_bool(false); } free(m->name); m->name = copy; } - debug_return; + debug_return_bool(true); } -static void +static bool alias_rename_member_list(const char *old_name, const char *new_name, struct member_list *members) { @@ -481,10 +491,11 @@ alias_rename_member_list(const char *old_name, const char *new_name, debug_decl(alias_rename_member_list, SUDOERS_DEBUG_ALIAS); TAILQ_FOREACH(m, members, entries) { - alias_rename_member(old_name, new_name, m); + if (!alias_rename_member(old_name, new_name, m)) + debug_return_bool(false); } - debug_return; + debug_return_bool(true); } static bool @@ -494,45 +505,57 @@ alias_rename_userspecs(const char *old_name, const char *new_name, struct privilege *priv; struct cmndspec *cs; struct userspec *us; - bool ret = true; debug_decl(alias_rename_userspecs, SUDOERS_DEBUG_ALIAS); TAILQ_FOREACH(us, userspecs, entries) { if (alias_type == USERALIAS) { - alias_rename_member_list(old_name, new_name, &us->users); + if (!alias_rename_member_list(old_name, new_name, &us->users)) { + debug_return_bool(false); + } } TAILQ_FOREACH(priv, &us->privileges, entries) { - alias_rename_defaults(old_name, new_name, alias_type, &priv->defaults); + if (!alias_rename_defaults(old_name, new_name, alias_type, &priv->defaults)) { + debug_return_bool(false); + } if (alias_type == HOSTALIAS) { - alias_rename_member_list(old_name, new_name, &priv->hostlist); + if (!alias_rename_member_list(old_name, new_name, &priv->hostlist)) { + debug_return_bool(false); + } continue; } TAILQ_FOREACH(cs, &priv->cmndlist, entries) { if (alias_type == CMNDALIAS) { - alias_rename_member(old_name, new_name, cs->cmnd); + if (!alias_rename_member(old_name, new_name, cs->cmnd)) { + debug_return_bool(false); + } continue; } if (alias_type == RUNASALIAS) { if (cs->runasuserlist != NULL) { - alias_rename_member_list(old_name, new_name, cs->runasuserlist); + if (!alias_rename_member_list(old_name, new_name, cs->runasuserlist)) { + debug_return_bool(false); + } } if (cs->runasgrouplist != NULL) { - alias_rename_member_list(old_name, new_name, cs->runasgrouplist); + if (!alias_rename_member_list(old_name, new_name, cs->runasgrouplist)) { + debug_return_bool(false); + } } } } } } - debug_return_bool(ret); + debug_return_bool(true); } /* * Rename an alias in parse_tree and all the places where it is used. + * Takes ownership if new_name which must not be freed by the caller. */ static bool -alias_rename(const char *old_name, const char *new_name, - short alias_type, struct sudoers_parse_tree *parse_tree) +alias_rename(const char *old_name, char *new_name, short alias_type, + struct sudoers_parse_tree *parse_tree) { struct alias_rename_closure closure = { old_name, new_name, alias_type }; struct alias *a; @@ -543,14 +566,13 @@ alias_rename(const char *old_name, const char *new_name, if (a == NULL) { /* Should not happen. */ sudo_warnx(U_("unable to find alias %s"), old_name); + free(new_name); debug_return_bool(false); } log_warnx(U_("%s:%d:%d: renaming alias %s to %s"), a->file, a->line, a->column, a->name, new_name); free(a->name); - a->name = strdup(new_name); - if (a->name == NULL) - sudo_fatalx(U_("%s: %s"), __func__, U_("unable to allocate memory")); + a->name = new_name; switch (rbinsert(parse_tree->aliases, a, NULL)) { case 0: /* success */ @@ -559,19 +581,26 @@ alias_rename(const char *old_name, const char *new_name, /* Already present, should not happen. */ errno = EEXIST; sudo_warn(U_("%s: %s"), __func__, a->name); + alias_free(a); + debug_return_bool(false); break; default: - sudo_fatalx(U_("%s: %s"), __func__, U_("unable to allocate memory")); + sudo_warnx(U_("%s: %s"), __func__, U_("unable to allocate memory")); + alias_free(a); + debug_return_bool(false); } /* Rename it in the aliases tree itself (aliases can be nested). */ - alias_apply(parse_tree, alias_rename_members, &closure); + if (!alias_apply(parse_tree, alias_rename_members, &closure)) + debug_return_bool(false); /* Rename it in the Defaults list. */ - alias_rename_defaults(old_name, new_name, alias_type, &parse_tree->defaults); + if (!alias_rename_defaults(old_name, new_name, alias_type, &parse_tree->defaults)) + debug_return_bool(false); /* Rename it in the userspecs list. */ - alias_rename_userspecs(old_name, new_name, alias_type, &parse_tree->userspecs); + if (!alias_rename_userspecs(old_name, new_name, alias_type, &parse_tree->userspecs)) + debug_return_bool(false); debug_return_bool(true); } @@ -610,8 +639,10 @@ alias_resolve_conflicts(struct sudoers_parse_tree *parse_tree0, struct alias *a, /* Rename alias 'b' to avoid a naming conflict. */ new_name = alias_make_unique(a->name, a->type, parse_tree, merged_tree); - alias_rename(a->name, new_name, a->type, parse_tree); - free(new_name); + if (new_name == NULL) + debug_return_int(-1); + if (!alias_rename(a->name, new_name, a->type, parse_tree)) + debug_return_int(-1); } /* @@ -628,9 +659,10 @@ alias_resolve_conflicts(struct sudoers_parse_tree *parse_tree0, struct alias *a, /* already present, should not happen. */ errno = EEXIST; sudo_warn(U_("%s: %s"), __func__, a->name); - break; + debug_return_int(-1); default: - sudo_fatalx(U_("%s: %s"), __func__, U_("unable to allocate memory")); + sudo_warnx(U_("%s: %s"), __func__, U_("unable to allocate memory")); + debug_return_int(-1); } debug_return_int(0); @@ -657,7 +689,8 @@ merge_aliases(struct sudoers_parse_tree_list *parse_trees, * Resolve any conflicts in alias names, renaming aliases as * needed and eliminating duplicates. */ - alias_apply(parse_tree, alias_resolve_conflicts, merged_tree); + if (!alias_apply(parse_tree, alias_resolve_conflicts, merged_tree)) + debug_return_bool(false); /* * Destroy the old alias tree without freeing the alias data @@ -766,7 +799,8 @@ defaults_list_equivalent(struct defaults_list *dl1, struct defaults_list *dl2) enum cvtsudoers_conflict { CONFLICT_NONE, CONFLICT_RESOLVED, - CONFLICT_UNRESOLVED + CONFLICT_UNRESOLVED, + CONFLICT_ERROR }; /* @@ -806,11 +840,15 @@ defaults_check_conflict(struct defaults *def, */ if (d->type == DEFAULTS) { struct member *m = new_member(NULL, ALL); + if (m == NULL) + debug_return_int(CONFLICT_ERROR); TAILQ_INSERT_TAIL(&d->binding->members, m, entries); d->type = def->type; } if (def->type == DEFAULTS) { struct member *m = new_member(NULL, ALL); + if (m == NULL) + debug_return_int(CONFLICT_ERROR); TAILQ_INSERT_TAIL(&def->binding->members, m, entries); def->type = d->type; } @@ -861,6 +899,8 @@ merge_defaults(struct sudoers_parse_tree_list *parse_trees, TAILQ_FOREACH(def, &parse_tree->defaults, entries) { if (parse_tree->lhost != NULL && def->type == DEFAULTS) { m = new_member(parse_tree->lhost, WORD); + if (m == NULL) + debug_return_bool(false); log_warnx(U_("%s:%d:%d: made Defaults \"%s\" specific to host %s"), def->file, def->line, def->column, def->var, parse_tree->lhost); @@ -893,6 +933,10 @@ merge_defaults(struct sudoers_parse_tree_list *parse_trees, def->file, def->line, def->column, def->var); free_default(def); break; + default: + /* warning printed by defaults_check_conflict() */ + free_default(def); + debug_return_bool(false); } } } @@ -903,8 +947,10 @@ merge_defaults(struct sudoers_parse_tree_list *parse_trees, TAILQ_FOREACH(def, &merged_tree->defaults, entries) { /* TODO: handle refcnt != 1 */ if (def->type == DEFAULTS_HOST && def->binding->refcnt == 1) { - simplify_host_list(&def->binding->members, def->file, def->line, - def->column, bound_hosts); + if (!simplify_host_list(&def->binding->members, def->file, + def->line, def->column, bound_hosts)) { + debug_return_bool(false); + } m = TAILQ_FIRST(&def->binding->members); if (m->type == ALL && !m->negated) { if (TAILQ_NEXT(m, entries) == NULL) { @@ -962,7 +1008,6 @@ cmndspec_equivalent(struct cmndspec *cs1, struct cmndspec *cs2, bool check_negat } else if (cs1->runchroot != cs2->runchroot) { debug_return_bool(false); } -#ifdef HAVE_SELINUX if (cs1->role != NULL && cs2->role != NULL) { if (strcmp(cs1->role, cs2->role) != 0) debug_return_bool(false); @@ -975,16 +1020,12 @@ cmndspec_equivalent(struct cmndspec *cs1, struct cmndspec *cs2, bool check_negat } else if (cs1->type != cs2->type) { debug_return_bool(false); } -#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); } -#endif -#ifdef HAVE_PRIV_SET if (cs1->privs != NULL && cs2->privs != NULL) { if (strcmp(cs1->privs, cs2->privs) != 0) debug_return_bool(false); @@ -997,7 +1038,6 @@ cmndspec_equivalent(struct cmndspec *cs1, struct cmndspec *cs2, bool check_negat } else if (cs1->limitprivs != cs2->limitprivs) { debug_return_bool(false); } -#endif debug_return_bool(true); } @@ -1151,12 +1191,14 @@ merge_userspecs(struct sudoers_parse_tree_list *parse_trees, TAILQ_FOREACH(m, &priv->hostlist, entries) { /* We don't alter !ALL in a hostlist (XXX - should we?). */ if (m->type == ALL && !m->negated) { - m->type = WORD; - m->name = strdup(parse_tree->lhost); - if (m->name == NULL) { - sudo_fatalx(U_("%s: %s"), __func__, + char *copy = strdup(parse_tree->lhost); + if (copy == NULL) { + sudo_warnx(U_("%s: %s"), __func__, U_("unable to allocate memory")); + debug_return_bool(false); } + m->type = WORD; + m->name = copy; } } } @@ -1183,6 +1225,10 @@ merge_userspecs(struct sudoers_parse_tree_list *parse_trees, us->file, us->line, us->column); free_userspec(us); break; + default: + /* warning printed by defaults_check_conflict() */ + free_userspec(us); + debug_return_bool(false); } } } @@ -1195,8 +1241,10 @@ merge_userspecs(struct sudoers_parse_tree_list *parse_trees, TAILQ_FOREACH_REVERSE(us, &merged_tree->userspecs, userspec_list, entries) { TAILQ_FOREACH_REVERSE(priv, &us->privileges, privilege_list, entries) { /* TODO: simplify other lists? */ - simplify_host_list(&priv->hostlist, us->file, us->line, us->column, - bound_hosts); + if (!simplify_host_list(&priv->hostlist, us->file, us->line, + us->column, bound_hosts)) { + debug_return_bool(false); + } } } @@ -1223,12 +1271,16 @@ merge_sudoers(struct sudoers_parse_tree_list *parse_trees, if (parse_tree == NULL) { TAILQ_FOREACH(parse_tree, parse_trees, entries) { struct member *m = new_member(parse_tree->lhost, WORD); + if (m == NULL) + goto bad; TAILQ_INSERT_TAIL(&bound_hosts, m, entries); } } - if ((merged_tree->aliases = alloc_aliases()) == NULL) - sudo_fatalx(U_("%s: %s"), __func__, U_("unable to allocate memory")); + if ((merged_tree->aliases = alloc_aliases()) == NULL) { + sudo_warnx(U_("%s: %s"), __func__, U_("unable to allocate memory")); + goto bad; + } if (!merge_aliases(parse_trees, merged_tree)) goto bad; diff --git a/plugins/sudoers/def_data.c b/plugins/sudoers/def_data.c index b8c1212d2..0014b15c0 100644 --- a/plugins/sudoers/def_data.c +++ b/plugins/sudoers/def_data.c @@ -41,6 +41,8 @@ static struct def_values def_data_timestamp_type[] = { static struct def_values def_data_log_format[] = { { "sudo", sudo }, { "json", json }, + { "json_compact", json_compact }, + { "json_pretty", json_pretty }, { NULL, 0 }, }; @@ -157,15 +159,15 @@ struct sudo_defs_types sudo_defs_table[] = { NULL, }, { "rootpw", T_FLAG, - N_("Prompt for root's password, not the users's"), + N_("Prompt for root's password, not the user's"), NULL, }, { "runaspw", T_FLAG, - N_("Prompt for the runas_default user's password, not the users's"), + N_("Prompt for the runas_default user's password, not the user's"), NULL, }, { "targetpw", T_FLAG, - N_("Prompt for the target user's password, not the users's"), + N_("Prompt for the target user's password, not the user's"), NULL, }, { "use_loginclass", T_FLAG, @@ -439,6 +441,10 @@ struct sudo_defs_types sudo_defs_table[] = { "pam_acct_mgmt", T_FLAG, N_("Perform PAM account validation management"), NULL, + }, { + "pam_silent", T_FLAG, + N_("Do not allow PAM authentication modules to generate output"), + NULL, }, { "maxseq", T_STR, N_("Maximum I/O log sequence number: %s"), @@ -695,6 +701,10 @@ struct sudo_defs_types sudo_defs_table[] = { "apparmor_profile", T_STR, N_("AppArmor profile to use in the new security context: %s"), NULL, + }, { + "cmddenial_message", T_STR, + N_("Command denial message: %s"), + NULL, }, { NULL, 0, NULL } diff --git a/plugins/sudoers/def_data.h b/plugins/sudoers/def_data.h index 5c244a45c..785938205 100644 --- a/plugins/sudoers/def_data.h +++ b/plugins/sudoers/def_data.h @@ -194,134 +194,138 @@ #define def_pam_session (sudo_defs_table[I_PAM_SESSION].sd_un.flag) #define I_PAM_ACCT_MGMT 96 #define def_pam_acct_mgmt (sudo_defs_table[I_PAM_ACCT_MGMT].sd_un.flag) -#define I_MAXSEQ 97 +#define I_PAM_SILENT 97 +#define def_pam_silent (sudo_defs_table[I_PAM_SILENT].sd_un.flag) +#define I_MAXSEQ 98 #define def_maxseq (sudo_defs_table[I_MAXSEQ].sd_un.str) -#define I_USE_NETGROUPS 98 +#define I_USE_NETGROUPS 99 #define def_use_netgroups (sudo_defs_table[I_USE_NETGROUPS].sd_un.flag) -#define I_SUDOEDIT_CHECKDIR 99 +#define I_SUDOEDIT_CHECKDIR 100 #define def_sudoedit_checkdir (sudo_defs_table[I_SUDOEDIT_CHECKDIR].sd_un.flag) -#define I_SUDOEDIT_FOLLOW 100 +#define I_SUDOEDIT_FOLLOW 101 #define def_sudoedit_follow (sudo_defs_table[I_SUDOEDIT_FOLLOW].sd_un.flag) -#define I_ALWAYS_QUERY_GROUP_PLUGIN 101 +#define I_ALWAYS_QUERY_GROUP_PLUGIN 102 #define def_always_query_group_plugin (sudo_defs_table[I_ALWAYS_QUERY_GROUP_PLUGIN].sd_un.flag) -#define I_NETGROUP_TUPLE 102 +#define I_NETGROUP_TUPLE 103 #define def_netgroup_tuple (sudo_defs_table[I_NETGROUP_TUPLE].sd_un.flag) -#define I_IGNORE_AUDIT_ERRORS 103 +#define I_IGNORE_AUDIT_ERRORS 104 #define def_ignore_audit_errors (sudo_defs_table[I_IGNORE_AUDIT_ERRORS].sd_un.flag) -#define I_IGNORE_IOLOG_ERRORS 104 +#define I_IGNORE_IOLOG_ERRORS 105 #define def_ignore_iolog_errors (sudo_defs_table[I_IGNORE_IOLOG_ERRORS].sd_un.flag) -#define I_IGNORE_LOGFILE_ERRORS 105 +#define I_IGNORE_LOGFILE_ERRORS 106 #define def_ignore_logfile_errors (sudo_defs_table[I_IGNORE_LOGFILE_ERRORS].sd_un.flag) -#define I_MATCH_GROUP_BY_GID 106 +#define I_MATCH_GROUP_BY_GID 107 #define def_match_group_by_gid (sudo_defs_table[I_MATCH_GROUP_BY_GID].sd_un.flag) -#define I_SYSLOG_MAXLEN 107 +#define I_SYSLOG_MAXLEN 108 #define def_syslog_maxlen (sudo_defs_table[I_SYSLOG_MAXLEN].sd_un.uival) -#define I_IOLOG_USER 108 +#define I_IOLOG_USER 109 #define def_iolog_user (sudo_defs_table[I_IOLOG_USER].sd_un.str) -#define I_IOLOG_GROUP 109 +#define I_IOLOG_GROUP 110 #define def_iolog_group (sudo_defs_table[I_IOLOG_GROUP].sd_un.str) -#define I_IOLOG_MODE 110 +#define I_IOLOG_MODE 111 #define def_iolog_mode (sudo_defs_table[I_IOLOG_MODE].sd_un.mode) -#define I_FDEXEC 111 +#define I_FDEXEC 112 #define def_fdexec (sudo_defs_table[I_FDEXEC].sd_un.tuple) -#define I_IGNORE_UNKNOWN_DEFAULTS 112 +#define I_IGNORE_UNKNOWN_DEFAULTS 113 #define def_ignore_unknown_defaults (sudo_defs_table[I_IGNORE_UNKNOWN_DEFAULTS].sd_un.flag) -#define I_COMMAND_TIMEOUT 113 +#define I_COMMAND_TIMEOUT 114 #define def_command_timeout (sudo_defs_table[I_COMMAND_TIMEOUT].sd_un.ival) -#define I_USER_COMMAND_TIMEOUTS 114 +#define I_USER_COMMAND_TIMEOUTS 115 #define def_user_command_timeouts (sudo_defs_table[I_USER_COMMAND_TIMEOUTS].sd_un.flag) -#define I_IOLOG_FLUSH 115 +#define I_IOLOG_FLUSH 116 #define def_iolog_flush (sudo_defs_table[I_IOLOG_FLUSH].sd_un.flag) -#define I_SYSLOG_PID 116 +#define I_SYSLOG_PID 117 #define def_syslog_pid (sudo_defs_table[I_SYSLOG_PID].sd_un.flag) -#define I_TIMESTAMP_TYPE 117 +#define I_TIMESTAMP_TYPE 118 #define def_timestamp_type (sudo_defs_table[I_TIMESTAMP_TYPE].sd_un.tuple) -#define I_AUTHFAIL_MESSAGE 118 +#define I_AUTHFAIL_MESSAGE 119 #define def_authfail_message (sudo_defs_table[I_AUTHFAIL_MESSAGE].sd_un.str) -#define I_CASE_INSENSITIVE_USER 119 +#define I_CASE_INSENSITIVE_USER 120 #define def_case_insensitive_user (sudo_defs_table[I_CASE_INSENSITIVE_USER].sd_un.flag) -#define I_CASE_INSENSITIVE_GROUP 120 +#define I_CASE_INSENSITIVE_GROUP 121 #define def_case_insensitive_group (sudo_defs_table[I_CASE_INSENSITIVE_GROUP].sd_un.flag) -#define I_LOG_ALLOWED 121 +#define I_LOG_ALLOWED 122 #define def_log_allowed (sudo_defs_table[I_LOG_ALLOWED].sd_un.flag) -#define I_LOG_DENIED 122 +#define I_LOG_DENIED 123 #define def_log_denied (sudo_defs_table[I_LOG_DENIED].sd_un.flag) -#define I_LOG_SERVERS 123 +#define I_LOG_SERVERS 124 #define def_log_servers (sudo_defs_table[I_LOG_SERVERS].sd_un.list) -#define I_LOG_SERVER_TIMEOUT 124 +#define I_LOG_SERVER_TIMEOUT 125 #define def_log_server_timeout (sudo_defs_table[I_LOG_SERVER_TIMEOUT].sd_un.ival) -#define I_LOG_SERVER_KEEPALIVE 125 +#define I_LOG_SERVER_KEEPALIVE 126 #define def_log_server_keepalive (sudo_defs_table[I_LOG_SERVER_KEEPALIVE].sd_un.flag) -#define I_LOG_SERVER_CABUNDLE 126 +#define I_LOG_SERVER_CABUNDLE 127 #define def_log_server_cabundle (sudo_defs_table[I_LOG_SERVER_CABUNDLE].sd_un.str) -#define I_LOG_SERVER_PEER_CERT 127 +#define I_LOG_SERVER_PEER_CERT 128 #define def_log_server_peer_cert (sudo_defs_table[I_LOG_SERVER_PEER_CERT].sd_un.str) -#define I_LOG_SERVER_PEER_KEY 128 +#define I_LOG_SERVER_PEER_KEY 129 #define def_log_server_peer_key (sudo_defs_table[I_LOG_SERVER_PEER_KEY].sd_un.str) -#define I_LOG_SERVER_VERIFY 129 +#define I_LOG_SERVER_VERIFY 130 #define def_log_server_verify (sudo_defs_table[I_LOG_SERVER_VERIFY].sd_un.flag) -#define I_RUNAS_ALLOW_UNKNOWN_ID 130 +#define I_RUNAS_ALLOW_UNKNOWN_ID 131 #define def_runas_allow_unknown_id (sudo_defs_table[I_RUNAS_ALLOW_UNKNOWN_ID].sd_un.flag) -#define I_RUNAS_CHECK_SHELL 131 +#define I_RUNAS_CHECK_SHELL 132 #define def_runas_check_shell (sudo_defs_table[I_RUNAS_CHECK_SHELL].sd_un.flag) -#define I_PAM_RUSER 132 +#define I_PAM_RUSER 133 #define def_pam_ruser (sudo_defs_table[I_PAM_RUSER].sd_un.flag) -#define I_PAM_RHOST 133 +#define I_PAM_RHOST 134 #define def_pam_rhost (sudo_defs_table[I_PAM_RHOST].sd_un.flag) -#define I_RUNCWD 134 +#define I_RUNCWD 135 #define def_runcwd (sudo_defs_table[I_RUNCWD].sd_un.str) -#define I_RUNCHROOT 135 +#define I_RUNCHROOT 136 #define def_runchroot (sudo_defs_table[I_RUNCHROOT].sd_un.str) -#define I_LOG_FORMAT 136 +#define I_LOG_FORMAT 137 #define def_log_format (sudo_defs_table[I_LOG_FORMAT].sd_un.tuple) -#define I_SELINUX 137 +#define I_SELINUX 138 #define def_selinux (sudo_defs_table[I_SELINUX].sd_un.flag) -#define I_ADMIN_FLAG 138 +#define I_ADMIN_FLAG 139 #define def_admin_flag (sudo_defs_table[I_ADMIN_FLAG].sd_un.str) -#define I_INTERCEPT 139 +#define I_INTERCEPT 140 #define def_intercept (sudo_defs_table[I_INTERCEPT].sd_un.flag) -#define I_LOG_SUBCMDS 140 +#define I_LOG_SUBCMDS 141 #define def_log_subcmds (sudo_defs_table[I_LOG_SUBCMDS].sd_un.flag) -#define I_LOG_EXIT_STATUS 141 +#define I_LOG_EXIT_STATUS 142 #define def_log_exit_status (sudo_defs_table[I_LOG_EXIT_STATUS].sd_un.flag) -#define I_INTERCEPT_AUTHENTICATE 142 +#define I_INTERCEPT_AUTHENTICATE 143 #define def_intercept_authenticate (sudo_defs_table[I_INTERCEPT_AUTHENTICATE].sd_un.flag) -#define I_INTERCEPT_ALLOW_SETID 143 +#define I_INTERCEPT_ALLOW_SETID 144 #define def_intercept_allow_setid (sudo_defs_table[I_INTERCEPT_ALLOW_SETID].sd_un.flag) -#define I_RLIMIT_AS 144 +#define I_RLIMIT_AS 145 #define def_rlimit_as (sudo_defs_table[I_RLIMIT_AS].sd_un.str) -#define I_RLIMIT_CORE 145 +#define I_RLIMIT_CORE 146 #define def_rlimit_core (sudo_defs_table[I_RLIMIT_CORE].sd_un.str) -#define I_RLIMIT_CPU 146 +#define I_RLIMIT_CPU 147 #define def_rlimit_cpu (sudo_defs_table[I_RLIMIT_CPU].sd_un.str) -#define I_RLIMIT_DATA 147 +#define I_RLIMIT_DATA 148 #define def_rlimit_data (sudo_defs_table[I_RLIMIT_DATA].sd_un.str) -#define I_RLIMIT_FSIZE 148 +#define I_RLIMIT_FSIZE 149 #define def_rlimit_fsize (sudo_defs_table[I_RLIMIT_FSIZE].sd_un.str) -#define I_RLIMIT_LOCKS 149 +#define I_RLIMIT_LOCKS 150 #define def_rlimit_locks (sudo_defs_table[I_RLIMIT_LOCKS].sd_un.str) -#define I_RLIMIT_MEMLOCK 150 +#define I_RLIMIT_MEMLOCK 151 #define def_rlimit_memlock (sudo_defs_table[I_RLIMIT_MEMLOCK].sd_un.str) -#define I_RLIMIT_NOFILE 151 +#define I_RLIMIT_NOFILE 152 #define def_rlimit_nofile (sudo_defs_table[I_RLIMIT_NOFILE].sd_un.str) -#define I_RLIMIT_NPROC 152 +#define I_RLIMIT_NPROC 153 #define def_rlimit_nproc (sudo_defs_table[I_RLIMIT_NPROC].sd_un.str) -#define I_RLIMIT_RSS 153 +#define I_RLIMIT_RSS 154 #define def_rlimit_rss (sudo_defs_table[I_RLIMIT_RSS].sd_un.str) -#define I_RLIMIT_STACK 154 +#define I_RLIMIT_STACK 155 #define def_rlimit_stack (sudo_defs_table[I_RLIMIT_STACK].sd_un.str) -#define I_NONINTERACTIVE_AUTH 155 +#define I_NONINTERACTIVE_AUTH 156 #define def_noninteractive_auth (sudo_defs_table[I_NONINTERACTIVE_AUTH].sd_un.flag) -#define I_LOG_PASSWORDS 156 +#define I_LOG_PASSWORDS 157 #define def_log_passwords (sudo_defs_table[I_LOG_PASSWORDS].sd_un.flag) -#define I_PASSPROMPT_REGEX 157 +#define I_PASSPROMPT_REGEX 158 #define def_passprompt_regex (sudo_defs_table[I_PASSPROMPT_REGEX].sd_un.list) -#define I_INTERCEPT_TYPE 158 +#define I_INTERCEPT_TYPE 159 #define def_intercept_type (sudo_defs_table[I_INTERCEPT_TYPE].sd_un.tuple) -#define I_INTERCEPT_VERIFY 159 +#define I_INTERCEPT_VERIFY 160 #define def_intercept_verify (sudo_defs_table[I_INTERCEPT_VERIFY].sd_un.flag) -#define I_APPARMOR_PROFILE 160 +#define I_APPARMOR_PROFILE 161 #define def_apparmor_profile (sudo_defs_table[I_APPARMOR_PROFILE].sd_un.str) +#define I_CMDDENIAL_MESSAGE 162 +#define def_cmddenial_message (sudo_defs_table[I_CMDDENIAL_MESSAGE].sd_un.str) enum def_tuple { never, @@ -336,6 +340,8 @@ enum def_tuple { kernel, sudo, json, + json_compact, + json_pretty, dso, trace }; diff --git a/plugins/sudoers/def_data.in b/plugins/sudoers/def_data.in index 4d627e64b..fa0050de9 100644 --- a/plugins/sudoers/def_data.in +++ b/plugins/sudoers/def_data.in @@ -91,13 +91,13 @@ env_editor "Visudo will honor the EDITOR environment variable" rootpw T_FLAG - "Prompt for root's password, not the users's" + "Prompt for root's password, not the user's" runaspw T_FLAG - "Prompt for the runas_default user's password, not the users's" + "Prompt for the runas_default user's password, not the user's" targetpw T_FLAG - "Prompt for the target user's password, not the users's" + "Prompt for the target user's password, not the user's" use_loginclass T_FLAG "Apply defaults in the target user's login class if there is one" @@ -304,6 +304,9 @@ pam_session pam_acct_mgmt T_FLAG "Perform PAM account validation management" +pam_silent + T_FLAG + "Do not allow PAM authentication modules to generate output" maxseq T_STR "Maximum I/O log sequence number: %s" @@ -426,7 +429,7 @@ runchroot log_format T_TUPLE "The format of logs to produce: %s" - sudo json + sudo json json_compact json_pretty selinux T_FLAG "Enable SELinux RBAC support" @@ -500,3 +503,6 @@ intercept_verify apparmor_profile T_STR "AppArmor profile to use in the new security context: %s" +cmddenial_message + T_STR + "Command denial message: %s" diff --git a/plugins/sudoers/defaults.c b/plugins/sudoers/defaults.c index 34c5d1d83..0488f5e34 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 store_plugin(const char *str, struct sudo_defs_types *def, int op); static bool list_op(const char *str, size_t, struct list_members *list, enum list_ops op); -static bool valid_path(const struct sudoers_context *ctx, struct sudo_defs_types *def, const char *val, const char *file, int line, int column, bool quiet); +static bool valid_path(const struct sudoers_context *ctx, const struct sudo_defs_types *def, const char *val, const char *file, int line, int column, bool quiet); /* * Table describing compile-time and run-time options. @@ -86,9 +86,9 @@ static bool valid_path(const struct sudoers_context *ctx, struct sudo_defs_types void dump_defaults(void) { - struct sudo_defs_types *cur; - struct list_member *item; - struct def_values *def; + const struct sudo_defs_types *cur; + const struct list_member *item; + const struct def_values *def; const char *desc; debug_decl(dump_defaults, SUDOERS_DEBUG_DEFAULTS); @@ -661,6 +661,7 @@ init_defaults(void) def_set_utmp = true; def_pam_acct_mgmt = true; def_pam_setcred = true; + def_pam_silent = true; def_syslog_maxlen = MAXSYSLOGLEN; def_case_insensitive_user = true; def_case_insensitive_group = true; @@ -695,7 +696,7 @@ oom: * Returns true if it matches, else false. */ static bool -default_type_matches(struct defaults *d, int what) +default_type_matches(const struct defaults *d, int what) { debug_decl(default_type_matches, SUDOERS_DEBUG_DEFAULTS); @@ -730,7 +731,7 @@ default_type_matches(struct defaults *d, int what) */ static bool default_binding_matches(const struct sudoers_context *ctx, - struct sudoers_parse_tree *parse_tree, struct defaults *d, int what) + struct sudoers_parse_tree *parse_tree, const struct defaults *d, int what) { debug_decl(default_binding_matches, SUDOERS_DEBUG_DEFAULTS); @@ -764,9 +765,9 @@ default_binding_matches(const struct sudoers_context *ctx, bool update_defaults(struct sudoers_context *ctx, struct sudoers_parse_tree *parse_tree, - struct defaults_list *defs, int what, bool quiet) + const struct defaults_list *defs, int what, bool quiet) { - struct defaults *d; + const struct defaults *d; bool global_defaults = false; bool ret = true; debug_decl(update_defaults, SUDOERS_DEBUG_DEFAULTS); @@ -834,7 +835,7 @@ update_defaults(struct sudoers_context *ctx, bool check_defaults(const struct sudoers_parse_tree *parse_tree, bool quiet) { - struct defaults *d; + const struct defaults *d; bool ret = true; int idx; debug_decl(check_defaults, SUDOERS_DEBUG_DEFAULTS); @@ -1015,7 +1016,7 @@ store_timespec(const char *str, struct sudo_defs_types *def) static bool store_tuple(const char *str, struct sudo_defs_types *def, int op) { - struct def_values *v; + const struct def_values *v; debug_decl(store_tuple, SUDOERS_DEBUG_DEFAULTS); /* @@ -1177,7 +1178,7 @@ store_timeout(const char *str, struct sudo_defs_types *def) } static bool -valid_path(const struct sudoers_context *ctx, struct sudo_defs_types *def, +valid_path(const struct sudoers_context *ctx, const struct sudo_defs_types *def, const char *val, const char *file, int line, int column, bool quiet) { bool ret = true; diff --git a/plugins/sudoers/defaults.h b/plugins/sudoers/defaults.h index 9909024cc..a37a0ab7e 100644 --- a/plugins/sudoers/defaults.h +++ b/plugins/sudoers/defaults.h @@ -147,7 +147,7 @@ struct sudoers_parse_tree; void dump_default(void); bool init_defaults(void); bool set_default(struct sudoers_context *ctx, const char *var, const char *val, int op, const char *file, int line, int column, bool quiet); -bool update_defaults(struct sudoers_context *ctx, struct sudoers_parse_tree *parse_tree, struct defaults_list *defs, int what, bool quiet); +bool update_defaults(struct sudoers_context *ctx, struct sudoers_parse_tree *parse_tree, const struct defaults_list *defs, int what, bool quiet); bool check_defaults(const struct sudoers_parse_tree *parse_tree, bool quiet); bool append_default(const char *var, const char *val, int op, char *source, struct defaults_list *defs); bool cb_passprompt_regex(struct sudoers_context *ctx, const char *file, int line, int column, const union sudo_defs_val *sd_un, int op); diff --git a/plugins/sudoers/display.c b/plugins/sudoers/display.c index 83b4e42df..8a3cd8b55 100644 --- a/plugins/sudoers/display.c +++ b/plugins/sudoers/display.c @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: ISC * - * Copyright (c) 2004-2005, 2007-2023 Todd C. Miller + * Copyright (c) 2004-2005, 2007-2024 Todd C. Miller * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -112,22 +112,16 @@ new_long_entry(const struct cmndspec *cs, const struct cmndspec *prev_cs) debug_return_bool(true); if (RUNAS_CHANGED(cs, prev_cs) || TAGS_CHANGED(prev_cs->tags, cs->tags)) debug_return_bool(true); -#ifdef HAVE_PRIV_SET if (cs->privs && (!prev_cs->privs || strcmp(cs->privs, prev_cs->privs) != 0)) debug_return_bool(true); if (cs->limitprivs && (!prev_cs->limitprivs || strcmp(cs->limitprivs, prev_cs->limitprivs) != 0)) debug_return_bool(true); -#endif /* HAVE_PRIV_SET */ -#ifdef HAVE_SELINUX if (cs->role && (!prev_cs->role || strcmp(cs->role, prev_cs->role) != 0)) debug_return_bool(true); if (cs->type && (!prev_cs->type || strcmp(cs->type, prev_cs->type) != 0)) debug_return_bool(true); -#endif /* HAVE_SELINUX */ -#ifdef HAVE_APPARMOR if (cs->apparmor_profile && (!prev_cs->apparmor_profile || strcmp(cs->apparmor_profile, prev_cs->apparmor_profile) != 0)) debug_return_bool(true); -#endif /* HAVE_APPARMOR */ if (cs->runchroot && (!prev_cs->runchroot || strcmp(cs->runchroot, prev_cs->runchroot) != 0)) debug_return_bool(true); if (cs->runcwd && (!prev_cs->runcwd || strcmp(cs->runcwd, prev_cs->runcwd) != 0)) @@ -211,18 +205,18 @@ display_cmndspec_long(const struct sudoers_parse_tree *parse_tree, } else { lbuf->len = olen; /* no options */ } -#ifdef HAVE_PRIV_SET - if (cs->privs) + if (cs->apparmor_profile != NULL) { + sudo_lbuf_append(lbuf, " ApparmorProfile: %s\n", + cs->apparmor_profile); + } + if (cs->privs != NULL) sudo_lbuf_append(lbuf, " Privs: %s\n", cs->privs); - if (cs->limitprivs) + if (cs->limitprivs != NULL) sudo_lbuf_append(lbuf, " Limitprivs: %s\n", cs->limitprivs); -#endif /* HAVE_PRIV_SET */ -#ifdef HAVE_SELINUX - if (cs->role) + if (cs->role != NULL) sudo_lbuf_append(lbuf, " Role: %s\n", cs->role); - if (cs->type) + if (cs->type != NULL) sudo_lbuf_append(lbuf, " Type: %s\n", cs->type); -#endif /* HAVE_SELINUX */ if (cs->runchroot != NULL) sudo_lbuf_append(lbuf, " Chroot: %s\n", cs->runchroot); if (cs->runcwd != NULL) diff --git a/plugins/sudoers/env.c b/plugins/sudoers/env.c index e3f28f1bb..95558e9ed 100644 --- a/plugins/sudoers/env.c +++ b/plugins/sudoers/env.c @@ -1123,12 +1123,13 @@ rebuild_env(const struct sudoers_context *ctx) CHECK_SETENV2("SUDO_COMMAND", ctx->user.cmnd, true, true); } - /* Add the SUDO_USER, SUDO_UID, SUDO_GID environment variables. */ + /* Add the SUDO_{USER,UID,GID,HOME} environment variables. */ CHECK_SETENV2("SUDO_USER", ctx->user.name, true, true); (void)snprintf(idbuf, sizeof(idbuf), "%u", (unsigned int) ctx->user.uid); CHECK_SETENV2("SUDO_UID", idbuf, true, true); (void)snprintf(idbuf, sizeof(idbuf), "%u", (unsigned int) ctx->user.gid); CHECK_SETENV2("SUDO_GID", idbuf, true, true); + CHECK_SETENV2("SUDO_HOME", ctx->user.pw->pw_dir, true, true); debug_return_bool(true); diff --git a/plugins/sudoers/fmtsudoers.c b/plugins/sudoers/fmtsudoers.c index 7e6d45de6..547abc9b6 100644 --- a/plugins/sudoers/fmtsudoers.c +++ b/plugins/sudoers/fmtsudoers.c @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: ISC * - * Copyright (c) 2004-2005, 2007-2023 Todd C. Miller + * Copyright (c) 2004-2005, 2007-2024 Todd C. Miller * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -234,22 +234,16 @@ sudoers_format_cmndspec(struct sudo_lbuf *lbuf, /* Merge privilege-level tags with cmndspec tags. */ TAGS_MERGE(tags, cs->tags); -#ifdef HAVE_PRIV_SET if (cs->privs != NULL && FIELD_CHANGED(prev_cs, cs, privs)) sudo_lbuf_append(lbuf, "PRIVS=\"%s\" ", cs->privs); if (cs->limitprivs != NULL && FIELD_CHANGED(prev_cs, cs, limitprivs)) sudo_lbuf_append(lbuf, "LIMITPRIVS=\"%s\" ", cs->limitprivs); -#endif /* HAVE_PRIV_SET */ -#ifdef HAVE_SELINUX if (cs->role != NULL && FIELD_CHANGED(prev_cs, cs, role)) sudo_lbuf_append(lbuf, "ROLE=%s ", cs->role); if (cs->type != NULL && FIELD_CHANGED(prev_cs, cs, type)) sudo_lbuf_append(lbuf, "TYPE=%s ", cs->type); -#endif /* HAVE_SELINUX */ -#ifdef HAVE_APPARMOR if (cs->apparmor_profile != NULL && FIELD_CHANGED(prev_cs, cs, apparmor_profile)) sudo_lbuf_append(lbuf, "APPARMOR_PROFILE=%s ", cs->apparmor_profile); -#endif /* HAVE_APPARMOR */ if (cs->runchroot != NULL && FIELD_CHANGED(prev_cs, cs, runchroot)) sudo_lbuf_append(lbuf, "CHROOT=%s ", cs->runchroot); if (cs->runcwd != NULL && FIELD_CHANGED(prev_cs, cs, runcwd)) diff --git a/plugins/sudoers/gram.c b/plugins/sudoers/gram.c index 11064674c..668c35ec8 100644 --- a/plugins/sudoers/gram.c +++ b/plugins/sudoers/gram.c @@ -85,7 +85,7 @@ /* * SPDX-License-Identifier: ISC * - * Copyright (c) 1996, 1998-2005, 2007-2013, 2014-2023 + * Copyright (c) 1996, 1998-2005, 2007-2013, 2014-2024 * Todd C. Miller * * Permission to use, copy, modify, and distribute this software for any @@ -882,18 +882,18 @@ static const yytype_int16 yyrline[] = 236, 242, 245, 248, 251, 254, 258, 262, 266, 270, 276, 279, 285, 288, 294, 295, 302, 311, 320, 330, 340, 352, 353, 358, 364, 381, 385, 391, 400, 408, - 417, 426, 437, 438, 500, 570, 579, 588, 597, 608, - 609, 616, 619, 633, 637, 643, 659, 675, 680, 684, - 689, 694, 699, 704, 708, 713, 716, 721, 738, 750, - 766, 784, 803, 804, 805, 806, 807, 808, 809, 810, - 811, 812, 813, 816, 822, 825, 830, 835, 844, 853, - 865, 872, 879, 886, 893, 902, 905, 908, 911, 914, - 917, 920, 923, 926, 929, 932, 935, 938, 941, 944, - 947, 950, 955, 969, 978, 999, 1022, 1023, 1026, 1026, - 1038, 1041, 1042, 1049, 1050, 1053, 1053, 1065, 1068, 1069, - 1076, 1077, 1080, 1080, 1092, 1095, 1096, 1099, 1099, 1111, - 1114, 1115, 1122, 1126, 1132, 1141, 1149, 1158, 1167, 1178, - 1179, 1186, 1190, 1196, 1205, 1213 + 417, 426, 437, 438, 499, 563, 572, 581, 590, 601, + 602, 609, 612, 626, 630, 636, 652, 668, 673, 677, + 682, 687, 692, 697, 701, 706, 709, 714, 731, 743, + 759, 777, 796, 797, 798, 799, 800, 801, 802, 803, + 804, 805, 806, 809, 815, 818, 823, 828, 837, 846, + 858, 863, 868, 873, 878, 885, 888, 891, 894, 897, + 900, 903, 906, 909, 912, 915, 918, 921, 924, 927, + 930, 933, 938, 952, 961, 982, 1005, 1006, 1009, 1009, + 1021, 1024, 1025, 1032, 1033, 1036, 1036, 1048, 1051, 1052, + 1059, 1060, 1063, 1063, 1075, 1078, 1079, 1082, 1082, 1094, + 1097, 1098, 1105, 1109, 1115, 1124, 1132, 1141, 1150, 1161, + 1162, 1169, 1173, 1179, 1188, 1196 }; #endif @@ -2044,20 +2044,19 @@ yyreduce: (yyvsp[0].cmndspec)->runcwd = prev->runcwd; if ((yyvsp[0].cmndspec)->runchroot == NULL) (yyvsp[0].cmndspec)->runchroot = prev->runchroot; -#ifdef HAVE_SELINUX /* propagate role and type */ if ((yyvsp[0].cmndspec)->role == NULL && (yyvsp[0].cmndspec)->type == NULL) { (yyvsp[0].cmndspec)->role = prev->role; (yyvsp[0].cmndspec)->type = prev->type; } -#endif /* HAVE_SELINUX */ -#ifdef HAVE_PRIV_SET + /* propagate apparmor_profile */ + if ((yyvsp[0].cmndspec)->apparmor_profile == NULL) + (yyvsp[0].cmndspec)->apparmor_profile = prev->apparmor_profile; /* propagate privs & limitprivs */ if ((yyvsp[0].cmndspec)->privs == NULL && (yyvsp[0].cmndspec)->limitprivs == NULL) { (yyvsp[0].cmndspec)->privs = prev->privs; (yyvsp[0].cmndspec)->limitprivs = prev->limitprivs; } -#endif /* HAVE_PRIV_SET */ /* propagate command time restrictions */ if ((yyvsp[0].cmndspec)->notbefore == UNSPEC) (yyvsp[0].cmndspec)->notbefore = prev->notbefore; @@ -2093,11 +2092,11 @@ yyreduce: } (yyval.cmndspec) = (yyvsp[-2].cmndspec); } -#line 2091 "gram.c" +#line 2090 "gram.c" break; case 44: /* cmndspec: runasspec options cmndtag digcmnd */ -#line 500 "gram.y" +#line 499 "gram.y" { struct cmndspec *cs = calloc(1, sizeof(*cs)); if (cs == NULL) { @@ -2133,22 +2132,16 @@ yyreduce: parser_leak_remove(LEAK_RUNAS, (yyvsp[-3].runas)); free((yyvsp[-3].runas)); } -#ifdef HAVE_SELINUX cs->role = (yyvsp[-2].options).role; parser_leak_remove(LEAK_PTR, (yyvsp[-2].options).role); cs->type = (yyvsp[-2].options).type; 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); -#endif -#ifdef HAVE_PRIV_SET cs->privs = (yyvsp[-2].options).privs; parser_leak_remove(LEAK_PTR, (yyvsp[-2].options).privs); cs->limitprivs = (yyvsp[-2].options).limitprivs; parser_leak_remove(LEAK_PTR, (yyvsp[-2].options).limitprivs); -#endif cs->notbefore = (yyvsp[-2].options).notbefore; cs->notafter = (yyvsp[-2].options).notafter; cs->timeout = (yyvsp[-2].options).timeout; @@ -2166,11 +2159,11 @@ yyreduce: cs->tags.setenv = IMPLIED; (yyval.cmndspec) = cs; } -#line 2164 "gram.c" +#line 2157 "gram.c" break; case 45: /* digestspec: SHA224_TOK ':' DIGEST */ -#line 570 "gram.y" +#line 563 "gram.y" { (yyval.digest) = new_digest(SUDO_DIGEST_SHA224, (yyvsp[0].string)); if ((yyval.digest) == NULL) { @@ -2180,11 +2173,11 @@ yyreduce: parser_leak_remove(LEAK_PTR, (yyvsp[0].string)); parser_leak_add(LEAK_DIGEST, (yyval.digest)); } -#line 2178 "gram.c" +#line 2171 "gram.c" break; case 46: /* digestspec: SHA256_TOK ':' DIGEST */ -#line 579 "gram.y" +#line 572 "gram.y" { (yyval.digest) = new_digest(SUDO_DIGEST_SHA256, (yyvsp[0].string)); if ((yyval.digest) == NULL) { @@ -2194,11 +2187,11 @@ yyreduce: parser_leak_remove(LEAK_PTR, (yyvsp[0].string)); parser_leak_add(LEAK_DIGEST, (yyval.digest)); } -#line 2192 "gram.c" +#line 2185 "gram.c" break; case 47: /* digestspec: SHA384_TOK ':' DIGEST */ -#line 588 "gram.y" +#line 581 "gram.y" { (yyval.digest) = new_digest(SUDO_DIGEST_SHA384, (yyvsp[0].string)); if ((yyval.digest) == NULL) { @@ -2208,11 +2201,11 @@ yyreduce: parser_leak_remove(LEAK_PTR, (yyvsp[0].string)); parser_leak_add(LEAK_DIGEST, (yyval.digest)); } -#line 2206 "gram.c" +#line 2199 "gram.c" break; case 48: /* digestspec: SHA512_TOK ':' DIGEST */ -#line 597 "gram.y" +#line 590 "gram.y" { (yyval.digest) = new_digest(SUDO_DIGEST_SHA512, (yyvsp[0].string)); if ((yyval.digest) == NULL) { @@ -2222,29 +2215,29 @@ yyreduce: parser_leak_remove(LEAK_PTR, (yyvsp[0].string)); parser_leak_add(LEAK_DIGEST, (yyval.digest)); } -#line 2220 "gram.c" +#line 2213 "gram.c" break; case 50: /* digestlist: digestlist ',' digestspec */ -#line 609 "gram.y" +#line 602 "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 2230 "gram.c" +#line 2223 "gram.c" break; case 51: /* digcmnd: opcmnd */ -#line 616 "gram.y" +#line 609 "gram.y" { (yyval.member) = (yyvsp[0].member); } -#line 2238 "gram.c" +#line 2231 "gram.c" break; case 52: /* digcmnd: digestlist opcmnd */ -#line 619 "gram.y" +#line 612 "gram.y" { struct sudo_command *c = (struct sudo_command *) (yyvsp[0].member)->name; @@ -2257,29 +2250,29 @@ yyreduce: HLTQ_TO_TAILQ(&c->digests, (yyvsp[-1].digest), entries); (yyval.member) = (yyvsp[0].member); } -#line 2255 "gram.c" +#line 2248 "gram.c" break; case 53: /* opcmnd: cmnd */ -#line 633 "gram.y" +#line 626 "gram.y" { (yyval.member) = (yyvsp[0].member); (yyval.member)->negated = false; } -#line 2264 "gram.c" +#line 2257 "gram.c" break; case 54: /* opcmnd: '!' cmnd */ -#line 637 "gram.y" +#line 630 "gram.y" { (yyval.member) = (yyvsp[0].member); (yyval.member)->negated = true; } -#line 2273 "gram.c" +#line 2266 "gram.c" break; case 55: /* chdirspec: CWD '=' WORD */ -#line 643 "gram.y" +#line 636 "gram.y" { if ((yyvsp[0].string)[0] != '/' && (yyvsp[0].string)[0] != '~') { if (strcmp((yyvsp[0].string), "*") != 0) { @@ -2294,11 +2287,11 @@ yyreduce: } (yyval.string) = (yyvsp[0].string); } -#line 2292 "gram.c" +#line 2285 "gram.c" break; case 56: /* chrootspec: CHROOT '=' WORD */ -#line 659 "gram.y" +#line 652 "gram.y" { if ((yyvsp[0].string)[0] != '/' && (yyvsp[0].string)[0] != '~') { if (strcmp((yyvsp[0].string), "*") != 0) { @@ -2313,91 +2306,91 @@ yyreduce: } (yyval.string) = (yyvsp[0].string); } -#line 2311 "gram.c" +#line 2304 "gram.c" break; case 57: /* timeoutspec: CMND_TIMEOUT '=' WORD */ -#line 675 "gram.y" +#line 668 "gram.y" { (yyval.string) = (yyvsp[0].string); } -#line 2319 "gram.c" +#line 2312 "gram.c" break; case 58: /* notbeforespec: NOTBEFORE '=' WORD */ -#line 680 "gram.y" +#line 673 "gram.y" { (yyval.string) = (yyvsp[0].string); } -#line 2327 "gram.c" +#line 2320 "gram.c" break; case 59: /* notafterspec: NOTAFTER '=' WORD */ -#line 684 "gram.y" +#line 677 "gram.y" { (yyval.string) = (yyvsp[0].string); } -#line 2335 "gram.c" +#line 2328 "gram.c" break; case 60: /* rolespec: ROLE '=' WORD */ -#line 689 "gram.y" +#line 682 "gram.y" { (yyval.string) = (yyvsp[0].string); } -#line 2343 "gram.c" +#line 2336 "gram.c" break; case 61: /* typespec: TYPE '=' WORD */ -#line 694 "gram.y" +#line 687 "gram.y" { (yyval.string) = (yyvsp[0].string); } -#line 2351 "gram.c" +#line 2344 "gram.c" break; case 62: /* apparmor_profilespec: APPARMOR_PROFILE '=' WORD */ -#line 699 "gram.y" +#line 692 "gram.y" { (yyval.string) = (yyvsp[0].string); } -#line 2359 "gram.c" +#line 2352 "gram.c" break; case 63: /* privsspec: PRIVS '=' WORD */ -#line 704 "gram.y" +#line 697 "gram.y" { (yyval.string) = (yyvsp[0].string); } -#line 2367 "gram.c" +#line 2360 "gram.c" break; case 64: /* limitprivsspec: LIMITPRIVS '=' WORD */ -#line 708 "gram.y" +#line 701 "gram.y" { (yyval.string) = (yyvsp[0].string); } -#line 2375 "gram.c" +#line 2368 "gram.c" break; case 65: /* runasspec: %empty */ -#line 713 "gram.y" +#line 706 "gram.y" { (yyval.runas) = NULL; } -#line 2383 "gram.c" +#line 2376 "gram.c" break; case 66: /* runasspec: '(' runaslist ')' */ -#line 716 "gram.y" +#line 709 "gram.y" { (yyval.runas) = (yyvsp[-1].runas); } -#line 2391 "gram.c" +#line 2384 "gram.c" break; case 67: /* runaslist: %empty */ -#line 721 "gram.y" +#line 714 "gram.y" { /* User may run command as themselves. */ (yyval.runas) = calloc(1, sizeof(struct runascontainer)); @@ -2415,11 +2408,11 @@ yyreduce: } parser_leak_add(LEAK_RUNAS, (yyval.runas)); } -#line 2413 "gram.c" +#line 2406 "gram.c" break; case 68: /* runaslist: userlist */ -#line 738 "gram.y" +#line 731 "gram.y" { /* User may run command as a user in userlist. */ (yyval.runas) = calloc(1, sizeof(struct runascontainer)); @@ -2432,11 +2425,11 @@ yyreduce: (yyval.runas)->runasusers = (yyvsp[0].member); /* $$->runasgroups = NULL; */ } -#line 2430 "gram.c" +#line 2423 "gram.c" break; case 69: /* runaslist: userlist ':' grouplist */ -#line 750 "gram.y" +#line 743 "gram.y" { /* * User may run command as a user in userlist @@ -2453,11 +2446,11 @@ yyreduce: (yyval.runas)->runasusers = (yyvsp[-2].member); (yyval.runas)->runasgroups = (yyvsp[0].member); } -#line 2451 "gram.c" +#line 2444 "gram.c" break; case 70: /* runaslist: ':' grouplist */ -#line 766 "gram.y" +#line 759 "gram.y" { /* User may run command as a group in grouplist. */ (yyval.runas) = calloc(1, sizeof(struct runascontainer)); @@ -2476,11 +2469,11 @@ yyreduce: parser_leak_remove(LEAK_MEMBER, (yyvsp[0].member)); (yyval.runas)->runasgroups = (yyvsp[0].member); } -#line 2474 "gram.c" +#line 2467 "gram.c" break; case 71: /* runaslist: ':' */ -#line 784 "gram.y" +#line 777 "gram.y" { /* User may run command as themselves. */ (yyval.runas) = calloc(1, sizeof(struct runascontainer)); @@ -2498,114 +2491,114 @@ yyreduce: } parser_leak_add(LEAK_RUNAS, (yyval.runas)); } -#line 2496 "gram.c" +#line 2489 "gram.c" break; case 72: /* reserved_word: ALL */ -#line 803 "gram.y" +#line 796 "gram.y" { (yyval.cstring) = "ALL"; } -#line 2502 "gram.c" +#line 2495 "gram.c" break; case 73: /* reserved_word: CHROOT */ -#line 804 "gram.y" +#line 797 "gram.y" { (yyval.cstring) = "CHROOT"; } -#line 2508 "gram.c" +#line 2501 "gram.c" break; case 74: /* reserved_word: CWD */ -#line 805 "gram.y" +#line 798 "gram.y" { (yyval.cstring) = "CWD"; } -#line 2514 "gram.c" +#line 2507 "gram.c" break; case 75: /* reserved_word: CMND_TIMEOUT */ -#line 806 "gram.y" +#line 799 "gram.y" { (yyval.cstring) = "CMND_TIMEOUT"; } -#line 2520 "gram.c" +#line 2513 "gram.c" break; case 76: /* reserved_word: NOTBEFORE */ -#line 807 "gram.y" +#line 800 "gram.y" { (yyval.cstring) = "NOTBEFORE"; } -#line 2526 "gram.c" +#line 2519 "gram.c" break; case 77: /* reserved_word: NOTAFTER */ -#line 808 "gram.y" +#line 801 "gram.y" { (yyval.cstring) = "NOTAFTER"; } -#line 2532 "gram.c" +#line 2525 "gram.c" break; case 78: /* reserved_word: ROLE */ -#line 809 "gram.y" +#line 802 "gram.y" { (yyval.cstring) = "ROLE"; } -#line 2538 "gram.c" +#line 2531 "gram.c" break; case 79: /* reserved_word: TYPE */ -#line 810 "gram.y" +#line 803 "gram.y" { (yyval.cstring) = "TYPE"; } -#line 2544 "gram.c" +#line 2537 "gram.c" break; case 80: /* reserved_word: PRIVS */ -#line 811 "gram.y" +#line 804 "gram.y" { (yyval.cstring) = "PRIVS"; } -#line 2550 "gram.c" +#line 2543 "gram.c" break; case 81: /* reserved_word: LIMITPRIVS */ -#line 812 "gram.y" +#line 805 "gram.y" { (yyval.cstring) = "LIMITPRIVS"; } -#line 2556 "gram.c" +#line 2549 "gram.c" break; case 82: /* reserved_word: APPARMOR_PROFILE */ -#line 813 "gram.y" +#line 806 "gram.y" { (yyval.cstring) = "APPARMOR_PROFILE"; } -#line 2562 "gram.c" +#line 2555 "gram.c" break; case 83: /* reserved_alias: reserved_word */ -#line 816 "gram.y" +#line 809 "gram.y" { sudoerserrorf(U_("syntax error, reserved word %s used as an alias name"), (yyvsp[0].cstring)); YYERROR; } -#line 2571 "gram.c" +#line 2564 "gram.c" break; case 84: /* options: %empty */ -#line 822 "gram.y" +#line 815 "gram.y" { init_options(&(yyval.options)); } -#line 2579 "gram.c" +#line 2572 "gram.c" break; case 85: /* options: options chdirspec */ -#line 825 "gram.y" +#line 818 "gram.y" { parser_leak_remove(LEAK_PTR, (yyval.options).runcwd); free((yyval.options).runcwd); (yyval.options).runcwd = (yyvsp[0].string); } -#line 2589 "gram.c" +#line 2582 "gram.c" break; case 86: /* options: options chrootspec */ -#line 830 "gram.y" +#line 823 "gram.y" { parser_leak_remove(LEAK_PTR, (yyval.options).runchroot); free((yyval.options).runchroot); (yyval.options).runchroot = (yyvsp[0].string); } -#line 2599 "gram.c" +#line 2592 "gram.c" break; case 87: /* options: options notbeforespec */ -#line 835 "gram.y" +#line 828 "gram.y" { (yyval.options).notbefore = parse_gentime((yyvsp[0].string)); parser_leak_remove(LEAK_PTR, (yyvsp[0].string)); @@ -2615,11 +2608,11 @@ yyreduce: YYERROR; } } -#line 2613 "gram.c" +#line 2606 "gram.c" break; case 88: /* options: options notafterspec */ -#line 844 "gram.y" +#line 837 "gram.y" { (yyval.options).notafter = parse_gentime((yyvsp[0].string)); parser_leak_remove(LEAK_PTR, (yyvsp[0].string)); @@ -2629,11 +2622,11 @@ yyreduce: YYERROR; } } -#line 2627 "gram.c" +#line 2620 "gram.c" break; case 89: /* options: options timeoutspec */ -#line 853 "gram.y" +#line 846 "gram.y" { (yyval.options).timeout = parse_timeout((yyvsp[0].string)); parser_leak_remove(LEAK_PTR, (yyvsp[0].string)); @@ -2646,207 +2639,197 @@ yyreduce: YYERROR; } } -#line 2644 "gram.c" +#line 2637 "gram.c" break; case 90: /* options: options rolespec */ -#line 865 "gram.y" +#line 858 "gram.y" { -#ifdef HAVE_SELINUX parser_leak_remove(LEAK_PTR, (yyval.options).role); free((yyval.options).role); (yyval.options).role = (yyvsp[0].string); -#endif } -#line 2656 "gram.c" +#line 2647 "gram.c" break; case 91: /* options: options typespec */ -#line 872 "gram.y" +#line 863 "gram.y" { -#ifdef HAVE_SELINUX parser_leak_remove(LEAK_PTR, (yyval.options).type); free((yyval.options).type); (yyval.options).type = (yyvsp[0].string); -#endif } -#line 2668 "gram.c" +#line 2657 "gram.c" break; case 92: /* options: options apparmor_profilespec */ -#line 879 "gram.y" +#line 868 "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); -#endif } -#line 2680 "gram.c" +#line 2667 "gram.c" break; case 93: /* options: options privsspec */ -#line 886 "gram.y" +#line 873 "gram.y" { -#ifdef HAVE_PRIV_SET parser_leak_remove(LEAK_PTR, (yyval.options).privs); free((yyval.options).privs); (yyval.options).privs = (yyvsp[0].string); -#endif } -#line 2692 "gram.c" +#line 2677 "gram.c" break; case 94: /* options: options limitprivsspec */ -#line 893 "gram.y" +#line 878 "gram.y" { -#ifdef HAVE_PRIV_SET parser_leak_remove(LEAK_PTR, (yyval.options).limitprivs); free((yyval.options).limitprivs); (yyval.options).limitprivs = (yyvsp[0].string); -#endif } -#line 2704 "gram.c" +#line 2687 "gram.c" break; case 95: /* cmndtag: %empty */ -#line 902 "gram.y" +#line 885 "gram.y" { TAGS_INIT(&(yyval.tag)); } -#line 2712 "gram.c" +#line 2695 "gram.c" break; case 96: /* cmndtag: cmndtag NOPASSWD */ -#line 905 "gram.y" +#line 888 "gram.y" { (yyval.tag).nopasswd = true; } -#line 2720 "gram.c" +#line 2703 "gram.c" break; case 97: /* cmndtag: cmndtag PASSWD */ -#line 908 "gram.y" +#line 891 "gram.y" { (yyval.tag).nopasswd = false; } -#line 2728 "gram.c" +#line 2711 "gram.c" break; case 98: /* cmndtag: cmndtag NOEXEC */ -#line 911 "gram.y" +#line 894 "gram.y" { (yyval.tag).noexec = true; } -#line 2736 "gram.c" +#line 2719 "gram.c" break; case 99: /* cmndtag: cmndtag EXEC */ -#line 914 "gram.y" +#line 897 "gram.y" { (yyval.tag).noexec = false; } -#line 2744 "gram.c" +#line 2727 "gram.c" break; case 100: /* cmndtag: cmndtag INTERCEPT */ -#line 917 "gram.y" +#line 900 "gram.y" { (yyval.tag).intercept = true; } -#line 2752 "gram.c" +#line 2735 "gram.c" break; case 101: /* cmndtag: cmndtag NOINTERCEPT */ -#line 920 "gram.y" +#line 903 "gram.y" { (yyval.tag).intercept = false; } -#line 2760 "gram.c" +#line 2743 "gram.c" break; case 102: /* cmndtag: cmndtag SETENV */ -#line 923 "gram.y" +#line 906 "gram.y" { (yyval.tag).setenv = true; } -#line 2768 "gram.c" +#line 2751 "gram.c" break; case 103: /* cmndtag: cmndtag NOSETENV */ -#line 926 "gram.y" +#line 909 "gram.y" { (yyval.tag).setenv = false; } -#line 2776 "gram.c" +#line 2759 "gram.c" break; case 104: /* cmndtag: cmndtag LOG_INPUT */ -#line 929 "gram.y" +#line 912 "gram.y" { (yyval.tag).log_input = true; } -#line 2784 "gram.c" +#line 2767 "gram.c" break; case 105: /* cmndtag: cmndtag NOLOG_INPUT */ -#line 932 "gram.y" +#line 915 "gram.y" { (yyval.tag).log_input = false; } -#line 2792 "gram.c" +#line 2775 "gram.c" break; case 106: /* cmndtag: cmndtag LOG_OUTPUT */ -#line 935 "gram.y" +#line 918 "gram.y" { (yyval.tag).log_output = true; } -#line 2800 "gram.c" +#line 2783 "gram.c" break; case 107: /* cmndtag: cmndtag NOLOG_OUTPUT */ -#line 938 "gram.y" +#line 921 "gram.y" { (yyval.tag).log_output = false; } -#line 2808 "gram.c" +#line 2791 "gram.c" break; case 108: /* cmndtag: cmndtag FOLLOWLNK */ -#line 941 "gram.y" +#line 924 "gram.y" { (yyval.tag).follow = true; } -#line 2816 "gram.c" +#line 2799 "gram.c" break; case 109: /* cmndtag: cmndtag NOFOLLOWLNK */ -#line 944 "gram.y" +#line 927 "gram.y" { (yyval.tag).follow = false; } -#line 2824 "gram.c" +#line 2807 "gram.c" break; case 110: /* cmndtag: cmndtag MAIL */ -#line 947 "gram.y" +#line 930 "gram.y" { (yyval.tag).send_mail = true; } -#line 2832 "gram.c" +#line 2815 "gram.c" break; case 111: /* cmndtag: cmndtag NOMAIL */ -#line 950 "gram.y" +#line 933 "gram.y" { (yyval.tag).send_mail = false; } -#line 2840 "gram.c" +#line 2823 "gram.c" break; case 112: /* cmnd: ALL */ -#line 955 "gram.y" +#line 938 "gram.y" { struct sudo_command *c; @@ -2861,11 +2844,11 @@ yyreduce: } parser_leak_add(LEAK_MEMBER, (yyval.member)); } -#line 2859 "gram.c" +#line 2842 "gram.c" break; case 113: /* cmnd: ALIAS */ -#line 969 "gram.y" +#line 952 "gram.y" { (yyval.member) = new_member((yyvsp[0].string), ALIAS); if ((yyval.member) == NULL) { @@ -2875,11 +2858,11 @@ yyreduce: parser_leak_remove(LEAK_PTR, (yyvsp[0].string)); parser_leak_add(LEAK_MEMBER, (yyval.member)); } -#line 2873 "gram.c" +#line 2856 "gram.c" break; case 114: /* cmnd: COMMAND */ -#line 978 "gram.y" +#line 961 "gram.y" { struct sudo_command *c; @@ -2901,11 +2884,11 @@ yyreduce: parser_leak_remove(LEAK_PTR, (yyvsp[0].command).args); parser_leak_add(LEAK_MEMBER, (yyval.member)); } -#line 2899 "gram.c" +#line 2882 "gram.c" break; case 115: /* cmnd: WORD */ -#line 999 "gram.y" +#line 982 "gram.y" { if (strcmp((yyvsp[0].string), "list") == 0) { struct sudo_command *c; @@ -2927,20 +2910,20 @@ yyreduce: YYERROR; } } -#line 2925 "gram.c" +#line 2908 "gram.c" break; case 118: /* $@1: %empty */ -#line 1026 "gram.y" +#line 1009 "gram.y" { alias_line = this_lineno; alias_column = (int)sudolinebuf.toke_start + 1; } -#line 2934 "gram.c" +#line 2917 "gram.c" break; case 119: /* hostalias: ALIAS $@1 '=' hostlist */ -#line 1029 "gram.y" +#line 1012 "gram.y" { if (!alias_add(&parsed_policy, (yyvsp[-3].string), HOSTALIAS, sudoers, alias_line, alias_column, (yyvsp[0].member))) { @@ -2950,30 +2933,30 @@ yyreduce: parser_leak_remove(LEAK_PTR, (yyvsp[-3].string)); parser_leak_remove(LEAK_MEMBER, (yyvsp[0].member)); } -#line 2948 "gram.c" +#line 2931 "gram.c" break; case 122: /* hostlist: hostlist ',' ophost */ -#line 1042 "gram.y" +#line 1025 "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 2958 "gram.c" +#line 2941 "gram.c" break; case 125: /* $@2: %empty */ -#line 1053 "gram.y" +#line 1036 "gram.y" { alias_line = this_lineno; alias_column = (int)sudolinebuf.toke_start + 1; } -#line 2967 "gram.c" +#line 2950 "gram.c" break; case 126: /* cmndalias: ALIAS $@2 '=' cmndlist */ -#line 1056 "gram.y" +#line 1039 "gram.y" { if (!alias_add(&parsed_policy, (yyvsp[-3].string), CMNDALIAS, sudoers, alias_line, alias_column, (yyvsp[0].member))) { @@ -2983,30 +2966,30 @@ yyreduce: parser_leak_remove(LEAK_PTR, (yyvsp[-3].string)); parser_leak_remove(LEAK_MEMBER, (yyvsp[0].member)); } -#line 2981 "gram.c" +#line 2964 "gram.c" break; case 129: /* cmndlist: cmndlist ',' digcmnd */ -#line 1069 "gram.y" +#line 1052 "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 2991 "gram.c" +#line 2974 "gram.c" break; case 132: /* $@3: %empty */ -#line 1080 "gram.y" +#line 1063 "gram.y" { alias_line = this_lineno; alias_column = (int)sudolinebuf.toke_start + 1; } -#line 3000 "gram.c" +#line 2983 "gram.c" break; case 133: /* runasalias: ALIAS $@3 '=' userlist */ -#line 1083 "gram.y" +#line 1066 "gram.y" { if (!alias_add(&parsed_policy, (yyvsp[-3].string), RUNASALIAS, sudoers, alias_line, alias_column, (yyvsp[0].member))) { @@ -3016,20 +2999,20 @@ yyreduce: parser_leak_remove(LEAK_PTR, (yyvsp[-3].string)); parser_leak_remove(LEAK_MEMBER, (yyvsp[0].member)); } -#line 3014 "gram.c" +#line 2997 "gram.c" break; case 137: /* $@4: %empty */ -#line 1099 "gram.y" +#line 1082 "gram.y" { alias_line = this_lineno; alias_column = (int)sudolinebuf.toke_start + 1; } -#line 3023 "gram.c" +#line 3006 "gram.c" break; case 138: /* useralias: ALIAS $@4 '=' userlist */ -#line 1102 "gram.y" +#line 1085 "gram.y" { if (!alias_add(&parsed_policy, (yyvsp[-3].string), USERALIAS, sudoers, alias_line, alias_column, (yyvsp[0].member))) { @@ -3039,39 +3022,39 @@ yyreduce: parser_leak_remove(LEAK_PTR, (yyvsp[-3].string)); parser_leak_remove(LEAK_MEMBER, (yyvsp[0].member)); } -#line 3037 "gram.c" +#line 3020 "gram.c" break; case 141: /* userlist: userlist ',' opuser */ -#line 1115 "gram.y" +#line 1098 "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 3047 "gram.c" +#line 3030 "gram.c" break; case 142: /* opuser: user */ -#line 1122 "gram.y" +#line 1105 "gram.y" { (yyval.member) = (yyvsp[0].member); (yyval.member)->negated = false; } -#line 3056 "gram.c" +#line 3039 "gram.c" break; case 143: /* opuser: '!' user */ -#line 1126 "gram.y" +#line 1109 "gram.y" { (yyval.member) = (yyvsp[0].member); (yyval.member)->negated = true; } -#line 3065 "gram.c" +#line 3048 "gram.c" break; case 144: /* user: ALIAS */ -#line 1132 "gram.y" +#line 1115 "gram.y" { (yyval.member) = new_member((yyvsp[0].string), ALIAS); if ((yyval.member) == NULL) { @@ -3081,11 +3064,11 @@ yyreduce: parser_leak_remove(LEAK_PTR, (yyvsp[0].string)); parser_leak_add(LEAK_MEMBER, (yyval.member)); } -#line 3079 "gram.c" +#line 3062 "gram.c" break; case 145: /* user: ALL */ -#line 1141 "gram.y" +#line 1124 "gram.y" { (yyval.member) = new_member(NULL, ALL); if ((yyval.member) == NULL) { @@ -3094,11 +3077,11 @@ yyreduce: } parser_leak_add(LEAK_MEMBER, (yyval.member)); } -#line 3092 "gram.c" +#line 3075 "gram.c" break; case 146: /* user: NETGROUP */ -#line 1149 "gram.y" +#line 1132 "gram.y" { (yyval.member) = new_member((yyvsp[0].string), NETGROUP); if ((yyval.member) == NULL) { @@ -3108,11 +3091,11 @@ yyreduce: parser_leak_remove(LEAK_PTR, (yyvsp[0].string)); parser_leak_add(LEAK_MEMBER, (yyval.member)); } -#line 3106 "gram.c" +#line 3089 "gram.c" break; case 147: /* user: USERGROUP */ -#line 1158 "gram.y" +#line 1141 "gram.y" { (yyval.member) = new_member((yyvsp[0].string), USERGROUP); if ((yyval.member) == NULL) { @@ -3122,11 +3105,11 @@ yyreduce: parser_leak_remove(LEAK_PTR, (yyvsp[0].string)); parser_leak_add(LEAK_MEMBER, (yyval.member)); } -#line 3120 "gram.c" +#line 3103 "gram.c" break; case 148: /* user: WORD */ -#line 1167 "gram.y" +#line 1150 "gram.y" { (yyval.member) = new_member((yyvsp[0].string), WORD); if ((yyval.member) == NULL) { @@ -3136,39 +3119,39 @@ yyreduce: parser_leak_remove(LEAK_PTR, (yyvsp[0].string)); parser_leak_add(LEAK_MEMBER, (yyval.member)); } -#line 3134 "gram.c" +#line 3117 "gram.c" break; case 150: /* grouplist: grouplist ',' opgroup */ -#line 1179 "gram.y" +#line 1162 "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 3144 "gram.c" +#line 3127 "gram.c" break; case 151: /* opgroup: group */ -#line 1186 "gram.y" +#line 1169 "gram.y" { (yyval.member) = (yyvsp[0].member); (yyval.member)->negated = false; } -#line 3153 "gram.c" +#line 3136 "gram.c" break; case 152: /* opgroup: '!' group */ -#line 1190 "gram.y" +#line 1173 "gram.y" { (yyval.member) = (yyvsp[0].member); (yyval.member)->negated = true; } -#line 3162 "gram.c" +#line 3145 "gram.c" break; case 153: /* group: ALIAS */ -#line 1196 "gram.y" +#line 1179 "gram.y" { (yyval.member) = new_member((yyvsp[0].string), ALIAS); if ((yyval.member) == NULL) { @@ -3178,11 +3161,11 @@ yyreduce: parser_leak_remove(LEAK_PTR, (yyvsp[0].string)); parser_leak_add(LEAK_MEMBER, (yyval.member)); } -#line 3176 "gram.c" +#line 3159 "gram.c" break; case 154: /* group: ALL */ -#line 1205 "gram.y" +#line 1188 "gram.y" { (yyval.member) = new_member(NULL, ALL); if ((yyval.member) == NULL) { @@ -3191,11 +3174,11 @@ yyreduce: } parser_leak_add(LEAK_MEMBER, (yyval.member)); } -#line 3189 "gram.c" +#line 3172 "gram.c" break; case 155: /* group: WORD */ -#line 1213 "gram.y" +#line 1196 "gram.y" { (yyval.member) = new_member((yyvsp[0].string), WORD); if ((yyval.member) == NULL) { @@ -3205,11 +3188,11 @@ yyreduce: parser_leak_remove(LEAK_PTR, (yyvsp[0].string)); parser_leak_add(LEAK_MEMBER, (yyval.member)); } -#line 3203 "gram.c" +#line 3186 "gram.c" break; -#line 3207 "gram.c" +#line 3190 "gram.c" default: break; } @@ -3402,7 +3385,7 @@ yyreturnlab: return yyresult; } -#line 1223 "gram.y" +#line 1206 "gram.y" /* Like yyerror() but takes a printf-style format string. */ void @@ -3771,7 +3754,6 @@ free_cmndspec(struct cmndspec *cs, struct cmndspec_list *csl) (next == NULL || cs->runchroot != next->runchroot)) { free(cs->runchroot); } -#ifdef HAVE_SELINUX /* Don't free root/type that are in use by other entries. */ if ((prev == NULL || cs->role != prev->role) && (next == NULL || cs->role != next->role)) { @@ -3781,8 +3763,11 @@ free_cmndspec(struct cmndspec *cs, struct cmndspec_list *csl) (next == NULL || cs->type != next->type)) { free(cs->type); } -#endif /* HAVE_SELINUX */ -#ifdef HAVE_PRIV_SET + /* Don't free apparmor_profile that is in use by other entries. */ + if ((prev == NULL || cs->apparmor_profile != prev->apparmor_profile) && + (next == NULL || cs->apparmor_profile != next->apparmor_profile)) { + free(cs->apparmor_profile); + } /* Don't free privs/limitprivs that are in use by other entries. */ if ((prev == NULL || cs->privs != prev->privs) && (next == NULL || cs->privs != next->privs)) { @@ -3792,7 +3777,6 @@ free_cmndspec(struct cmndspec *cs, struct cmndspec_list *csl) (next == NULL || cs->limitprivs != next->limitprivs)) { free(cs->limitprivs); } -#endif /* HAVE_PRIV_SET */ /* Don't free user/group lists that are in use by other entries. */ if (cs->runasuserlist != NULL) { if ((prev == NULL || cs->runasuserlist != prev->runasuserlist) && @@ -3819,12 +3803,9 @@ free_cmndspecs(struct cmndspec_list *csl) { struct member_list *runasuserlist = NULL, *runasgrouplist = NULL; char *runcwd = NULL, *runchroot = NULL; -#ifdef HAVE_SELINUX char *role = NULL, *type = NULL; -#endif /* HAVE_SELINUX */ -#ifdef HAVE_PRIV_SET + char *apparmor_profile = NULL; char *privs = NULL, *limitprivs = NULL; -#endif /* HAVE_PRIV_SET */ struct cmndspec *cs; debug_decl(free_cmndspecs, SUDOERS_DEBUG_PARSER); @@ -3840,7 +3821,6 @@ free_cmndspecs(struct cmndspec_list *csl) runchroot = cs->runchroot; free(cs->runchroot); } -#ifdef HAVE_SELINUX /* Only free the first instance of a role/type. */ if (cs->role != role) { role = cs->role; @@ -3850,8 +3830,11 @@ free_cmndspecs(struct cmndspec_list *csl) type = cs->type; free(cs->type); } -#endif /* HAVE_SELINUX */ -#ifdef HAVE_PRIV_SET + /* Only free the first instance of apparmor_profile. */ + if (cs->apparmor_profile != apparmor_profile) { + apparmor_profile = cs->apparmor_profile; + free(cs->apparmor_profile); + } /* Only free the first instance of privs/limitprivs. */ if (cs->privs != privs) { privs = cs->privs; @@ -3861,7 +3844,6 @@ free_cmndspecs(struct cmndspec_list *csl) limitprivs = cs->limitprivs; free(cs->limitprivs); } -#endif /* HAVE_PRIV_SET */ /* Only free the first instance of runas user/group lists. */ if (cs->runasuserlist && cs->runasuserlist != runasuserlist) { runasuserlist = cs->runasuserlist; @@ -4047,17 +4029,11 @@ init_options(struct command_options *opts) opts->timeout = UNSPEC; opts->runchroot = NULL; opts->runcwd = NULL; -#ifdef HAVE_SELINUX opts->role = NULL; opts->type = NULL; -#endif -#ifdef HAVE_PRIV_SET + opts->apparmor_profile = NULL; opts->privs = NULL; opts->limitprivs = NULL; -#endif -#ifdef HAVE_APPARMOR - opts->apparmor_profile = NULL; -#endif } uid_t diff --git a/plugins/sudoers/gram.y b/plugins/sudoers/gram.y index 85ad24019..5356cce76 100644 --- a/plugins/sudoers/gram.y +++ b/plugins/sudoers/gram.y @@ -2,7 +2,7 @@ /* * SPDX-License-Identifier: ISC * - * Copyright (c) 1996, 1998-2005, 2007-2013, 2014-2023 + * Copyright (c) 1996, 1998-2005, 2007-2013, 2014-2024 * Todd C. Miller * * Permission to use, copy, modify, and distribute this software for any @@ -446,20 +446,19 @@ cmndspeclist : cmndspec $3->runcwd = prev->runcwd; if ($3->runchroot == NULL) $3->runchroot = prev->runchroot; -#ifdef HAVE_SELINUX /* propagate role and type */ if ($3->role == NULL && $3->type == NULL) { $3->role = prev->role; $3->type = prev->type; } -#endif /* HAVE_SELINUX */ -#ifdef HAVE_PRIV_SET + /* propagate apparmor_profile */ + if ($3->apparmor_profile == NULL) + $3->apparmor_profile = prev->apparmor_profile; /* propagate privs & limitprivs */ if ($3->privs == NULL && $3->limitprivs == NULL) { $3->privs = prev->privs; $3->limitprivs = prev->limitprivs; } -#endif /* HAVE_PRIV_SET */ /* propagate command time restrictions */ if ($3->notbefore == UNSPEC) $3->notbefore = prev->notbefore; @@ -532,22 +531,16 @@ cmndspec : runasspec options cmndtag digcmnd { parser_leak_remove(LEAK_RUNAS, $1); free($1); } -#ifdef HAVE_SELINUX cs->role = $2.role; parser_leak_remove(LEAK_PTR, $2.role); cs->type = $2.type; 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); -#endif -#ifdef HAVE_PRIV_SET cs->privs = $2.privs; parser_leak_remove(LEAK_PTR, $2.privs); cs->limitprivs = $2.limitprivs; parser_leak_remove(LEAK_PTR, $2.limitprivs); -#endif cs->notbefore = $2.notbefore; cs->notafter = $2.notafter; cs->timeout = $2.timeout; @@ -863,39 +856,29 @@ options : /* empty */ { } } | options rolespec { -#ifdef HAVE_SELINUX parser_leak_remove(LEAK_PTR, $$.role); free($$.role); $$.role = $2; -#endif } | options typespec { -#ifdef HAVE_SELINUX parser_leak_remove(LEAK_PTR, $$.type); free($$.type); $$.type = $2; -#endif } | options apparmor_profilespec { -#ifdef HAVE_APPARMOR parser_leak_remove(LEAK_PTR, $$.apparmor_profile); free($$.apparmor_profile); $$.apparmor_profile = $2; -#endif } | options privsspec { -#ifdef HAVE_PRIV_SET parser_leak_remove(LEAK_PTR, $$.privs); free($$.privs); $$.privs = $2; -#endif } | options limitprivsspec { -#ifdef HAVE_PRIV_SET parser_leak_remove(LEAK_PTR, $$.limitprivs); free($$.limitprivs); $$.limitprivs = $2; -#endif } ; @@ -1588,7 +1571,6 @@ free_cmndspec(struct cmndspec *cs, struct cmndspec_list *csl) (next == NULL || cs->runchroot != next->runchroot)) { free(cs->runchroot); } -#ifdef HAVE_SELINUX /* Don't free root/type that are in use by other entries. */ if ((prev == NULL || cs->role != prev->role) && (next == NULL || cs->role != next->role)) { @@ -1598,8 +1580,11 @@ free_cmndspec(struct cmndspec *cs, struct cmndspec_list *csl) (next == NULL || cs->type != next->type)) { free(cs->type); } -#endif /* HAVE_SELINUX */ -#ifdef HAVE_PRIV_SET + /* Don't free apparmor_profile that is in use by other entries. */ + if ((prev == NULL || cs->apparmor_profile != prev->apparmor_profile) && + (next == NULL || cs->apparmor_profile != next->apparmor_profile)) { + free(cs->apparmor_profile); + } /* Don't free privs/limitprivs that are in use by other entries. */ if ((prev == NULL || cs->privs != prev->privs) && (next == NULL || cs->privs != next->privs)) { @@ -1609,7 +1594,6 @@ free_cmndspec(struct cmndspec *cs, struct cmndspec_list *csl) (next == NULL || cs->limitprivs != next->limitprivs)) { free(cs->limitprivs); } -#endif /* HAVE_PRIV_SET */ /* Don't free user/group lists that are in use by other entries. */ if (cs->runasuserlist != NULL) { if ((prev == NULL || cs->runasuserlist != prev->runasuserlist) && @@ -1636,12 +1620,9 @@ free_cmndspecs(struct cmndspec_list *csl) { struct member_list *runasuserlist = NULL, *runasgrouplist = NULL; char *runcwd = NULL, *runchroot = NULL; -#ifdef HAVE_SELINUX char *role = NULL, *type = NULL; -#endif /* HAVE_SELINUX */ -#ifdef HAVE_PRIV_SET + char *apparmor_profile = NULL; char *privs = NULL, *limitprivs = NULL; -#endif /* HAVE_PRIV_SET */ struct cmndspec *cs; debug_decl(free_cmndspecs, SUDOERS_DEBUG_PARSER); @@ -1657,7 +1638,6 @@ free_cmndspecs(struct cmndspec_list *csl) runchroot = cs->runchroot; free(cs->runchroot); } -#ifdef HAVE_SELINUX /* Only free the first instance of a role/type. */ if (cs->role != role) { role = cs->role; @@ -1667,8 +1647,11 @@ free_cmndspecs(struct cmndspec_list *csl) type = cs->type; free(cs->type); } -#endif /* HAVE_SELINUX */ -#ifdef HAVE_PRIV_SET + /* Only free the first instance of apparmor_profile. */ + if (cs->apparmor_profile != apparmor_profile) { + apparmor_profile = cs->apparmor_profile; + free(cs->apparmor_profile); + } /* Only free the first instance of privs/limitprivs. */ if (cs->privs != privs) { privs = cs->privs; @@ -1678,7 +1661,6 @@ free_cmndspecs(struct cmndspec_list *csl) limitprivs = cs->limitprivs; free(cs->limitprivs); } -#endif /* HAVE_PRIV_SET */ /* Only free the first instance of runas user/group lists. */ if (cs->runasuserlist && cs->runasuserlist != runasuserlist) { runasuserlist = cs->runasuserlist; @@ -1864,17 +1846,11 @@ init_options(struct command_options *opts) opts->timeout = UNSPEC; opts->runchroot = NULL; opts->runcwd = NULL; -#ifdef HAVE_SELINUX opts->role = NULL; opts->type = NULL; -#endif -#ifdef HAVE_PRIV_SET + opts->apparmor_profile = NULL; opts->privs = NULL; opts->limitprivs = NULL; -#endif -#ifdef HAVE_APPARMOR - opts->apparmor_profile = NULL; -#endif } uid_t diff --git a/plugins/sudoers/ins_2001.h b/plugins/sudoers/ins_2001.h index d2ce98943..19db27d84 100644 --- a/plugins/sudoers/ins_2001.h +++ b/plugins/sudoers/ins_2001.h @@ -23,13 +23,13 @@ * HAL insults (paraphrased) from 2001. */ - "Just what do you think you're doing Dave?", - "It can only be attributed to human error.", - "That's something I cannot allow to happen.", - "My mind is going. I can feel it.", - "Sorry about this, I know it's a bit silly.", - "Take a stress pill and think things over.", - "This mission is too important for me to allow you to jeopardize it.", - "I feel much better now.", + N_("Just what do you think you're doing Dave?"), + N_("It can only be attributed to human error."), + N_("That's something I cannot allow to happen."), + N_("My mind is going. I can feel it."), + N_("Sorry about this, I know it's a bit silly."), + N_("Take a stress pill and think things over."), + N_("This mission is too important for me to allow you to jeopardize it."), + N_("I feel much better now."), #endif /* SUDOERS_INS_2001_H */ diff --git a/plugins/sudoers/ins_classic.h b/plugins/sudoers/ins_classic.h index 08d54d7f9..b032cf3df 100644 --- a/plugins/sudoers/ins_classic.h +++ b/plugins/sudoers/ins_classic.h @@ -23,17 +23,13 @@ * Insults from the original sudo(8). */ - "Wrong! You cheating scum!", -#ifndef OFFENSIVE_INSULTS - "And you call yourself a Rocket Scientist!", -#else - "No soap, honkie-lips.", -#endif - "Where did you learn to type?", - "Are you on drugs?", - "My pet ferret can type better than you!", - "You type like i drive.", - "Do you think like you type?", - "Your mind just hasn't been the same since the electro-shock, has it?", + N_("Wrong! You cheating scum!"), + N_("And you call yourself a Rocket Scientist!"), + N_("Where did you learn to type?"), + N_("Are you on drugs?"), + N_("My pet ferret can type better than you!"), + N_("You type like i drive."), + N_("Do you think like you type?"), + N_("Your mind just hasn't been the same since the electro-shock, has it?"), #endif /* SUDOERS_INS_CLASSIC_H */ diff --git a/plugins/sudoers/ins_csops.h b/plugins/sudoers/ins_csops.h index fe66cfa0c..6eda81387 100644 --- a/plugins/sudoers/ins_csops.h +++ b/plugins/sudoers/ins_csops.h @@ -24,18 +24,14 @@ * CSOps insults (may be site dependent). */ - "Maybe if you used more than just two fingers...", - "BOB says: You seem to have forgotten your passwd, enter another!", - "stty: unknown mode: doofus", - "I can't hear you -- I'm using the scrambler.", - "The more you drive -- the dumber you get.", -#ifdef PC_INSULTS - "Listen, broccoli brains, I don't have time to listen to this trash.", -#else - "Listen, burrito brains, I don't have time to listen to this trash.", -#endif - "I've seen penguins that can type better than that.", - "Have you considered trying to match wits with a rutabaga?", - "You speak an infinite deal of nothing", + N_("Maybe if you used more than just two fingers..."), + N_("BOB says: You seem to have forgotten your passwd, enter another!"), + N_("stty: unknown mode: doofus"), + N_("I can't hear you -- I'm using the scrambler."), + N_("The more you drive -- the dumber you get."), + N_("Listen, broccoli brains, I don't have time to listen to this trash."), + N_("I've seen penguins that can type better than that."), + N_("Have you considered trying to match wits with a rutabaga?"), + N_("You speak an infinite deal of nothing"), #endif /* SUDOERS_INS_CSOPS_H */ diff --git a/plugins/sudoers/ins_goons.h b/plugins/sudoers/ins_goons.h index 34df45bfd..8af05f8cb 100644 --- a/plugins/sudoers/ins_goons.h +++ b/plugins/sudoers/ins_goons.h @@ -23,28 +23,28 @@ * Insults from the "Goon Show." */ - "You silly, twisted boy you.", - "He has fallen in the water!", - "We'll all be murdered in our beds!", - "You can't come in. Our tiger has got flu", - "I don't wish to know that.", - "What, what, what, what, what, what, what, what, what, what?", - "You can't get the wood, you know.", - "You'll starve!", - "... and it used to be so popular...", - "Pauses for audience applause, not a sausage", - "Hold it up to the light --- not a brain in sight!", - "Have a gorilla...", - "There must be cure for it!", - "There's a lot of it about, you know.", - "You do that again and see what happens...", - "Ying Tong Iddle I Po", - "Harm can come to a young lad like that!", - "And with that remarks folks, the case of the Crown vs yourself was proven.", - "Speak English you fool --- there are no subtitles in this scene.", - "You gotta go owwwww!", - "I have been called worse.", - "It's only your word against mine.", - "I think ... err ... I think ... I think I'll go home", + N_("You silly, twisted boy you."), + N_("He has fallen in the water!"), + N_("We'll all be murdered in our beds!"), + N_("You can't come in. Our tiger has got flu"), + N_("I don't wish to know that."), + N_("What, what, what, what, what, what, what, what, what, what?"), + N_("You can't get the wood, you know."), + N_("You'll starve!"), + N_("... and it used to be so popular..."), + N_("Pauses for audience applause, not a sausage"), + N_("Hold it up to the light --- not a brain in sight!"), + N_("Have a gorilla..."), + N_("There must be cure for it!"), + N_("There's a lot of it about, you know."), + N_("You do that again and see what happens..."), + N_("Ying Tong Iddle I Po"), + N_("Harm can come to a young lad like that!"), + N_("And with that remarks folks, the case of the Crown vs yourself was proven."), + N_("Speak English you fool --- there are no subtitles in this scene."), + N_("You gotta go owwwww!"), + N_("I have been called worse."), + N_("It's only your word against mine."), + N_("I think ... err ... I think ... I think I'll go home"), #endif /* SUDOERS_INS_GOONS_H */ diff --git a/plugins/sudoers/ins_python.h b/plugins/sudoers/ins_python.h index 16088f365..53e3ea9f8 100644 --- a/plugins/sudoers/ins_python.h +++ b/plugins/sudoers/ins_python.h @@ -23,17 +23,17 @@ * Insults from "Monty Python's Flying Circus" and family. */ - "That is no basis for supreme executive power!", - "You empty-headed animal food trough wiper!", - "I fart in your general direction!", - "Your mother was a hamster and your father smelt of elderberries!", - "You must cut down the mightiest tree in the forest... with... a herring!", - "I wave my private parts at your aunties!", - "He's not the Messiah, he's a very naughty boy!", - "I wish to make a complaint.", - "When you're walking home tonight, and some homicidal maniac comes after you with a bunch of loganberries, don't come crying to me!", - "This man, he doesn't know when he's beaten! He doesn't know when he's winning, either. He has no... sort of... sensory apparatus...", - "There's nothing wrong with you that an expensive operation can't prolong.", - "I'm very sorry, but I'm not allowed to argue unless you've paid.", + N_("That is no basis for supreme executive power!"), + N_("You empty-headed animal food trough wiper!"), + N_("I fart in your general direction!"), + N_("Your mother was a hamster and your father smelt of elderberries!"), + N_("You must cut down the mightiest tree in the forest... with... a herring!"), + N_("I wave my private parts at your aunties!"), + N_("He's not the Messiah, he's a very naughty boy!"), + N_("I wish to make a complaint."), + N_("When you're walking home tonight, and some homicidal maniac comes after you with a bunch of loganberries, don't come crying to me!"), + N_("This man, he doesn't know when he's beaten! He doesn't know when he's winning, either. He has no... sort of... sensory apparatus..."), + N_("There's nothing wrong with you that an expensive operation can't prolong."), + N_("I'm very sorry, but I'm not allowed to argue unless you've paid."), #endif /* SUDOERS_INS_PYTHON_H */ diff --git a/plugins/sudoers/iolog.c b/plugins/sudoers/iolog.c index 51afd3434..fa9d89640 100644 --- a/plugins/sudoers/iolog.c +++ b/plugins/sudoers/iolog.c @@ -57,7 +57,7 @@ static struct iolog_file iolog_files[] = { }; static struct sudoers_io_operations { - int (*open)(struct timespec *now); + int (*open)(struct timespec *start_time); void (*close)(int exit_status, int error, const char **errstr); int (*log)(int event, const char *buf, unsigned int len, struct timespec *delay, const char **errstr); @@ -314,7 +314,7 @@ iolog_deserialize_info(struct log_details *details, char * const user_info[], evlog->columns = 80; evlog->runuid = ROOT_UID; evlog->rungid = 0; - sudo_gettime_real(&evlog->submit_time); + sudo_gettime_real(&evlog->event_time); for (cur = user_info; *cur != NULL; cur++) { switch (**cur) { @@ -685,7 +685,7 @@ oom: } static int -sudoers_io_open_local(struct timespec *now) +sudoers_io_open_local(struct timespec *start_time) { const struct sudoers_context *ctx = sudoers_get_context(); struct eventlog *evlog = iolog_details.evlog; @@ -756,13 +756,13 @@ done: #ifdef SUDOERS_LOG_CLIENT static int -sudoers_io_open_remote(struct timespec *now) +sudoers_io_open_remote(struct timespec *start_time) { debug_decl(sudoers_io_open_remote, SUDOERS_DEBUG_PLUGIN); /* Open connection to log server, send hello and accept messages. */ - client_closure = log_server_open(&iolog_details, now, true, SEND_ACCEPT, - NULL); + client_closure = log_server_open(&iolog_details, start_time, true, + SEND_ACCEPT, NULL); if (client_closure != NULL) debug_return_int(1); diff --git a/plugins/sudoers/iolog_path_escapes.c b/plugins/sudoers/iolog_path_escapes.c index d234c5532..bbc48ad04 100644 --- a/plugins/sudoers/iolog_path_escapes.c +++ b/plugins/sudoers/iolog_path_escapes.c @@ -37,7 +37,7 @@ * Like strlcpy(3) but replaces '/' with '_'. */ static size_t -strlcpy_no_slash(char *dst, const char *src, size_t size) +strlcpy_no_slash(char * restrict dst, const char * restrict src, size_t size) { size_t len = 0; char ch; @@ -60,7 +60,7 @@ strlcpy_no_slash(char *dst, const char *src, size_t size) } static size_t -fill_seq(char *str, size_t strsize, void *v) +fill_seq(char * restrict str, size_t strsize, void * restrict v) { #ifdef SUDOERS_NO_SEQ debug_decl(fill_seq, SUDOERS_DEBUG_UTIL); @@ -86,7 +86,7 @@ fill_seq(char *str, size_t strsize, void *v) } static size_t -fill_user(char *str, size_t strsize, void *v) +fill_user(char * restrict str, size_t strsize, void * restrict v) { struct sudoers_context *ctx = v; debug_decl(fill_user, SUDOERS_DEBUG_UTIL); @@ -94,7 +94,7 @@ fill_user(char *str, size_t strsize, void *v) } static size_t -fill_group(char *str, size_t strsize, void *v) +fill_group(char * restrict str, size_t strsize, void * restrict v) { struct sudoers_context *ctx = v; struct group *grp; @@ -111,7 +111,7 @@ fill_group(char *str, size_t strsize, void *v) } static size_t -fill_runas_user(char *str, size_t strsize, void *v) +fill_runas_user(char * restrict str, size_t strsize, void * restrict v) { struct sudoers_context *ctx = v; debug_decl(fill_runas_user, SUDOERS_DEBUG_UTIL); @@ -119,7 +119,7 @@ fill_runas_user(char *str, size_t strsize, void *v) } static size_t -fill_runas_group(char *str, size_t strsize, void *v) +fill_runas_group(char * restrict str, size_t strsize, void * restrict v) { struct sudoers_context *ctx = v; struct group *grp; @@ -141,7 +141,7 @@ fill_runas_group(char *str, size_t strsize, void *v) } static size_t -fill_hostname(char *str, size_t strsize, void *v) +fill_hostname(char * restrict str, size_t strsize, void * restrict v) { struct sudoers_context *ctx = v; debug_decl(fill_hostname, SUDOERS_DEBUG_UTIL); @@ -149,7 +149,7 @@ fill_hostname(char *str, size_t strsize, void *v) } static size_t -fill_command(char *str, size_t strsize, void *v) +fill_command(char * restrict str, size_t strsize, void * restrict v) { struct sudoers_context *ctx = v; debug_decl(fill_command, SUDOERS_DEBUG_UTIL); diff --git a/plugins/sudoers/ldap.c b/plugins/sudoers/ldap.c index 08ed3ec21..b4df111ae 100644 --- a/plugins/sudoers/ldap.c +++ b/plugins/sudoers/ldap.c @@ -2015,7 +2015,7 @@ sudo_ldap_result_from_search(LDAP *ldap, LDAPMessage *searchresult) last = sudo_ldap_result_add_search(result, ldap, searchresult); /* - * Now add each entry in the search result to the array of of entries + * Now add each entry in the search result to the array of entries * in the ldap_result object. */ LDAP_FOREACH(entry, last->ldap, last->searchresult) { diff --git a/plugins/sudoers/ldap_util.c b/plugins/sudoers/ldap_util.c index 3cfd3b036..8eaed2f2d 100644 --- a/plugins/sudoers/ldap_util.c +++ b/plugins/sudoers/ldap_util.c @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: ISC * - * Copyright (c) 2013, 2016, 2018-2018 Todd C. Miller + * Copyright (c) 2013, 2016, 2018-2024 Todd C. Miller * * This code is derived from software contributed by Aaron Spangler. * @@ -439,14 +439,11 @@ sudo_ldap_role_to_priv(const char *cn, void *hosts, void *runasusers, cmndspec->timeout = prev_cmndspec->timeout; cmndspec->runchroot = prev_cmndspec->runchroot; cmndspec->runcwd = prev_cmndspec->runcwd; -#ifdef HAVE_SELINUX cmndspec->role = prev_cmndspec->role; cmndspec->type = prev_cmndspec->type; -#endif /* HAVE_SELINUX */ -#ifdef HAVE_PRIV_SET + cmndspec->apparmor_profile = prev_cmndspec->apparmor_profile; cmndspec->privs = prev_cmndspec->privs; cmndspec->limitprivs = prev_cmndspec->limitprivs; -#endif /* HAVE_PRIV_SET */ cmndspec->tags = prev_cmndspec->tags; if (cmndspec->tags.setenv == IMPLIED) cmndspec->tags.setenv = UNSPEC; @@ -516,7 +513,6 @@ sudo_ldap_role_to_priv(const char *cn, void *hosts, void *runasusers, } if ((cmndspec->runcwd = strdup(val)) == NULL) break; -#ifdef HAVE_SELINUX } else if (strcmp(var, "role") == 0 && val != NULL) { if (cmndspec->role != NULL) { free(cmndspec->role); @@ -533,8 +529,14 @@ sudo_ldap_role_to_priv(const char *cn, void *hosts, void *runasusers, } if ((cmndspec->type = strdup(val)) == NULL) break; -#endif /* HAVE_SELINUX */ -#ifdef HAVE_PRIV_SET + } else if (strcmp(var, "apparmor_profile") == 0 && val != NULL) { + if (cmndspec->apparmor_profile != NULL) { + free(cmndspec->apparmor_profile); + sudo_warnx(U_("duplicate sudoOption: %s%s%s"), var, + op == '+' ? "+=" : op == '-' ? "-=" : "=", val); + } + if ((cmndspec->apparmor_profile = strdup(val)) == NULL) + break; } else if (strcmp(var, "privs") == 0 && val != NULL) { if (cmndspec->privs != NULL) { free(cmndspec->privs); @@ -551,7 +553,6 @@ sudo_ldap_role_to_priv(const char *cn, void *hosts, void *runasusers, } if ((cmndspec->limitprivs = strdup(val)) == NULL) break; -#endif /* HAVE_PRIV_SET */ } else if (store_options) { if (!append_default(var, val, op, source, &priv->defaults)) { diff --git a/plugins/sudoers/log_client.c b/plugins/sudoers/log_client.c index 94f3b0bb4..cdb6cfb5f 100644 --- a/plugins/sudoers/log_client.c +++ b/plugins/sudoers/log_client.c @@ -149,15 +149,24 @@ verify_peer_identity(int preverify_ok, X509_STORE_CTX *ctx) X509 *peer_cert; debug_decl(verify_peer_identity, SUDOERS_DEBUG_UTIL); + current_cert = X509_STORE_CTX_get_current_cert(ctx); + /* if pre-verification of the cert failed, just propagate that result back */ if (preverify_ok != 1) { + int err = X509_STORE_CTX_get_error(ctx); + char current_cert_name[256] = ""; + if (current_cert != NULL) + X509_NAME_oneline(X509_get_subject_name(current_cert), current_cert_name, sizeof(current_cert_name)); + + sudo_debug_printf(SUDO_DEBUG_INFO|SUDO_DEBUG_LINENO, + "TLS verification failed for cert '%s': '%d:%s'", current_cert_name, + err, X509_verify_cert_error_string(err)); debug_return_int(0); } /* since this callback is called for each cert in the chain, * check that current cert is the peer's certificate */ - current_cert = X509_STORE_CTX_get_current_cert(ctx); peer_cert = X509_STORE_CTX_get0_cert(ctx); if (current_cert != peer_cert) { @@ -1057,7 +1066,7 @@ done: * Appends the wire format message to the closure's write queue. * Returns true on success, false on failure. */ -static bool +bool fmt_alert_message(struct client_closure *closure, struct eventlog *evlog) { ClientMessage client_msg = CLIENT_MESSAGE__INIT; @@ -1962,7 +1971,7 @@ bad: * Allocate and initialize a new client closure */ static struct client_closure * -client_closure_alloc(struct log_details *details, struct timespec *now, +client_closure_alloc(struct log_details *details, struct timespec *start_time, bool log_io, enum client_state initial_state, const char *reason) { struct client_closure *closure; @@ -1983,8 +1992,10 @@ client_closure_alloc(struct log_details *details, struct timespec *now, closure->state = RECV_HELLO; closure->initial_state = initial_state; - closure->start_time.tv_sec = now->tv_sec; - closure->start_time.tv_nsec = now->tv_nsec; + if (start_time != NULL) { + closure->start_time.tv_sec = start_time->tv_sec; + closure->start_time.tv_nsec = start_time->tv_nsec; + } TAILQ_INIT(&closure->write_bufs); TAILQ_INIT(&closure->free_bufs); @@ -2010,14 +2021,14 @@ oom: } struct client_closure * -log_server_open(struct log_details *details, struct timespec *now, +log_server_open(struct log_details *details, struct timespec *start_time, bool log_io, enum client_state initial_state, const char *reason) { struct client_closure *closure; static bool warned = false; debug_decl(log_server_open, SUDOERS_DEBUG_UTIL); - closure = client_closure_alloc(details, now, log_io, initial_state, + closure = client_closure_alloc(details, start_time, log_io, initial_state, reason); if (closure == NULL) goto bad; diff --git a/plugins/sudoers/log_client.h b/plugins/sudoers/log_client.h index 78508ef87..226521310 100644 --- a/plugins/sudoers/log_client.h +++ b/plugins/sudoers/log_client.h @@ -107,11 +107,12 @@ struct client_closure { }; /* iolog_client.c */ -struct client_closure *log_server_open(struct log_details *details, struct timespec *now, bool log_io, enum client_state initial_state, const char *reason); +struct client_closure *log_server_open(struct log_details *details, struct timespec *start_time, bool log_io, enum client_state initial_state, const char *reason); bool log_server_close(struct client_closure *closure, int exit_status, int error); bool fmt_client_message(struct client_closure *closure, ClientMessage *msg); bool fmt_accept_message(struct client_closure *closure, struct eventlog *evlog); bool fmt_reject_message(struct client_closure *closure, struct eventlog *evlog); +bool fmt_alert_message(struct client_closure *closure, struct eventlog *evlog); bool fmt_exit_message(struct client_closure *closure, int exit_status, int error); bool fmt_io_buf(struct client_closure *closure, int type, const char *buf, unsigned int len, struct timespec *delay); bool fmt_suspend(struct client_closure *closure, const char *signame, struct timespec *delay); diff --git a/plugins/sudoers/logging.c b/plugins/sudoers/logging.c index 5b0c7a6ff..e6d9b7afe 100644 --- a/plugins/sudoers/logging.c +++ b/plugins/sudoers/logging.c @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: ISC * - * Copyright (c) 1994-1996, 1998-2023 Todd C. Miller + * Copyright (c) 1994-1996, 1998-2024 Todd C. Miller * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -157,8 +157,8 @@ log_server_reject(const struct sudoers_context *ctx, struct eventlog *evlog, debug_return_bool(false); /* Open connection to log server, send hello and reject messages. */ - client_closure = log_server_open(&details, &evlog->submit_time, - false, SEND_REJECT, message); + client_closure = log_server_open(&details, NULL, false, + SEND_REJECT, message); if (client_closure != NULL) { client_closure_free(client_closure); client_closure = NULL; @@ -175,7 +175,7 @@ done: bool log_server_alert(const struct sudoers_context *ctx, struct eventlog *evlog, - struct timespec *now, const char *message, const char *errstr) + const char *message, const char *errstr) { struct log_details details; char *emessage = NULL; @@ -200,7 +200,7 @@ log_server_alert(const struct sudoers_context *ctx, struct eventlog *evlog, } /* Use existing client closure. */ - if (fmt_reject_message(client_closure, evlog)) { + if (fmt_alert_message(client_closure, evlog)) { if (client_closure->write_ev->add(client_closure->write_ev, &client_closure->log_details->server_timeout) == -1) { sudo_warn("%s", U_("unable to add event to queue")); @@ -213,7 +213,7 @@ log_server_alert(const struct sudoers_context *ctx, struct eventlog *evlog, goto done; /* Open connection to log server, send hello and alert messages. */ - client_closure = log_server_open(&details, now, false, + client_closure = log_server_open(&details, NULL, false, SEND_ALERT, emessage ? emessage : message); if (client_closure != NULL) { client_closure_free(client_closure); @@ -239,7 +239,7 @@ log_server_reject(const struct sudoers_context *ctx, struct eventlog *evlog, bool log_server_alert(const struct sudoers_context *ctx, struct eventlog *evlog, - struct timespec *now, const char *message, const char *errstr) + const char *message, const char *errstr) { return true; } @@ -349,6 +349,9 @@ log_denial(const struct sudoers_context *ctx, unsigned int status, ctx->runas.gr ? ":" : "", ctx->runas.gr ? ctx->runas.gr->gr_name : "", ctx->user.host); + if (def_cmddenial_message != NULL) { + sudo_printf(SUDO_CONV_ERROR_MSG, "%s\n", def_cmddenial_message); + } } if (mailit) { sudo_printf(SUDO_CONV_ERROR_MSG, "%s", @@ -504,9 +507,14 @@ log_auth_failure(const struct sudoers_context *ctx, unsigned int status, /* Do auditing first (audit_failure() handles the locale itself). */ audit_failure(ctx, ctx->runas.argv, "%s", N_("authentication failure")); - /* If sudoers denied the command we'll log that separately. */ - if (!ISSET(status, FLAG_BAD_PASSWORD|FLAG_NO_USER_INPUT)) + if (ISSET(status, FLAG_NO_USER_INPUT)) { + /* For "sudo -n", only log the entry if an actual command was run. */ + if (ISSET(ctx->mode, MODE_LIST|MODE_VALIDATE)) + logit = false; + } else if (!ISSET(status, FLAG_BAD_PASSWORD)) { + /* Authenticated OK, sudoers denials are logged separately. */ logit = false; + } /* * Do we need to send mail? @@ -615,12 +623,12 @@ log_exit_status(const struct sudoers_context *ctx, int status) debug_decl(log_exit_status, SUDOERS_DEBUG_LOGGING); if (def_log_exit_status || def_mail_always) { - if (sudo_gettime_real(&run_time) == -1) { + if (sudo_gettime_awake(&run_time) == -1) { sudo_warn("%s", U_("unable to get time of day")); ret = false; goto done; } - sudo_timespecsub(&run_time, &ctx->submit_time, &run_time); + sudo_timespecsub(&run_time, &ctx->start_time, &run_time); if (WIFEXITED(status)) { exit_value = WEXITSTATUS(status); @@ -688,7 +696,6 @@ vlog_warning(const struct sudoers_context *ctx, unsigned int flags, int errnum, const char * restrict fmt, va_list ap) { struct eventlog evlog; - struct timespec now; const char *errstr = NULL; char *message; bool ret = true; @@ -733,10 +740,6 @@ vlog_warning(const struct sudoers_context *ctx, unsigned int flags, } if (ISSET(flags, SLOG_SEND_MAIL) || !ISSET(flags, SLOG_NO_LOG)) { - if (sudo_gettime_real(&now) == -1) { - sudo_warn("%s", U_("unable to get time of day")); - goto done; - } if (ISSET(flags, SLOG_RAW_MSG)) SET(evl_flags, EVLOG_RAW); if (ISSET(flags, SLOG_SEND_MAIL)) { @@ -746,9 +749,9 @@ vlog_warning(const struct sudoers_context *ctx, unsigned int flags, } sudoers_to_eventlog(ctx, &evlog, ctx->runas.cmnd, ctx->runas.argv, NULL, ctx->uuid_str); - if (!eventlog_alert(&evlog, evl_flags, &now, message, errstr)) + if (!eventlog_alert(&evlog, evl_flags, &evlog.event_time, message, errstr)) ret = false; - if (!log_server_alert(ctx, &evlog, &now, message, errstr)) + if (!log_server_alert(ctx, &evlog, message, errstr)) ret = false; } @@ -1010,7 +1013,9 @@ sudoers_to_eventlog(const struct sudoers_context *ctx, struct eventlog *evlog, evlog->env_add = (char **)ctx->user.env_add; evlog->runenv = (char **)runenv; evlog->submitenv = (char **)ctx->user.envp; - evlog->submit_time = ctx->submit_time; + if (sudo_gettime_real(&evlog->event_time) == -1) { + sudo_warn("%s", U_("unable to get time of day")); + } evlog->lines = ctx->user.lines; evlog->columns = ctx->user.cols; if (ctx->runas.pw != NULL) { @@ -1032,11 +1037,11 @@ sudoers_to_eventlog(const struct sudoers_context *ctx, struct eventlog *evlog, strlcpy(evlog->uuid_str, uuid_str, sizeof(evlog->uuid_str)); } if (ISSET(ctx->mode, MODE_POLICY_INTERCEPTED)) { - struct timespec now; - if (sudo_gettime_real(&now) == -1) { + if (sudo_gettime_awake(&evlog->iolog_offset) == -1) { sudo_warn("%s", U_("unable to get time of day")); } else { - sudo_timespecsub(&now, &ctx->submit_time, &evlog->iolog_offset); + sudo_timespecsub(&evlog->iolog_offset, &ctx->start_time, + &evlog->iolog_offset); } } @@ -1059,7 +1064,7 @@ sudoers_log_open(int type, const char *log_file) break; case EVLOG_FILE: /* Open log file as root, mode 0600 (cannot append to JSON). */ - if (def_log_format == json) { + if (def_log_format == json || def_log_format == json_pretty) { flags = O_RDWR|O_CREAT; omode = "w"; } else { @@ -1135,8 +1140,8 @@ init_eventlog_config(void) if (def_logfile) logtype |= EVLOG_FILE; + sudoers_set_log_format(def_log_format); eventlog_set_type(logtype); - eventlog_set_format(def_log_format == sudo ? EVLOG_SUDO : EVLOG_JSON); eventlog_set_syslog_acceptpri(def_syslog_goodpri); eventlog_set_syslog_rejectpri(def_syslog_badpri); eventlog_set_syslog_alertpri(def_syslog_badpri); diff --git a/plugins/sudoers/logging.h b/plugins/sudoers/logging.h index 647fd282d..b26947125 100644 --- a/plugins/sudoers/logging.h +++ b/plugins/sudoers/logging.h @@ -78,7 +78,7 @@ bool log_exit_status(const struct sudoers_context *ctx, int exit_status); bool log_auth_failure(const struct sudoers_context *ctx, unsigned int status, unsigned int tries); bool log_denial(const struct sudoers_context *ctx, unsigned int status, bool inform_user); bool log_failure(const struct sudoers_context *ctx, unsigned int status, int flags); -bool log_server_alert(const struct sudoers_context *ctx, struct eventlog *evlog, struct timespec *now, const char *message, const char *errstr); +bool log_server_alert(const struct sudoers_context *ctx, struct eventlog *evlog, const char *message, const char *errstr); bool log_server_reject(const struct sudoers_context *ctx, struct eventlog *evlog, const char *message); bool log_warning(const struct sudoers_context *ctx, unsigned int flags, const char * restrict fmt, ...) sudo_printflike(3, 4); bool log_warningx(const struct sudoers_context *ctx, unsigned int flags, const char * restrict fmt, ...) sudo_printflike(3, 4); diff --git a/plugins/sudoers/lookup.c b/plugins/sudoers/lookup.c index ffcb23c35..ea080b93c 100644 --- a/plugins/sudoers/lookup.c +++ b/plugins/sudoers/lookup.c @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: ISC * - * Copyright (c) 2004-2005, 2007-2023 Todd C. Miller + * Copyright (c) 2004-2005, 2007-2024 Todd C. Miller * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -152,7 +152,7 @@ sudoers_lookup_pseudo(struct sudo_nss_list *snl, struct sudoers_context *ctx, runas_match = ALLOW; } else if (date_match != DENY) { /* - * To list another user's prilileges, the runas + * To list another user's privileges, the runas * user must match the list user or root. */ runas_match = runas_matches_pw(nss->parse_tree, cs, @@ -314,7 +314,7 @@ sudoers_lookup_check(struct sudo_nss *nss, struct sudoers_context *ctx, /* * Apply cmndspec-specific settings including SELinux role/type, - * Solaris privs, and command tags. + * AppArmor profile, Solaris privs, and command tags. */ static bool apply_cmndspec(struct sudoers_context *ctx, struct cmndspec *cs) @@ -322,7 +322,6 @@ apply_cmndspec(struct sudoers_context *ctx, struct cmndspec *cs) debug_decl(apply_cmndspec, SUDOERS_DEBUG_PARSER); if (cs != NULL) { -#ifdef HAVE_SELINUX /* Set role and type if not specified on command line. */ if (ctx->runas.role == NULL) { if (cs->role != NULL) { @@ -358,10 +357,9 @@ apply_cmndspec(struct sudoers_context *ctx, struct cmndspec *cs) "ctx->runas.type -> %s", ctx->runas.type); } } -#endif /* HAVE_SELINUX */ -#ifdef HAVE_APPARMOR /* Set AppArmor profile, if specified */ if (cs->apparmor_profile != NULL) { + free(ctx->runas.apparmor_profile); ctx->runas.apparmor_profile = strdup(cs->apparmor_profile); if (ctx->runas.apparmor_profile == NULL) { sudo_warnx(U_("%s: %s"), __func__, @@ -369,6 +367,7 @@ apply_cmndspec(struct sudoers_context *ctx, struct cmndspec *cs) debug_return_bool(false); } } else { + free(ctx->runas.apparmor_profile); ctx->runas.apparmor_profile = def_apparmor_profile; def_apparmor_profile = NULL; } @@ -376,44 +375,41 @@ apply_cmndspec(struct sudoers_context *ctx, struct cmndspec *cs) sudo_debug_printf(SUDO_DEBUG_INFO|SUDO_DEBUG_LINENO, "ctx->runas.apparmor_profile -> %s", ctx->runas.apparmor_profile); } -#endif -#ifdef HAVE_PRIV_SET /* Set Solaris privilege sets */ - if (ctx->runas.privs == NULL) { - if (cs->privs != NULL) { - ctx->runas.privs = strdup(cs->privs); - if (ctx->runas.privs == NULL) { - sudo_warnx(U_("%s: %s"), __func__, - U_("unable to allocate memory")); - debug_return_bool(false); - } - } else { - ctx->runas.privs = def_privs; - def_privs = NULL; - } - if (ctx->runas.privs != NULL) { - sudo_debug_printf(SUDO_DEBUG_INFO|SUDO_DEBUG_LINENO, - "ctx->runas.privs -> %s", ctx->runas.privs); + if (cs->privs != NULL) { + free(ctx->runas.privs); + ctx->runas.privs = strdup(cs->privs); + if (ctx->runas.privs == NULL) { + sudo_warnx(U_("%s: %s"), __func__, + U_("unable to allocate memory")); + debug_return_bool(false); } + } else { + free(ctx->runas.privs); + ctx->runas.privs = def_privs; + def_privs = NULL; } - if (ctx->runas.limitprivs == NULL) { - if (cs->limitprivs != NULL) { - ctx->runas.limitprivs = strdup(cs->limitprivs); - if (ctx->runas.limitprivs == NULL) { - sudo_warnx(U_("%s: %s"), __func__, - U_("unable to allocate memory")); - debug_return_bool(false); - } - } else { - ctx->runas.limitprivs = def_limitprivs; - def_limitprivs = NULL; - } - if (ctx->runas.limitprivs != NULL) { - sudo_debug_printf(SUDO_DEBUG_INFO|SUDO_DEBUG_LINENO, - "ctx->runas.limitprivs -> %s", ctx->runas.limitprivs); - } + if (ctx->runas.privs != NULL) { + sudo_debug_printf(SUDO_DEBUG_INFO|SUDO_DEBUG_LINENO, + "ctx->runas.privs -> %s", ctx->runas.privs); + } + if (cs->limitprivs != NULL) { + free(ctx->runas.limitprivs); + ctx->runas.limitprivs = strdup(cs->limitprivs); + if (ctx->runas.limitprivs == NULL) { + sudo_warnx(U_("%s: %s"), __func__, + U_("unable to allocate memory")); + debug_return_bool(false); + } + } else { + free(ctx->runas.limitprivs); + ctx->runas.limitprivs = def_limitprivs; + def_limitprivs = NULL; + } + if (ctx->runas.limitprivs != NULL) { + sudo_debug_printf(SUDO_DEBUG_INFO|SUDO_DEBUG_LINENO, + "ctx->runas.limitprivs -> %s", ctx->runas.limitprivs); } -#endif /* HAVE_PRIV_SET */ if (cs->timeout > 0) { def_command_timeout = cs->timeout; sudo_debug_printf(SUDO_DEBUG_INFO|SUDO_DEBUG_LINENO, diff --git a/plugins/sudoers/match_command.c b/plugins/sudoers/match_command.c index 4ac56eeb4..bd3660332 100644 --- a/plugins/sudoers/match_command.c +++ b/plugins/sudoers/match_command.c @@ -377,8 +377,18 @@ command_matches_fnmatch(struct sudoers_context *ctx, const char *sudoers_cmnd, #endif debug_decl(command_matches_fnmatch, SUDOERS_DEBUG_MATCH); - /* A relative ctx->user.cmnd will not match, try canonicalized version. */ - if (ctx->user.cmnd[0] != '/') { + /* + * Return ALLOW if fnmatch(3) succeeds AND + * a) there are no args in sudoers OR + * b) there are no args on command line and none required by sudoers OR + * c) there are args in sudoers and on command line and they match + * else return DENY. + * + * We do not attempt to match a relative path unless there is a + * canonicalized version. + */ + if (cmnd[0] != '/' || fnmatch(sudoers_cmnd, cmnd, FNM_PATHNAME) != 0) { + /* No match, retry using the canonicalized path (if possible). */ if (ctx->user.cmnd_dir == NULL) debug_return_int(DENY); len = snprintf(buf, sizeof(buf), "%s/%s", ctx->user.cmnd_dir, @@ -386,18 +396,10 @@ command_matches_fnmatch(struct sudoers_context *ctx, const char *sudoers_cmnd, if (len < 0 || len >= ssizeof(buf)) debug_return_int(DENY); cmnd = buf; + if (fnmatch(sudoers_cmnd, cmnd, FNM_PATHNAME) != 0) + debug_return_int(DENY); } - /* - * Return ALLOW if fnmatch(3) succeeds AND - * a) there are no args in sudoers OR - * b) there are no args on command line and none required by sudoers OR - * c) there are args in sudoers and on command line and they match - * else return DENY. - */ - if (fnmatch(sudoers_cmnd, cmnd, FNM_PATHNAME) != 0) - debug_return_int(DENY); - if (command_args_match(ctx, sudoers_cmnd, sudoers_args) == ALLOW) { /* Open the file for fdexec or for digest matching. */ if (!open_cmnd(cmnd, digests, &fd)) @@ -433,17 +435,6 @@ command_matches_regex(struct sudoers_context *ctx, const char *sudoers_cmnd, #endif debug_decl(command_matches_regex, SUDOERS_DEBUG_MATCH); - /* A relative ctx->user.cmnd will not match, try canonicalized version. */ - if (ctx->user.cmnd[0] != '/') { - if (ctx->user.cmnd_dir == NULL) - debug_return_int(DENY); - len = snprintf(buf, sizeof(buf), "%s/%s", ctx->user.cmnd_dir, - ctx->user.cmnd_base); - if (len < 0 || len >= ssizeof(buf)) - debug_return_int(DENY); - cmnd = buf; - } - /* * Return ALLOW if sudoers_cmnd regex matches cmnd AND * a) there are no args in sudoers OR @@ -451,8 +442,18 @@ command_matches_regex(struct sudoers_context *ctx, const char *sudoers_cmnd, * c) there are args in sudoers and on command line and they match * else return DENY. */ - if (regex_matches(sudoers_cmnd, cmnd) != ALLOW) - debug_return_int(DENY); + if (cmnd[0] != '/' || regex_matches(sudoers_cmnd, cmnd) != ALLOW) { + /* No match, retry using the canonicalized path (if possible). */ + if (ctx->user.cmnd_dir == NULL) + debug_return_int(DENY); + len = snprintf(buf, sizeof(buf), "%s/%s", ctx->user.cmnd_dir, + ctx->user.cmnd_base); + if (len < 0 || len >= ssizeof(buf)) + debug_return_int(DENY); + cmnd = buf; + if (regex_matches(sudoers_cmnd, cmnd) != ALLOW) + debug_return_int(DENY); + } if (command_args_match(ctx, sudoers_cmnd, sudoers_args) == ALLOW) { /* Open the file for fdexec or for digest matching. */ diff --git a/plugins/sudoers/parse.h b/plugins/sudoers/parse.h index 0764c5450..0e89fa105 100644 --- a/plugins/sudoers/parse.h +++ b/plugins/sudoers/parse.h @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: ISC * - * Copyright (c) 1996, 1998-2000, 2004, 2007-2023 + * Copyright (c) 1996, 1998-2000, 2004, 2007-2024 * Todd C. Miller * * Permission to use, copy, modify, and distribute this software for any @@ -159,15 +159,9 @@ struct command_options { int timeout; /* command timeout */ char *runcwd; /* working directory */ char *runchroot; /* root directory */ -#ifdef HAVE_SELINUX char *role, *type; /* SELinux role and type */ -#endif -#ifdef HAVE_APPARMOR char *apparmor_profile; /* AppArmor profile */ -#endif -#ifdef HAVE_PRIV_SET char *privs, *limitprivs; /* Solaris privilege sets */ -#endif }; /* @@ -240,21 +234,15 @@ struct cmndspec { struct member_list *runasuserlist; /* list of runas users */ struct member_list *runasgrouplist; /* list of runas groups */ struct member *cmnd; /* command to allow/deny */ - struct cmndtag tags; /* tag specificaion */ + struct cmndtag tags; /* tag specification */ int timeout; /* command timeout */ time_t notbefore; /* time restriction */ time_t notafter; /* time restriction */ char *runcwd; /* working directory */ char *runchroot; /* root directory */ -#ifdef HAVE_SELINUX char *role, *type; /* SELinux role and type */ -#endif -#ifdef HAVE_APPARMOR char *apparmor_profile; /* AppArmor profile */ -#endif -#ifdef HAVE_PRIV_SET char *privs, *limitprivs; /* Solaris privilege sets */ -#endif }; /* @@ -388,7 +376,7 @@ const char *alias_type_to_string(short alias_type); struct alias *alias_get(const struct sudoers_parse_tree *parse_tree, const char *name, short type); struct alias *alias_remove(struct sudoers_parse_tree *parse_tree, const char *name, short type); bool alias_find_used(struct sudoers_parse_tree *parse_tree, struct rbtree *used_aliases); -void alias_apply(struct sudoers_parse_tree *parse_tree, int (*func)(struct sudoers_parse_tree *, struct alias *, void *), void *cookie); +bool alias_apply(struct sudoers_parse_tree *parse_tree, int (*func)(struct sudoers_parse_tree *, struct alias *, void *), void *cookie); void alias_free(void *a); void alias_put(struct alias *a); @@ -458,8 +446,8 @@ extern FILE *sudoersin; extern char *sudoers; /* base64.c */ -size_t base64_decode(const char *str, unsigned char *dst, size_t dsize); -size_t base64_encode(const unsigned char *in, size_t in_len, char *out, size_t out_len); +size_t base64_decode(const char * restrict str, unsigned char * restrict dst, size_t dsize); +size_t base64_encode(const unsigned char * restrict in, size_t in_len, char * restrict out, size_t out_len); /* timeout.c */ int parse_timeout(const char *timestr); diff --git a/plugins/sudoers/parse_ldif.c b/plugins/sudoers/parse_ldif.c index 180e7da6c..60249d6c4 100644 --- a/plugins/sudoers/parse_ldif.c +++ b/plugins/sudoers/parse_ldif.c @@ -333,7 +333,7 @@ role_to_sudoers(struct sudoers_parse_tree *parse_tree, struct sudo_role *role, */ if (reuse_userspec) { - /* Re-use the previous userspec */ + /* Reuse the previous userspec */ us = TAILQ_LAST(&parse_tree->userspecs, userspec_list); } else { /* Allocate a new userspec and fill in the user list. */ @@ -388,7 +388,7 @@ role_to_sudoers(struct sudoers_parse_tree *parse_tree, struct sudo_role *role, if (role->cn != NULL) { struct sudoers_comment *comment = NULL; if (reuse_userspec) { - /* Try to re-use comment too. */ + /* Try to reuse comment too. */ STAILQ_FOREACH(comment, &us->comments, entries) { if (strncasecmp(comment->str, "sudoRole ", 9) == 0) { char *tmpstr; @@ -583,9 +583,9 @@ sudoers_parse_ldif(struct sudoers_parse_tree *parse_tree, debug_decl(sudoers_parse_ldif, SUDOERS_DEBUG_UTIL); /* - * We cache user, group and host lists to make it eay to detect when there + * We cache user, group and host lists to make it easy to detect when there * are identical lists (simple pointer compare). This makes it possible - * to merge multiplpe sudoRole objects into a single UserSpec and/or + * to merge multiple sudoRole objects into a single UserSpec and/or * Privilege. The lists are sorted since LDAP order is arbitrary. */ usercache = rbcreate(str_list_cmp); diff --git a/plugins/sudoers/po/cs.mo b/plugins/sudoers/po/cs.mo index 134e5a7bf..25be0fb42 100644 Binary files a/plugins/sudoers/po/cs.mo and b/plugins/sudoers/po/cs.mo differ diff --git a/plugins/sudoers/po/cs.po b/plugins/sudoers/po/cs.po index 6554cd886..2302ab8ce 100644 --- a/plugins/sudoers/po/cs.po +++ b/plugins/sudoers/po/cs.po @@ -2,7 +2,7 @@ # This file is distributed under the same license as the sudo package. # Todd C. Miller , 2011-2013 # Petr Pisar , 2013, 2014, 2015, 2016, 2017, 2018, 2019. -# Petr Pisar , 2020, 2021, 2022, 2023. +# Petr Pisar , 2020, 2021, 2022, 2023, 2024. # # (AIX) registry → (AIXový) registr # I/O (log) → I/O (log) @@ -10,10 +10,10 @@ # msgid "" msgstr "" -"Project-Id-Version: sudoers 1.9.15b1\n" +"Project-Id-Version: sudoers 1.9.16b1\n" "Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n" -"POT-Creation-Date: 2023-10-19 10:02-0600\n" -"PO-Revision-Date: 2023-10-25 21:33+02:00\n" +"POT-Creation-Date: 2024-06-08 09:06-0600\n" +"PO-Revision-Date: 2024-06-17 19:46+02:00\n" "Last-Translator: Petr Pisar \n" "Language-Team: Czech \n" "Language: cs\n" @@ -23,7 +23,7 @@ msgstr "" "X-Bugs: Report translation errors to the Language-Team address.\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -#: confstr.sh:1 gram.y:1257 plugins/sudoers/logging.c:911 +#: confstr.sh:1 gram.y:1240 plugins/sudoers/logging.c:919 msgid "syntax error" msgstr "chyba syntaxe" @@ -48,16 +48,16 @@ msgid "Sorry, try again." msgstr "Je nám líto, zkuste to znovu." #: gram.y:238 gram.y:305 gram.y:314 gram.y:323 gram.y:333 gram.y:343 gram.y:367 -#: gram.y:394 gram.y:403 gram.y:411 gram.y:420 gram.y:429 gram.y:503 gram.y:513 -#: gram.y:525 gram.y:573 gram.y:582 gram.y:591 gram.y:600 gram.y:733 gram.y:742 -#: gram.y:757 gram.y:777 gram.y:796 gram.y:959 gram.y:964 gram.y:972 gram.y:986 -#: gram.y:992 gram.y:1004 gram.y:1010 gram.y:1135 gram.y:1144 gram.y:1152 -#: gram.y:1161 gram.y:1170 gram.y:1199 gram.y:1208 gram.y:1216 gram.y:1317 -#: gram.y:1447 gram.y:1829 gram.y:1840 gram.y:1922 lib/eventlog/eventlog.c:236 -#: lib/eventlog/eventlog.c:313 lib/eventlog/eventlog.c:765 -#: lib/eventlog/eventlog.c:842 lib/eventlog/eventlog.c:1175 -#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:484 -#: lib/eventlog/parse_json.c:514 lib/iolog/iolog_filter.c:142 +#: gram.y:394 gram.y:403 gram.y:411 gram.y:420 gram.y:429 gram.y:502 gram.y:512 +#: gram.y:524 gram.y:566 gram.y:575 gram.y:584 gram.y:593 gram.y:726 gram.y:735 +#: gram.y:750 gram.y:770 gram.y:789 gram.y:942 gram.y:947 gram.y:955 gram.y:969 +#: gram.y:975 gram.y:987 gram.y:993 gram.y:1118 gram.y:1127 gram.y:1135 +#: gram.y:1144 gram.y:1153 gram.y:1182 gram.y:1191 gram.y:1199 gram.y:1300 +#: gram.y:1430 gram.y:1811 gram.y:1822 gram.y:1898 lib/eventlog/eventlog.c:236 +#: lib/eventlog/eventlog.c:313 lib/eventlog/eventlog.c:778 +#: lib/eventlog/eventlog.c:855 lib/eventlog/eventlog.c:1189 +#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:501 +#: lib/eventlog/parse_json.c:531 lib/iolog/iolog_filter.c:142 #: lib/iolog/iolog_filter.c:202 lib/iolog/iolog_filter.c:233 #: lib/iolog/iolog_legacy.c:101 lib/iolog/iolog_legacy.c:112 #: lib/iolog/iolog_legacy.c:124 lib/iolog/iolog_legacy.c:134 @@ -68,13 +68,13 @@ msgstr "Je nám líto, zkuste to znovu." #: logsrvd/iolog_writer.c:218 logsrvd/iolog_writer.c:228 #: logsrvd/iolog_writer.c:257 logsrvd/iolog_writer.c:278 #: logsrvd/iolog_writer.c:290 logsrvd/iolog_writer.c:300 -#: logsrvd/iolog_writer.c:310 logsrvd/iolog_writer.c:320 -#: logsrvd/iolog_writer.c:330 logsrvd/iolog_writer.c:342 -#: logsrvd/iolog_writer.c:377 logsrvd/iolog_writer.c:383 -#: logsrvd/iolog_writer.c:390 logsrvd/iolog_writer.c:396 -#: logsrvd/iolog_writer.c:580 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:323 -#: logsrvd/logsrvd.c:1057 logsrvd/logsrvd.c:1120 logsrvd/logsrvd.c:1589 -#: logsrvd/logsrvd.c:1594 logsrvd/logsrvd.c:1781 logsrvd/logsrvd.c:2003 +#: logsrvd/iolog_writer.c:318 logsrvd/iolog_writer.c:328 +#: logsrvd/iolog_writer.c:338 logsrvd/iolog_writer.c:350 +#: logsrvd/iolog_writer.c:385 logsrvd/iolog_writer.c:391 +#: logsrvd/iolog_writer.c:398 logsrvd/iolog_writer.c:404 +#: logsrvd/iolog_writer.c:588 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:324 +#: logsrvd/logsrvd.c:1058 logsrvd/logsrvd.c:1121 logsrvd/logsrvd.c:1599 +#: logsrvd/logsrvd.c:1604 logsrvd/logsrvd.c:1791 logsrvd/logsrvd.c:2046 #: 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 @@ -82,11 +82,11 @@ msgstr "Je nám líto, zkuste to znovu." #: 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_conf.c:829 logsrvd/logsrvd_conf.c:1041 +#: logsrvd/logsrvd_conf.c:1058 logsrvd/logsrvd_conf.c:1453 +#: logsrvd/logsrvd_conf.c:1600 logsrvd/logsrvd_conf.c:1626 +#: logsrvd/logsrvd_conf.c:1638 logsrvd/logsrvd_conf.c:1645 +#: logsrvd/logsrvd_conf.c:1651 logsrvd/logsrvd_conf.c:1748 #: logsrvd/logsrvd_journal.c:76 logsrvd/logsrvd_journal.c:216 #: logsrvd/logsrvd_journal.c:217 logsrvd/logsrvd_journal.c:274 #: logsrvd/logsrvd_journal.c:279 logsrvd/logsrvd_journal.c:439 @@ -99,10 +99,10 @@ msgstr "Je nám líto, zkuste to znovu." #: logsrvd/logsrvd_queue.c:266 logsrvd/logsrvd_relay.c:446 #: logsrvd/logsrvd_relay.c:748 logsrvd/logsrvd_relay.c:855 #: logsrvd/sendlog.c:256 logsrvd/sendlog.c:265 logsrvd/sendlog.c:297 -#: logsrvd/sendlog.c:303 logsrvd/sendlog.c:352 logsrvd/sendlog.c:630 -#: logsrvd/sendlog.c:1822 plugins/sudoers/audit.c:118 -#: plugins/sudoers/auth/bsdauth.c:154 plugins/sudoers/auth/kerb5.c:122 -#: plugins/sudoers/auth/kerb5.c:150 plugins/sudoers/auth/pam.c:697 +#: logsrvd/sendlog.c:303 logsrvd/sendlog.c:352 logsrvd/sendlog.c:651 +#: logsrvd/sendlog.c:1847 plugins/sudoers/audit.c:118 +#: plugins/sudoers/auth/bsdauth.c:154 plugins/sudoers/auth/kerb5.c:123 +#: plugins/sudoers/auth/kerb5.c:151 plugins/sudoers/auth/pam.c:697 #: plugins/sudoers/auth/rfc1938.c:112 plugins/sudoers/auth/sia.c:61 #: plugins/sudoers/canon_path.c:129 plugins/sudoers/canon_path.c:161 #: plugins/sudoers/check_aliases.c:128 plugins/sudoers/check_util.c:56 @@ -112,33 +112,30 @@ msgstr "Je nám líto, zkuste to znovu." #: plugins/sudoers/cvtsudoers.c:379 plugins/sudoers/cvtsudoers.c:399 #: plugins/sudoers/cvtsudoers.c:545 plugins/sudoers/cvtsudoers.c:698 #: plugins/sudoers/cvtsudoers.c:716 plugins/sudoers/cvtsudoers.c:891 -#: plugins/sudoers/cvtsudoers.c:899 plugins/sudoers/cvtsudoers.c:1395 -#: plugins/sudoers/cvtsudoers.c:1399 plugins/sudoers/cvtsudoers.c:1501 -#: plugins/sudoers/cvtsudoers_csv.c:183 plugins/sudoers/cvtsudoers_csv.c:247 -#: plugins/sudoers/cvtsudoers_json.c:76 plugins/sudoers/cvtsudoers_ldif.c:152 -#: plugins/sudoers/cvtsudoers_ldif.c:195 plugins/sudoers/cvtsudoers_ldif.c:236 -#: plugins/sudoers/cvtsudoers_ldif.c:302 plugins/sudoers/cvtsudoers_ldif.c:378 -#: plugins/sudoers/cvtsudoers_ldif.c:432 plugins/sudoers/cvtsudoers_ldif.c:440 -#: plugins/sudoers/cvtsudoers_ldif.c:451 plugins/sudoers/cvtsudoers_ldif.c:458 -#: plugins/sudoers/cvtsudoers_ldif.c:470 plugins/sudoers/cvtsudoers_ldif.c:483 -#: plugins/sudoers/cvtsudoers_ldif.c:491 plugins/sudoers/cvtsudoers_ldif.c:638 -#: 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:455 -#: plugins/sudoers/defaults.c:689 plugins/sudoers/defaults.c:1051 -#: plugins/sudoers/defaults.c:1235 plugins/sudoers/editor.c:198 -#: plugins/sudoers/env.c:263 plugins/sudoers/exptilde.c:92 +#: plugins/sudoers/cvtsudoers.c:899 plugins/sudoers/cvtsudoers.c:1393 +#: plugins/sudoers/cvtsudoers.c:1397 plugins/sudoers/cvtsudoers.c:1497 +#: plugins/sudoers/cvtsudoers_csv.c:182 plugins/sudoers/cvtsudoers_csv.c:255 +#: plugins/sudoers/cvtsudoers_json.c:604 plugins/sudoers/cvtsudoers_json.c:639 +#: plugins/sudoers/cvtsudoers_json.c:1016 +#: plugins/sudoers/cvtsudoers_json.c:1041 plugins/sudoers/cvtsudoers_ldif.c:112 +#: plugins/sudoers/cvtsudoers_ldif.c:144 plugins/sudoers/cvtsudoers_ldif.c:260 +#: plugins/sudoers/cvtsudoers_ldif.c:573 plugins/sudoers/cvtsudoers_ldif.c:586 +#: plugins/sudoers/cvtsudoers_ldif.c:591 plugins/sudoers/cvtsudoers_ldif.c:761 +#: plugins/sudoers/cvtsudoers_merge.c:57 plugins/sudoers/cvtsudoers_merge.c:357 +#: plugins/sudoers/cvtsudoers_merge.c:405 +#: plugins/sudoers/cvtsudoers_merge.c:454 +#: plugins/sudoers/cvtsudoers_merge.c:476 +#: plugins/sudoers/cvtsudoers_merge.c:588 +#: plugins/sudoers/cvtsudoers_merge.c:664 +#: plugins/sudoers/cvtsudoers_merge.c:1197 +#: plugins/sudoers/cvtsudoers_merge.c:1281 plugins/sudoers/defaults.c:455 +#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1062 +#: plugins/sudoers/defaults.c:1248 plugins/sudoers/editor.c:198 +#: plugins/sudoers/env.c:280 plugins/sudoers/exptilde.c:92 #: plugins/sudoers/filedigest.c:66 plugins/sudoers/filedigest.c:70 #: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:212 -#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268 -#: plugins/sudoers/iolog.c:675 plugins/sudoers/iolog.c:703 +#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:270 +#: plugins/sudoers/iolog.c:683 plugins/sudoers/iolog.c:711 #: plugins/sudoers/ldap.c:161 plugins/sudoers/ldap.c:448 #: plugins/sudoers/ldap.c:625 plugins/sudoers/ldap.c:789 #: plugins/sudoers/ldap.c:1214 plugins/sudoers/ldap.c:1642 @@ -148,23 +145,23 @@ msgstr "Je nám líto, zkuste to znovu." #: plugins/sudoers/ldap_conf.c:299 plugins/sudoers/ldap_conf.c:335 #: plugins/sudoers/ldap_conf.c:441 plugins/sudoers/ldap_conf.c:456 #: plugins/sudoers/ldap_conf.c:565 plugins/sudoers/ldap_conf.c:598 -#: plugins/sudoers/ldap_conf.c:694 plugins/sudoers/ldap_conf.c:776 +#: plugins/sudoers/ldap_conf.c:696 plugins/sudoers/ldap_conf.c:778 #: 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:717 plugins/sudoers/log_client.c:739 -#: plugins/sudoers/log_client.c:744 plugins/sudoers/log_client.c:1426 -#: plugins/sudoers/log_client.c:1547 plugins/sudoers/log_client.c:1670 -#: plugins/sudoers/log_client.c:1993 plugins/sudoers/log_client.c:2052 +#: plugins/sudoers/ldap_util.c:615 plugins/sudoers/linux_audit.c:86 +#: plugins/sudoers/log_client.c:117 plugins/sudoers/log_client.c:411 +#: plugins/sudoers/log_client.c:726 plugins/sudoers/log_client.c:748 +#: plugins/sudoers/log_client.c:753 plugins/sudoers/log_client.c:1449 +#: plugins/sudoers/log_client.c:1570 plugins/sudoers/log_client.c:1693 +#: plugins/sudoers/log_client.c:2018 plugins/sudoers/log_client.c:2077 #: plugins/sudoers/logging.c:110 plugins/sudoers/logging.c:190 -#: plugins/sudoers/logging.c:475 plugins/sudoers/logging.c:711 -#: plugins/sudoers/logging.c:872 plugins/sudoers/lookup.c:338 -#: plugins/sudoers/lookup.c:355 plugins/sudoers/lookup.c:374 -#: plugins/sudoers/lookup.c:393 plugins/sudoers/lookup.c:410 -#: plugins/sudoers/lookup.c:433 plugins/sudoers/lookup.c:444 -#: plugins/sudoers/match_command.c:302 plugins/sudoers/match_command.c:574 -#: plugins/sudoers/match_command.c:641 plugins/sudoers/match_command.c:737 -#: plugins/sudoers/match_command.c:785 plugins/sudoers/match_digest.c:88 +#: plugins/sudoers/logging.c:483 plugins/sudoers/logging.c:723 +#: plugins/sudoers/logging.c:880 plugins/sudoers/lookup.c:331 +#: plugins/sudoers/lookup.c:348 plugins/sudoers/lookup.c:366 +#: plugins/sudoers/lookup.c:384 plugins/sudoers/lookup.c:401 +#: plugins/sudoers/lookup.c:423 plugins/sudoers/lookup.c:434 +#: plugins/sudoers/match_command.c:280 plugins/sudoers/match_command.c:544 +#: plugins/sudoers/match_command.c:608 plugins/sudoers/match_command.c:702 +#: plugins/sudoers/match_command.c:750 plugins/sudoers/match_digest.c:88 #: 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 @@ -175,107 +172,107 @@ msgstr "Je nám líto, zkuste to znovu." #: 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:646 plugins/sudoers/policy.c:1061 +#: plugins/sudoers/policy.c:654 plugins/sudoers/policy.c:1071 #: plugins/sudoers/prompt.c:94 plugins/sudoers/pwutil.c:219 #: plugins/sudoers/pwutil.c:290 plugins/sudoers/pwutil.c:368 #: plugins/sudoers/pwutil.c:542 plugins/sudoers/pwutil.c:607 #: plugins/sudoers/pwutil.c:679 plugins/sudoers/pwutil.c:877 -#: plugins/sudoers/pwutil.c:967 plugins/sudoers/pwutil.c:1015 -#: plugins/sudoers/pwutil.c:1076 plugins/sudoers/sethost.c:85 +#: plugins/sudoers/pwutil.c:970 plugins/sudoers/pwutil.c:1018 +#: plugins/sudoers/pwutil.c:1082 plugins/sudoers/sethost.c:89 #: plugins/sudoers/sssd.c:145 plugins/sudoers/sssd.c:186 #: plugins/sudoers/sssd.c:415 plugins/sudoers/sssd.c:480 #: plugins/sudoers/sssd.c:507 plugins/sudoers/sssd.c:570 #: plugins/sudoers/sssd.c:765 plugins/sudoers/strvec_join.c:53 #: plugins/sudoers/sudoers.c:405 plugins/sudoers/sudoers.c:412 -#: plugins/sudoers/sudoers.c:656 plugins/sudoers/sudoers.c:666 -#: plugins/sudoers/sudoers.c:811 plugins/sudoers/sudoers.c:877 -#: plugins/sudoers/sudoers.c:936 plugins/sudoers/sudoers.c:985 -#: plugins/sudoers/sudoers.c:1144 plugins/sudoers/sudoers.c:1213 -#: plugins/sudoers/sudoers.c:1307 plugins/sudoers/sudoers_cb.c:150 +#: plugins/sudoers/sudoers.c:673 plugins/sudoers/sudoers.c:683 +#: plugins/sudoers/sudoers.c:828 plugins/sudoers/sudoers.c:894 +#: plugins/sudoers/sudoers.c:953 plugins/sudoers/sudoers.c:1002 +#: plugins/sudoers/sudoers.c:1162 plugins/sudoers/sudoers.c:1231 +#: plugins/sudoers/sudoers.c:1325 plugins/sudoers/sudoers_cb.c:150 #: plugins/sudoers/sudoreplay.c:559 plugins/sudoers/sudoreplay.c:562 -#: plugins/sudoers/sudoreplay.c:1279 plugins/sudoers/sudoreplay.c:1335 -#: plugins/sudoers/sudoreplay.c:1531 plugins/sudoers/sudoreplay.c:1535 +#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1337 +#: plugins/sudoers/sudoreplay.c:1533 plugins/sudoers/sudoreplay.c:1537 #: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:256 #: plugins/sudoers/testsudoers.c:265 plugins/sudoers/testsudoers.c:275 #: plugins/sudoers/testsudoers.c:282 plugins/sudoers/testsudoers.c:302 -#: plugins/sudoers/testsudoers.c:758 plugins/sudoers/timestamp.c:469 -#: plugins/sudoers/timestamp.c:513 plugins/sudoers/timestamp.c:1042 -#: plugins/sudoers/timestamp.c:1216 plugins/sudoers/toke_util.c:79 +#: plugins/sudoers/testsudoers.c:756 plugins/sudoers/timestamp.c:468 +#: plugins/sudoers/timestamp.c:514 plugins/sudoers/timestamp.c:1045 +#: plugins/sudoers/timestamp.c:1248 plugins/sudoers/toke_util.c:79 #: plugins/sudoers/toke_util.c:108 plugins/sudoers/toke_util.c:134 #: plugins/sudoers/toke_util.c:164 plugins/sudoers/toke_util.c:204 -#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:151 +#: plugins/sudoers/tsdump.c:136 plugins/sudoers/visudo.c:151 #: plugins/sudoers/visudo.c:258 plugins/sudoers/visudo.c:383 #: plugins/sudoers/visudo.c:389 plugins/sudoers/visudo.c:501 #: plugins/sudoers/visudo.c:1073 plugins/sudoers/visudo.c:1095 -#: plugins/sudoers/visudo.c:1189 toke.l:1031 toke.l:1194 toke.l:1213 -#: toke.l:1240 toke.l:1320 +#: plugins/sudoers/visudo.c:1189 toke.l:1011 toke.l:1174 toke.l:1193 +#: toke.l:1220 toke.l:1300 msgid "unable to allocate memory" msgstr "nelze alokovat paměť" -#: gram.y:624 +#: gram.y:617 msgid "a digest requires a path name" msgstr "kontrolní součet vyžaduje název cesty" -#: gram.y:646 +#: gram.y:639 msgid "values for \"CWD\" must start with a '/', '~', or '*'" msgstr "hodnoty „CWD“ musí začínat na „/“, „~“ nebo „*“" -#: gram.y:652 +#: gram.y:645 msgid "\"CWD\" path too long" msgstr "cesta „CWD“ je příliš dlouhá" -#: gram.y:662 +#: gram.y:655 msgid "values for \"CHROOT\" must start with a '/', '~', or '*'" msgstr "hodnoty „CHROOT“ musí začínat na „/“, „~“ nebo „*“" -#: gram.y:668 +#: gram.y:661 msgid "\"CHROOT\" path too long" msgstr "cesta „CHROOT“ je příliš dlouhá" -#: gram.y:817 +#: gram.y:810 #, c-format msgid "syntax error, reserved word %s used as an alias name" msgstr "chyba syntaxe, vyhrazené slovo %s použito jako název aliasu" -#: gram.y:840 +#: gram.y:833 msgid "invalid notbefore value" msgstr "neplatná hodnota notbefore (začátek platnosti)" -#: gram.y:849 +#: gram.y:842 msgid "invalid notafter value" msgstr "neplatná hodnota notafter (konec platnosti)" -#: gram.y:859 plugins/sudoers/policy.c:390 +#: gram.y:852 plugins/sudoers/policy.c:373 msgid "timeout value too large" msgstr "hodnota časového limitu je příliš velká" -#: gram.y:861 plugins/sudoers/policy.c:392 +#: gram.y:854 plugins/sudoers/policy.c:375 msgid "invalid timeout value" msgstr "neplatná hodnota časového limitu" -#: gram.y:982 plugins/sudoers/sudoers.c:1162 +#: gram.y:965 plugins/sudoers/sudoers.c:1180 msgid "command too long" msgstr "příkaz je příliš dlouhý" -#: gram.y:1016 +#: gram.y:999 msgid "expected a fully-qualified path name" msgstr "očekává se plně kvalifikovaná cesta" -#: gram.y:1261 +#: gram.y:1244 #, c-format msgid "%s:%d:%zu: %s\n" msgstr "%s:%d:%zu: %s\n" -#: gram.y:1315 +#: gram.y:1298 #, c-format msgid "Alias \"%s\" already defined" msgstr "Alias „%s“ je již definován" -#: gram.y:1829 gram.y:1840 gram.y:1922 lib/eventlog/eventlog.c:236 -#: lib/eventlog/eventlog.c:765 lib/eventlog/eventlog.c:838 -#: lib/eventlog/eventlog.c:841 lib/eventlog/eventlog.c:1175 -#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:483 -#: lib/eventlog/parse_json.c:514 lib/iolog/iolog_filter.c:142 +#: gram.y:1811 gram.y:1822 gram.y:1898 lib/eventlog/eventlog.c:236 +#: lib/eventlog/eventlog.c:778 lib/eventlog/eventlog.c:851 +#: lib/eventlog/eventlog.c:854 lib/eventlog/eventlog.c:1189 +#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:500 +#: lib/eventlog/parse_json.c:531 lib/iolog/iolog_filter.c:142 #: lib/iolog/iolog_filter.c:202 lib/iolog/iolog_filter.c:232 #: lib/iolog/iolog_legacy.c:101 lib/iolog/iolog_legacy.c:112 #: lib/iolog/iolog_legacy.c:124 lib/iolog/iolog_legacy.c:134 @@ -288,16 +285,16 @@ msgstr "Alias „%s“ je již definován" #: logsrvd/iolog_writer.c:246 logsrvd/iolog_writer.c:256 #: logsrvd/iolog_writer.c:267 logsrvd/iolog_writer.c:277 #: logsrvd/iolog_writer.c:289 logsrvd/iolog_writer.c:299 -#: logsrvd/iolog_writer.c:309 logsrvd/iolog_writer.c:319 -#: logsrvd/iolog_writer.c:329 logsrvd/iolog_writer.c:341 -#: logsrvd/iolog_writer.c:377 logsrvd/iolog_writer.c:383 -#: logsrvd/iolog_writer.c:390 logsrvd/iolog_writer.c:396 -#: logsrvd/iolog_writer.c:580 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:323 -#: logsrvd/logsrvd.c:461 logsrvd/logsrvd.c:498 logsrvd/logsrvd.c:530 -#: logsrvd/logsrvd.c:584 logsrvd/logsrvd.c:619 logsrvd/logsrvd.c:668 -#: logsrvd/logsrvd.c:704 logsrvd/logsrvd.c:740 logsrvd/logsrvd.c:1131 -#: logsrvd/logsrvd.c:1446 logsrvd/logsrvd.c:1453 logsrvd/logsrvd.c:1589 -#: logsrvd/logsrvd.c:1594 logsrvd/logsrvd.c:1781 logsrvd/logsrvd.c:2003 +#: logsrvd/iolog_writer.c:317 logsrvd/iolog_writer.c:327 +#: logsrvd/iolog_writer.c:337 logsrvd/iolog_writer.c:349 +#: logsrvd/iolog_writer.c:385 logsrvd/iolog_writer.c:391 +#: logsrvd/iolog_writer.c:398 logsrvd/iolog_writer.c:404 +#: logsrvd/iolog_writer.c:588 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:324 +#: logsrvd/logsrvd.c:462 logsrvd/logsrvd.c:499 logsrvd/logsrvd.c:531 +#: logsrvd/logsrvd.c:585 logsrvd/logsrvd.c:620 logsrvd/logsrvd.c:669 +#: logsrvd/logsrvd.c:705 logsrvd/logsrvd.c:741 logsrvd/logsrvd.c:1132 +#: logsrvd/logsrvd.c:1456 logsrvd/logsrvd.c:1463 logsrvd/logsrvd.c:1599 +#: logsrvd/logsrvd.c:1604 logsrvd/logsrvd.c:1791 logsrvd/logsrvd.c:2046 #: 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 @@ -305,11 +302,11 @@ msgstr "Alias „%s“ je již definován" #: 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_conf.c:829 logsrvd/logsrvd_conf.c:1041 +#: logsrvd/logsrvd_conf.c:1058 logsrvd/logsrvd_conf.c:1453 +#: logsrvd/logsrvd_conf.c:1600 logsrvd/logsrvd_conf.c:1626 +#: logsrvd/logsrvd_conf.c:1638 logsrvd/logsrvd_conf.c:1645 +#: logsrvd/logsrvd_conf.c:1651 logsrvd/logsrvd_conf.c:1747 #: logsrvd/logsrvd_journal.c:76 logsrvd/logsrvd_journal.c:125 #: logsrvd/logsrvd_journal.c:216 logsrvd/logsrvd_journal.c:246 #: logsrvd/logsrvd_journal.c:250 logsrvd/logsrvd_journal.c:258 @@ -320,8 +317,8 @@ msgstr "Alias „%s“ je již definován" #: logsrvd/logsrvd_queue.c:158 logsrvd/logsrvd_queue.c:189 #: logsrvd/logsrvd_queue.c:266 logsrvd/sendlog.c:256 logsrvd/sendlog.c:265 #: logsrvd/sendlog.c:297 logsrvd/sendlog.c:303 logsrvd/sendlog.c:352 -#: logsrvd/sendlog.c:630 logsrvd/sendlog.c:1523 logsrvd/sendlog.c:1530 -#: logsrvd/sendlog.c:1753 logsrvd/sendlog.c:1822 logsrvd/tls_init.c:305 +#: logsrvd/sendlog.c:651 logsrvd/sendlog.c:1548 logsrvd/sendlog.c:1555 +#: logsrvd/sendlog.c:1778 logsrvd/sendlog.c:1847 logsrvd/tls_init.c:305 #: logsrvd/tls_init.c:329 logsrvd/tls_init.c:340 plugins/sudoers/audit.c:118 #: plugins/sudoers/auth/pam.c:518 plugins/sudoers/auth/pam.c:697 #: plugins/sudoers/auth/rfc1938.c:112 plugins/sudoers/canon_path.c:129 @@ -332,34 +329,31 @@ msgstr "Alias „%s“ je již definován" #: plugins/sudoers/cvtsudoers.c:337 plugins/sudoers/cvtsudoers.c:544 #: plugins/sudoers/cvtsudoers.c:697 plugins/sudoers/cvtsudoers.c:715 #: plugins/sudoers/cvtsudoers.c:891 plugins/sudoers/cvtsudoers.c:898 -#: plugins/sudoers/cvtsudoers.c:1395 plugins/sudoers/cvtsudoers.c:1399 -#: plugins/sudoers/cvtsudoers.c:1501 plugins/sudoers/cvtsudoers_csv.c:182 -#: plugins/sudoers/cvtsudoers_csv.c:246 plugins/sudoers/cvtsudoers_json.c:75 -#: plugins/sudoers/cvtsudoers_ldif.c:151 plugins/sudoers/cvtsudoers_ldif.c:194 -#: plugins/sudoers/cvtsudoers_ldif.c:235 plugins/sudoers/cvtsudoers_ldif.c:301 -#: plugins/sudoers/cvtsudoers_ldif.c:377 plugins/sudoers/cvtsudoers_ldif.c:431 -#: plugins/sudoers/cvtsudoers_ldif.c:439 plugins/sudoers/cvtsudoers_ldif.c:450 -#: plugins/sudoers/cvtsudoers_ldif.c:457 plugins/sudoers/cvtsudoers_ldif.c:469 -#: plugins/sudoers/cvtsudoers_ldif.c:482 plugins/sudoers/cvtsudoers_ldif.c:490 -#: plugins/sudoers/cvtsudoers_ldif.c:637 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:455 -#: plugins/sudoers/defaults.c:689 plugins/sudoers/defaults.c:1051 -#: plugins/sudoers/defaults.c:1235 plugins/sudoers/editor.c:198 -#: plugins/sudoers/env.c:263 plugins/sudoers/exptilde.c:92 +#: plugins/sudoers/cvtsudoers.c:1393 plugins/sudoers/cvtsudoers.c:1397 +#: plugins/sudoers/cvtsudoers.c:1497 plugins/sudoers/cvtsudoers_csv.c:182 +#: plugins/sudoers/cvtsudoers_csv.c:255 plugins/sudoers/cvtsudoers_json.c:604 +#: plugins/sudoers/cvtsudoers_json.c:639 plugins/sudoers/cvtsudoers_json.c:1016 +#: plugins/sudoers/cvtsudoers_json.c:1041 plugins/sudoers/cvtsudoers_ldif.c:112 +#: plugins/sudoers/cvtsudoers_ldif.c:144 plugins/sudoers/cvtsudoers_ldif.c:260 +#: plugins/sudoers/cvtsudoers_ldif.c:573 plugins/sudoers/cvtsudoers_ldif.c:586 +#: plugins/sudoers/cvtsudoers_ldif.c:591 plugins/sudoers/cvtsudoers_ldif.c:761 +#: plugins/sudoers/cvtsudoers_merge.c:57 plugins/sudoers/cvtsudoers_merge.c:357 +#: plugins/sudoers/cvtsudoers_merge.c:405 +#: plugins/sudoers/cvtsudoers_merge.c:453 +#: plugins/sudoers/cvtsudoers_merge.c:475 +#: plugins/sudoers/cvtsudoers_merge.c:583 +#: plugins/sudoers/cvtsudoers_merge.c:588 +#: plugins/sudoers/cvtsudoers_merge.c:661 +#: plugins/sudoers/cvtsudoers_merge.c:664 +#: plugins/sudoers/cvtsudoers_merge.c:1196 +#: plugins/sudoers/cvtsudoers_merge.c:1281 plugins/sudoers/defaults.c:455 +#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1062 +#: plugins/sudoers/defaults.c:1248 plugins/sudoers/editor.c:198 +#: plugins/sudoers/env.c:280 plugins/sudoers/exptilde.c:92 #: plugins/sudoers/filedigest.c:66 plugins/sudoers/filedigest.c:70 #: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:211 -#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268 -#: plugins/sudoers/iolog.c:675 plugins/sudoers/iolog.c:703 +#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:270 +#: plugins/sudoers/iolog.c:683 plugins/sudoers/iolog.c:711 #: plugins/sudoers/ldap.c:161 plugins/sudoers/ldap.c:448 #: plugins/sudoers/ldap.c:625 plugins/sudoers/ldap.c:789 #: plugins/sudoers/ldap.c:1214 plugins/sudoers/ldap.c:1642 @@ -369,26 +363,26 @@ msgstr "Alias „%s“ je již definován" #: plugins/sudoers/ldap_conf.c:299 plugins/sudoers/ldap_conf.c:335 #: plugins/sudoers/ldap_conf.c:441 plugins/sudoers/ldap_conf.c:456 #: plugins/sudoers/ldap_conf.c:565 plugins/sudoers/ldap_conf.c:598 -#: plugins/sudoers/ldap_conf.c:693 plugins/sudoers/ldap_conf.c:776 +#: plugins/sudoers/ldap_conf.c:695 plugins/sudoers/ldap_conf.c:778 #: 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:717 -#: plugins/sudoers/log_client.c:739 plugins/sudoers/log_client.c:744 -#: plugins/sudoers/log_client.c:1426 plugins/sudoers/log_client.c:1547 -#: plugins/sudoers/log_client.c:1670 plugins/sudoers/log_client.c:1993 -#: plugins/sudoers/log_client.c:2052 plugins/sudoers/logging.c:110 +#: plugins/sudoers/ldap_util.c:615 plugins/sudoers/linux_audit.c:86 +#: plugins/sudoers/log_client.c:117 plugins/sudoers/log_client.c:237 +#: plugins/sudoers/log_client.c:259 plugins/sudoers/log_client.c:273 +#: plugins/sudoers/log_client.c:411 plugins/sudoers/log_client.c:726 +#: plugins/sudoers/log_client.c:748 plugins/sudoers/log_client.c:753 +#: plugins/sudoers/log_client.c:1449 plugins/sudoers/log_client.c:1570 +#: plugins/sudoers/log_client.c:1693 plugins/sudoers/log_client.c:2018 +#: plugins/sudoers/log_client.c:2077 plugins/sudoers/logging.c:110 #: plugins/sudoers/logging.c:189 plugins/sudoers/logging.c:190 -#: plugins/sudoers/logging.c:475 plugins/sudoers/logging.c:711 -#: plugins/sudoers/logging.c:755 plugins/sudoers/logging.c:872 -#: plugins/sudoers/logging.c:925 plugins/sudoers/logging.c:932 -#: plugins/sudoers/lookup.c:337 plugins/sudoers/lookup.c:354 -#: plugins/sudoers/lookup.c:373 plugins/sudoers/lookup.c:392 -#: plugins/sudoers/lookup.c:409 plugins/sudoers/lookup.c:432 -#: plugins/sudoers/lookup.c:443 plugins/sudoers/match_command.c:301 -#: plugins/sudoers/match_command.c:573 plugins/sudoers/match_command.c:640 -#: plugins/sudoers/match_command.c:737 plugins/sudoers/match_command.c:784 +#: plugins/sudoers/logging.c:483 plugins/sudoers/logging.c:723 +#: plugins/sudoers/logging.c:763 plugins/sudoers/logging.c:880 +#: plugins/sudoers/logging.c:933 plugins/sudoers/logging.c:940 +#: plugins/sudoers/lookup.c:330 plugins/sudoers/lookup.c:347 +#: plugins/sudoers/lookup.c:365 plugins/sudoers/lookup.c:383 +#: plugins/sudoers/lookup.c:400 plugins/sudoers/lookup.c:422 +#: plugins/sudoers/lookup.c:433 plugins/sudoers/match_command.c:279 +#: plugins/sudoers/match_command.c:543 plugins/sudoers/match_command.c:607 +#: plugins/sudoers/match_command.c:702 plugins/sudoers/match_command.c:749 #: plugins/sudoers/match_digest.c:88 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 @@ -399,52 +393,52 @@ msgstr "Alias „%s“ je již definován" #: plugins/sudoers/parse_ldif.c:595 plugins/sudoers/parse_ldif.c:624 #: plugins/sudoers/parse_ldif.c:649 plugins/sudoers/parse_ldif.c:707 #: plugins/sudoers/parse_ldif.c:724 plugins/sudoers/parse_ldif.c:752 -#: plugins/sudoers/parse_ldif.c:759 plugins/sudoers/policy.c:157 -#: plugins/sudoers/policy.c:166 plugins/sudoers/policy.c:175 -#: plugins/sudoers/policy.c:204 plugins/sudoers/policy.c:374 -#: plugins/sudoers/policy.c:390 plugins/sudoers/policy.c:392 -#: plugins/sudoers/policy.c:430 plugins/sudoers/policy.c:439 -#: plugins/sudoers/policy.c:448 plugins/sudoers/policy.c:457 -#: plugins/sudoers/policy.c:493 plugins/sudoers/policy.c:502 -#: plugins/sudoers/policy.c:511 plugins/sudoers/policy.c:520 -#: plugins/sudoers/policy.c:529 plugins/sudoers/policy.c:538 -#: plugins/sudoers/policy.c:547 plugins/sudoers/policy.c:646 -#: plugins/sudoers/policy.c:1061 plugins/sudoers/prompt.c:94 +#: plugins/sudoers/parse_ldif.c:759 plugins/sudoers/policy.c:152 +#: plugins/sudoers/policy.c:161 plugins/sudoers/policy.c:170 +#: plugins/sudoers/policy.c:199 plugins/sudoers/policy.c:357 +#: plugins/sudoers/policy.c:373 plugins/sudoers/policy.c:375 +#: plugins/sudoers/policy.c:414 plugins/sudoers/policy.c:423 +#: plugins/sudoers/policy.c:432 plugins/sudoers/policy.c:441 +#: plugins/sudoers/policy.c:492 plugins/sudoers/policy.c:501 +#: plugins/sudoers/policy.c:510 plugins/sudoers/policy.c:519 +#: plugins/sudoers/policy.c:528 plugins/sudoers/policy.c:537 +#: plugins/sudoers/policy.c:546 plugins/sudoers/policy.c:654 +#: plugins/sudoers/policy.c:1071 plugins/sudoers/prompt.c:94 #: plugins/sudoers/pwutil.c:219 plugins/sudoers/pwutil.c:290 #: plugins/sudoers/pwutil.c:368 plugins/sudoers/pwutil.c:542 #: plugins/sudoers/pwutil.c:607 plugins/sudoers/pwutil.c:679 -#: plugins/sudoers/pwutil.c:877 plugins/sudoers/pwutil.c:967 -#: plugins/sudoers/pwutil.c:1015 plugins/sudoers/pwutil.c:1076 +#: plugins/sudoers/pwutil.c:877 plugins/sudoers/pwutil.c:970 +#: plugins/sudoers/pwutil.c:1018 plugins/sudoers/pwutil.c:1082 #: plugins/sudoers/set_perms.c:374 plugins/sudoers/set_perms.c:723 #: plugins/sudoers/set_perms.c:1096 plugins/sudoers/set_perms.c:1409 -#: plugins/sudoers/set_perms.c:1579 plugins/sudoers/sethost.c:85 +#: plugins/sudoers/set_perms.c:1579 plugins/sudoers/sethost.c:89 #: plugins/sudoers/sssd.c:144 plugins/sudoers/sssd.c:186 #: plugins/sudoers/sssd.c:415 plugins/sudoers/sssd.c:480 #: plugins/sudoers/sssd.c:507 plugins/sudoers/sssd.c:570 #: plugins/sudoers/sssd.c:765 plugins/sudoers/strvec_join.c:53 #: plugins/sudoers/sudoers.c:405 plugins/sudoers/sudoers.c:412 -#: plugins/sudoers/sudoers.c:656 plugins/sudoers/sudoers.c:666 -#: plugins/sudoers/sudoers.c:811 plugins/sudoers/sudoers.c:877 -#: plugins/sudoers/sudoers.c:936 plugins/sudoers/sudoers.c:985 -#: plugins/sudoers/sudoers.c:1144 plugins/sudoers/sudoers.c:1213 -#: plugins/sudoers/sudoers.c:1306 plugins/sudoers/sudoers_cb.c:150 +#: plugins/sudoers/sudoers.c:673 plugins/sudoers/sudoers.c:683 +#: plugins/sudoers/sudoers.c:828 plugins/sudoers/sudoers.c:894 +#: plugins/sudoers/sudoers.c:953 plugins/sudoers/sudoers.c:1002 +#: plugins/sudoers/sudoers.c:1162 plugins/sudoers/sudoers.c:1231 +#: plugins/sudoers/sudoers.c:1324 plugins/sudoers/sudoers_cb.c:150 #: plugins/sudoers/sudoreplay.c:559 plugins/sudoers/sudoreplay.c:562 -#: plugins/sudoers/sudoreplay.c:1279 plugins/sudoers/sudoreplay.c:1335 -#: plugins/sudoers/sudoreplay.c:1531 plugins/sudoers/sudoreplay.c:1535 +#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1337 +#: plugins/sudoers/sudoreplay.c:1533 plugins/sudoers/sudoreplay.c:1537 #: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:255 #: plugins/sudoers/testsudoers.c:264 plugins/sudoers/testsudoers.c:275 #: plugins/sudoers/testsudoers.c:282 plugins/sudoers/testsudoers.c:302 -#: plugins/sudoers/testsudoers.c:758 plugins/sudoers/timestamp.c:469 -#: plugins/sudoers/timestamp.c:513 plugins/sudoers/timestamp.c:1042 -#: plugins/sudoers/timestamp.c:1216 plugins/sudoers/toke_util.c:79 +#: plugins/sudoers/testsudoers.c:756 plugins/sudoers/timestamp.c:468 +#: plugins/sudoers/timestamp.c:514 plugins/sudoers/timestamp.c:1045 +#: plugins/sudoers/timestamp.c:1248 plugins/sudoers/toke_util.c:79 #: plugins/sudoers/toke_util.c:108 plugins/sudoers/toke_util.c:134 #: plugins/sudoers/toke_util.c:163 plugins/sudoers/toke_util.c:204 -#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:151 +#: plugins/sudoers/tsdump.c:136 plugins/sudoers/visudo.c:151 #: plugins/sudoers/visudo.c:258 plugins/sudoers/visudo.c:383 #: plugins/sudoers/visudo.c:389 plugins/sudoers/visudo.c:501 #: plugins/sudoers/visudo.c:1073 plugins/sudoers/visudo.c:1094 -#: plugins/sudoers/visudo.c:1189 toke.l:1031 toke.l:1194 toke.l:1213 -#: toke.l:1240 toke.l:1309 toke.l:1320 +#: plugins/sudoers/visudo.c:1189 toke.l:1011 toke.l:1174 toke.l:1193 +#: toke.l:1220 toke.l:1289 toke.l:1300 #, c-format msgid "%s: %s" msgstr "%s: %s" @@ -473,12 +467,12 @@ msgstr "nelze vytvořit proces: %m" msgid "unable to open pipe: %m" msgstr "nelze otevřít rouru: %m" -#: lib/eventlog/eventlog.c:1000 +#: lib/eventlog/eventlog.c:1013 #, c-format msgid "%8s : %s" msgstr "%8s : %s" -#: lib/eventlog/eventlog.c:1029 +#: lib/eventlog/eventlog.c:1042 #, c-format msgid "%8s : (command continued) %s" msgstr "%8s : (příkaz pokračuje) %s" @@ -492,73 +486,73 @@ msgstr "očekáván JSON_STRING, obdrženo %d" msgid "JSON_ARRAY too large" msgstr "JSON_ARRAY je příliš velké" -#: lib/eventlog/parse_json.c:506 +#: lib/eventlog/parse_json.c:523 msgid "missing double quote in name" msgstr "v názvu chybí dvojitá uvozovka" -#: lib/eventlog/parse_json.c:624 +#: lib/eventlog/parse_json.c:641 msgid "missing JSON_OBJECT" msgstr "chybí JSON_OBJECT" -#: lib/eventlog/parse_json.c:628 +#: lib/eventlog/parse_json.c:645 #, c-format msgid "expected JSON_OBJECT, got %d" msgstr "očekáván JSON_OBJECT, obdrženo %d" -#: lib/eventlog/parse_json.c:762 +#: lib/eventlog/parse_json.c:779 #, c-format msgid "json stack exhausted (max %u frames)" msgstr "jsonový zásobník vyčerpán (nejvýše %u rámců)" -#: lib/eventlog/parse_json.c:840 +#: lib/eventlog/parse_json.c:857 msgid "objects must consist of name:value pairs" msgstr "objekty musí sestávat z dvojic název:hodnota" -#: lib/eventlog/parse_json.c:845 lib/eventlog/parse_json.c:876 -#: lib/eventlog/parse_json.c:920 lib/eventlog/parse_json.c:942 -#: lib/eventlog/parse_json.c:964 lib/eventlog/parse_json.c:986 -#: lib/eventlog/parse_json.c:1008 +#: lib/eventlog/parse_json.c:862 lib/eventlog/parse_json.c:893 +#: lib/eventlog/parse_json.c:937 lib/eventlog/parse_json.c:959 +#: lib/eventlog/parse_json.c:981 lib/eventlog/parse_json.c:1003 +#: lib/eventlog/parse_json.c:1025 msgid "missing separator between values" msgstr "chybí oddělovač mezí hodnotami" -#: lib/eventlog/parse_json.c:860 lib/eventlog/parse_json.c:1034 +#: lib/eventlog/parse_json.c:877 lib/eventlog/parse_json.c:1051 msgid "unmatched close brace" msgstr "neodpovídající uzavírací složená závorka" -#: lib/eventlog/parse_json.c:871 +#: lib/eventlog/parse_json.c:888 msgid "unexpected array" msgstr "nečekané pole" -#: lib/eventlog/parse_json.c:891 lib/eventlog/parse_json.c:1037 +#: lib/eventlog/parse_json.c:908 lib/eventlog/parse_json.c:1054 msgid "unmatched close bracket" msgstr "neodpovídající uzavírající hranatá závorka" -#: lib/eventlog/parse_json.c:902 +#: lib/eventlog/parse_json.c:919 msgid "unexpected string" msgstr "nečekaný řetězec" -#: lib/eventlog/parse_json.c:913 +#: lib/eventlog/parse_json.c:930 msgid "missing colon after name" msgstr "za názvem chybí dvojtečka" -#: lib/eventlog/parse_json.c:934 lib/eventlog/parse_json.c:956 +#: lib/eventlog/parse_json.c:951 lib/eventlog/parse_json.c:973 msgid "unexpected boolean" msgstr "nečekaná pravdivostní hodnota" -#: lib/eventlog/parse_json.c:978 +#: lib/eventlog/parse_json.c:995 msgid "unexpected null" msgstr "nečekaná hodnota null" -#: lib/eventlog/parse_json.c:999 +#: lib/eventlog/parse_json.c:1016 msgid "unexpected number" msgstr "nečekané číslo" -#: lib/eventlog/parse_json.c:1045 +#: lib/eventlog/parse_json.c:1062 msgid "parse error" msgstr "chyba rozboru" -#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1290 -#: plugins/sudoers/sudoreplay.c:1291 plugins/sudoers/sudoreplay.c:1587 +#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1303 +#: plugins/sudoers/sudoreplay.c:1293 plugins/sudoers/sudoreplay.c:1589 #, c-format msgid "invalid regular expression \"%s\": %s" msgstr "neplatný regulární výraz „%s“: %s" @@ -598,8 +592,8 @@ msgstr "%s chybí položka s runas skupinou" msgid "%s exists but is not a directory (0%o)" msgstr "%s existuje, ale nejedná se o adresář (0%o)" -#: lib/iolog/iolog_mkdirs.c:124 lib/iolog/iolog_mkdtemp.c:80 -#: logsrvd/iolog_writer.c:795 plugins/sudoers/timestamp.c:218 +#: lib/iolog/iolog_mkdirs.c:125 lib/iolog/iolog_mkdtemp.c:80 +#: logsrvd/iolog_writer.c:803 plugins/sudoers/timestamp.c:218 #, c-format msgid "unable to mkdir %s" msgstr "nelze vytvořit adresář %s" @@ -637,90 +631,90 @@ msgstr "%s: chyba protokolu: chybný typ pro %s" msgid "%s: protocol error: NULL value found in %s" msgstr "%s: chyba protokolu: nalezena hodnota NULL v %s" -#: logsrvd/iolog_writer.c:141 plugins/sudoers/logging.c:1024 -#: plugins/sudoers/policy.c:613 +#: logsrvd/iolog_writer.c:141 plugins/sudoers/logging.c:1035 +#: plugins/sudoers/policy.c:621 msgid "unable to generate UUID" msgstr "nelze vytvořit UUID" -#: logsrvd/iolog_writer.c:354 logsrvd/iolog_writer.c:359 -#: logsrvd/iolog_writer.c:364 logsrvd/iolog_writer.c:369 +#: logsrvd/iolog_writer.c:362 logsrvd/iolog_writer.c:367 +#: logsrvd/iolog_writer.c:372 logsrvd/iolog_writer.c:377 #, c-format msgid "%s: protocol error: %s missing from AcceptMessage" msgstr "%s: chyba protokolu: v AcceptMessage chybí %s" -#: logsrvd/iolog_writer.c:430 +#: logsrvd/iolog_writer.c:438 #, c-format msgid "%s: unable to format session id" msgstr "%s: nelze naformátovat identifikátor relace" -#: logsrvd/iolog_writer.c:444 logsrvd/iolog_writer.c:458 -#: logsrvd/iolog_writer.c:472 logsrvd/iolog_writer.c:487 -#: logsrvd/iolog_writer.c:501 logsrvd/iolog_writer.c:515 +#: logsrvd/iolog_writer.c:452 logsrvd/iolog_writer.c:466 +#: logsrvd/iolog_writer.c:480 logsrvd/iolog_writer.c:495 +#: logsrvd/iolog_writer.c:509 logsrvd/iolog_writer.c:523 #, c-format msgid "%s: %s is not set" msgstr "%s: %s není nastaveno" -#: logsrvd/iolog_writer.c:551 logsrvd/iolog_writer.c:558 +#: logsrvd/iolog_writer.c:559 logsrvd/iolog_writer.c:566 #, c-format msgid "unable to expand iolog path %s" msgstr "nelze expandovat iolog cestu %s" -#: logsrvd/iolog_writer.c:576 +#: logsrvd/iolog_writer.c:584 #, c-format msgid "unable to create iolog path %s" msgstr "nelze vytvořit iolog cestu %s" -#: logsrvd/iolog_writer.c:606 +#: logsrvd/iolog_writer.c:614 #, c-format msgid "invalid iofd %d" msgstr "neplatný iofd %d" -#: logsrvd/iolog_writer.c:626 +#: logsrvd/iolog_writer.c:634 #, c-format msgid "error closing iofd %u: %s" msgstr "chyba při zavírání iofd %u: %s" -#: logsrvd/iolog_writer.c:647 +#: logsrvd/iolog_writer.c:655 #, c-format msgid "error flushing iofd %u: %s" msgstr "chyba při vyprazdňování iofd %u: %s" -#: logsrvd/iolog_writer.c:765 +#: logsrvd/iolog_writer.c:773 #, c-format msgid "invalid I/O log %s: %s referenced but not present" msgstr "neplatný I/O log %s: odkazováno na %s, které není přítomno" -#: logsrvd/iolog_writer.c:777 logsrvd/logsrvd_journal.c:391 +#: logsrvd/iolog_writer.c:785 logsrvd/logsrvd_journal.c:391 #, c-format msgid "%s: unable to find resume point [%lld, %ld]" msgstr "%s: nelze nalézt bod obnovy [%lld, %ld]" -#: logsrvd/iolog_writer.c:799 logsrvd/logsrvd_journal.c:434 +#: logsrvd/iolog_writer.c:807 logsrvd/logsrvd_journal.c:434 #: logsrvd/logsrvd_queue.c:115 logsrvd/tls_init.c:256 -#: plugins/sudoers/check.c:285 plugins/sudoers/cvtsudoers.c:758 -#: plugins/sudoers/cvtsudoers.c:780 plugins/sudoers/cvtsudoers.c:1461 -#: plugins/sudoers/cvtsudoers_csv.c:697 plugins/sudoers/cvtsudoers_json.c:902 -#: plugins/sudoers/cvtsudoers_ldif.c:711 plugins/sudoers/sudoers.c:1291 -#: plugins/sudoers/sudoers.c:1317 plugins/sudoers/sudoreplay.c:1497 -#: plugins/sudoers/timestamp.c:478 plugins/sudoers/tsdump.c:128 +#: plugins/sudoers/check.c:278 plugins/sudoers/cvtsudoers.c:758 +#: plugins/sudoers/cvtsudoers.c:780 plugins/sudoers/cvtsudoers.c:1457 +#: plugins/sudoers/cvtsudoers_csv.c:722 plugins/sudoers/cvtsudoers_json.c:1034 +#: plugins/sudoers/cvtsudoers_ldif.c:753 plugins/sudoers/sudoers.c:1309 +#: plugins/sudoers/sudoers.c:1335 plugins/sudoers/sudoreplay.c:1499 +#: plugins/sudoers/timestamp.c:477 plugins/sudoers/tsdump.c:141 #: plugins/sudoers/visudo.c:990 #, c-format msgid "unable to open %s" msgstr "nelze otevřít %s" -#: logsrvd/iolog_writer.c:811 logsrvd/logsrv_util.c:111 +#: logsrvd/iolog_writer.c:819 logsrvd/logsrv_util.c:111 #: logsrvd/logsrv_util.c:118 plugins/sudoers/sudoreplay.c:355 #: plugins/sudoers/sudoreplay.c:361 #, c-format msgid "unable to open %s/%s" msgstr "nelze otevřít %s/%s" -#: logsrvd/iolog_writer.c:824 +#: logsrvd/iolog_writer.c:832 #, c-format msgid "unable to copy %s/%s to %s/%s: %s" msgstr "%s/%s nelze zkopírovat do %s/%s: %s" -#: logsrvd/iolog_writer.c:853 logsrvd/logsrvd_journal.c:198 +#: logsrvd/iolog_writer.c:861 logsrvd/logsrvd_journal.c:198 #, c-format msgid "unable to rename %s to %s" msgstr "%s nelze přejmenovat na %s" @@ -740,209 +734,209 @@ msgstr "chybí vstupně-výstupní soubor s protokolem %s/%s" msgid "%s/%s: unable to seek forward %zu" msgstr "%s/%s: nelze skočit vpřed o %zu" -#: logsrvd/logsrvd.c:271 logsrvd/logsrvd_queue.c:135 +#: logsrvd/logsrvd.c:272 logsrvd/logsrvd_queue.c:135 msgid "unable to connect to relay" msgstr "k relayi se nelze připojit" -#: logsrvd/logsrvd.c:338 logsrvd/logsrvd_relay.c:847 +#: logsrvd/logsrvd.c:339 logsrvd/logsrvd_relay.c:847 #, c-format msgid "server message too large: %zu" msgstr "správa od serveru je příliš velká: %zu" -#: logsrvd/logsrvd.c:430 logsrvd/logsrvd.c:553 logsrvd/logsrvd.c:639 -#: logsrvd/logsrvd.c:881 logsrvd/logsrvd.c:895 logsrvd/logsrvd.c:1056 -#: logsrvd/logsrvd.c:1181 logsrvd/logsrvd.c:1354 logsrvd/logsrvd.c:1372 -#: logsrvd/logsrvd.c:1471 logsrvd/logsrvd.c:1596 logsrvd/logsrvd.c:1783 +#: logsrvd/logsrvd.c:431 logsrvd/logsrvd.c:554 logsrvd/logsrvd.c:640 +#: logsrvd/logsrvd.c:882 logsrvd/logsrvd.c:896 logsrvd/logsrvd.c:1057 +#: logsrvd/logsrvd.c:1182 logsrvd/logsrvd.c:1364 logsrvd/logsrvd.c:1382 +#: logsrvd/logsrvd.c:1481 logsrvd/logsrvd.c:1606 logsrvd/logsrvd.c:1793 #: logsrvd/logsrvd_journal.c:503 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:391 logsrvd/logsrvd_relay.c:583 #: logsrvd/logsrvd_relay.c:747 logsrvd/logsrvd_relay.c:1137 -#: logsrvd/sendlog.c:1308 logsrvd/tls_client.c:136 logsrvd/tls_client.c:152 -#: logsrvd/tls_client.c:216 plugins/sudoers/audit.c:281 -#: plugins/sudoers/iolog.c:1041 plugins/sudoers/iolog.c:1175 -#: plugins/sudoers/iolog.c:1274 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:613 -#: plugins/sudoers/log_client.c:620 plugins/sudoers/log_client.c:1114 -#: plugins/sudoers/log_client.c:1395 plugins/sudoers/log_client.c:1436 -#: plugins/sudoers/log_client.c:1444 plugins/sudoers/log_client.c:1603 -#: plugins/sudoers/log_client.c:1728 plugins/sudoers/log_client.c:2060 -#: plugins/sudoers/log_client.c:2068 plugins/sudoers/logging.c:148 +#: logsrvd/sendlog.c:1333 logsrvd/tls_client.c:145 logsrvd/tls_client.c:161 +#: logsrvd/tls_client.c:225 plugins/sudoers/audit.c:281 +#: plugins/sudoers/iolog.c:1049 plugins/sudoers/iolog.c:1183 +#: plugins/sudoers/iolog.c:1282 plugins/sudoers/log_client.c:121 +#: plugins/sudoers/log_client.c:352 plugins/sudoers/log_client.c:368 +#: plugins/sudoers/log_client.c:416 plugins/sudoers/log_client.c:622 +#: plugins/sudoers/log_client.c:629 plugins/sudoers/log_client.c:1137 +#: plugins/sudoers/log_client.c:1418 plugins/sudoers/log_client.c:1459 +#: plugins/sudoers/log_client.c:1467 plugins/sudoers/log_client.c:1626 +#: plugins/sudoers/log_client.c:1751 plugins/sudoers/log_client.c:2085 +#: plugins/sudoers/log_client.c:2093 plugins/sudoers/logging.c:148 #: plugins/sudoers/logging.c:206 plugins/sudoers/sudoreplay.c:519 -#: plugins/sudoers/sudoreplay.c:566 plugins/sudoers/sudoreplay.c:808 -#: plugins/sudoers/sudoreplay.c:920 plugins/sudoers/sudoreplay.c:1011 -#: plugins/sudoers/sudoreplay.c:1026 plugins/sudoers/sudoreplay.c:1033 -#: plugins/sudoers/sudoreplay.c:1040 plugins/sudoers/sudoreplay.c:1047 -#: plugins/sudoers/sudoreplay.c:1054 plugins/sudoers/sudoreplay.c:1182 +#: plugins/sudoers/sudoreplay.c:566 plugins/sudoers/sudoreplay.c:810 +#: plugins/sudoers/sudoreplay.c:922 plugins/sudoers/sudoreplay.c:1013 +#: plugins/sudoers/sudoreplay.c:1028 plugins/sudoers/sudoreplay.c:1035 +#: plugins/sudoers/sudoreplay.c:1042 plugins/sudoers/sudoreplay.c:1049 +#: plugins/sudoers/sudoreplay.c:1056 plugins/sudoers/sudoreplay.c:1184 msgid "unable to add event to queue" msgstr "událost nelze přidat do fronty" -#: logsrvd/logsrvd.c:454 logsrvd/logsrvd.c:491 logsrvd/logsrvd.c:523 -#: logsrvd/logsrvd.c:577 logsrvd/logsrvd.c:656 logsrvd/logsrvd.c:692 -#: logsrvd/logsrvd.c:728 logsrvd/logsrvd.c:764 logsrvd/logsrvd_relay.c:512 +#: logsrvd/logsrvd.c:455 logsrvd/logsrvd.c:492 logsrvd/logsrvd.c:524 +#: logsrvd/logsrvd.c:578 logsrvd/logsrvd.c:657 logsrvd/logsrvd.c:693 +#: logsrvd/logsrvd.c:729 logsrvd/logsrvd.c:765 logsrvd/logsrvd_relay.c:512 #: logsrvd/logsrvd_relay.c:545 #, c-format msgid "unexpected state %d for %s" msgstr "nečekaný stav %d u %s" -#: logsrvd/logsrvd.c:455 logsrvd/logsrvd.c:492 logsrvd/logsrvd.c:524 -#: logsrvd/logsrvd.c:578 logsrvd/logsrvd.c:657 logsrvd/logsrvd.c:693 -#: logsrvd/logsrvd.c:729 logsrvd/logsrvd.c:765 logsrvd/logsrvd_relay.c:514 +#: logsrvd/logsrvd.c:456 logsrvd/logsrvd.c:493 logsrvd/logsrvd.c:525 +#: logsrvd/logsrvd.c:579 logsrvd/logsrvd.c:658 logsrvd/logsrvd.c:694 +#: logsrvd/logsrvd.c:730 logsrvd/logsrvd.c:766 logsrvd/logsrvd_relay.c:514 #: logsrvd/logsrvd_relay.c:547 msgid "state machine error" msgstr "chyba stavového automatu" -#: logsrvd/logsrvd.c:461 logsrvd/logsrvd.c:462 +#: logsrvd/logsrvd.c:462 logsrvd/logsrvd.c:463 msgid "invalid AcceptMessage" msgstr "neplatná zpráva AcceptMessage" -#: logsrvd/logsrvd.c:498 logsrvd/logsrvd.c:499 +#: logsrvd/logsrvd.c:499 logsrvd/logsrvd.c:500 msgid "invalid RejectMessage" msgstr "neplatná zpráva RejectMessage" -#: logsrvd/logsrvd.c:530 logsrvd/logsrvd.c:531 +#: logsrvd/logsrvd.c:531 logsrvd/logsrvd.c:532 msgid "invalid ExitMessage" msgstr "neplatná zpráva ExitMessage" -#: logsrvd/logsrvd.c:584 logsrvd/logsrvd.c:585 +#: logsrvd/logsrvd.c:585 logsrvd/logsrvd.c:586 msgid "invalid RestartMessage" msgstr "neplatná zpráva RestartMessage" -#: logsrvd/logsrvd.c:619 logsrvd/logsrvd.c:620 +#: logsrvd/logsrvd.c:620 logsrvd/logsrvd.c:621 msgid "invalid AlertMessage" msgstr "neplatná zpráva AlertMessage" -#: logsrvd/logsrvd.c:661 logsrvd/logsrvd.c:697 logsrvd/logsrvd.c:733 +#: logsrvd/logsrvd.c:662 logsrvd/logsrvd.c:698 logsrvd/logsrvd.c:734 #, c-format msgid "%s: unexpected IoBuffer" msgstr "%s: nečekaný IoBuffer" -#: logsrvd/logsrvd.c:662 logsrvd/logsrvd.c:698 logsrvd/logsrvd.c:734 +#: logsrvd/logsrvd.c:663 logsrvd/logsrvd.c:699 logsrvd/logsrvd.c:735 msgid "protocol error" msgstr "chyba protokolu" -#: logsrvd/logsrvd.c:668 logsrvd/logsrvd.c:669 +#: logsrvd/logsrvd.c:669 logsrvd/logsrvd.c:670 msgid "invalid IoBuffer" msgstr "neplatný IoBuffer" -#: logsrvd/logsrvd.c:704 logsrvd/logsrvd.c:705 +#: logsrvd/logsrvd.c:705 logsrvd/logsrvd.c:706 msgid "invalid ChangeWindowSize" msgstr "neplatná ChangeWindowSize" -#: logsrvd/logsrvd.c:740 logsrvd/logsrvd.c:741 +#: logsrvd/logsrvd.c:741 logsrvd/logsrvd.c:742 msgid "invalid CommandSuspend" msgstr "neplatný CommandSuspend" -#: logsrvd/logsrvd.c:790 logsrvd/logsrvd_journal.c:302 -#: logsrvd/logsrvd_relay.c:654 logsrvd/sendlog.c:1207 -#: plugins/sudoers/log_client.c:1593 +#: logsrvd/logsrvd.c:791 logsrvd/logsrvd_journal.c:302 +#: logsrvd/logsrvd_relay.c:654 logsrvd/sendlog.c:1232 +#: plugins/sudoers/log_client.c:1616 #, c-format msgid "unable to unpack %s size %zu" msgstr "%s o velikosti %zu nelze rozbalit" -#: logsrvd/logsrvd.c:835 logsrvd/logsrvd_journal.c:376 +#: logsrvd/logsrvd.c:836 logsrvd/logsrvd_journal.c:376 #: logsrvd/logsrvd_relay.c:678 #, c-format msgid "unexpected type_case value %d in %s from %s" msgstr "nečekaná hodnota type_case %d v %s od %s" -#: logsrvd/logsrvd.c:837 +#: logsrvd/logsrvd.c:838 msgid "unrecognized ClientMessage type" msgstr "nerozpoznaný druh zprávy ClientMessage" -#: logsrvd/logsrvd.c:927 +#: logsrvd/logsrvd.c:928 #, c-format msgid "timed out writing to client %s" msgstr "při zapisování do klienta %s vypršel časový limit" -#: logsrvd/logsrvd.c:932 logsrvd/logsrvd_relay.c:919 logsrvd/sendlog.c:1413 +#: logsrvd/logsrvd.c:933 logsrvd/logsrvd_relay.c:919 logsrvd/sendlog.c:1438 #, c-format msgid "missing write buffer for client %s" msgstr "chybí vyrovnávací paměť pro zápis do klienta %s" -#: logsrvd/logsrvd.c:1027 +#: logsrvd/logsrvd.c:1028 #, c-format msgid "timed out reading from client %s" msgstr "při čtení z klienta %s vypršel časový limit" -#: logsrvd/logsrvd.c:1068 logsrvd/logsrvd_relay.c:782 +#: logsrvd/logsrvd.c:1069 logsrvd/logsrvd_relay.c:782 #, c-format msgid "EOF from %s without proper TLS shutdown" msgstr "konec souboru od %s bez řádného ukončení TLS" -#: logsrvd/logsrvd.c:1112 logsrvd/logsrvd_relay.c:205 logsrvd/sendlog.c:336 -#: plugins/sudoers/log_client.c:723 +#: logsrvd/logsrvd.c:1113 logsrvd/logsrvd_relay.c:205 logsrvd/sendlog.c:336 +#: plugins/sudoers/log_client.c:732 #, c-format msgid "client message too large: %zu" msgstr "zpráva od klienta je příliš velká: %zu" -#: logsrvd/logsrvd.c:1113 logsrvd/logsrvd_journal.c:259 +#: logsrvd/logsrvd.c:1114 logsrvd/logsrvd_journal.c:259 #: logsrvd/logsrvd_journal.c:260 msgid "client message too large" msgstr "zpráva od klienta je příliš velká" -#: logsrvd/logsrvd.c:1131 logsrvd/logsrvd.c:1132 +#: logsrvd/logsrvd.c:1132 logsrvd/logsrvd.c:1133 msgid "invalid ClientMessage" msgstr "neplatná zpráva ClientMessage" -#: logsrvd/logsrvd.c:1432 +#: logsrvd/logsrvd.c:1442 msgid "unable to get remote IP addr" msgstr "nelze získat vzdálenou IP adresu" -#: logsrvd/logsrvd.c:1463 logsrvd/tls_client.c:203 -#: plugins/sudoers/log_client.c:281 +#: logsrvd/logsrvd.c:1473 logsrvd/tls_client.c:212 +#: plugins/sudoers/log_client.c:290 #, c-format msgid "Unable to attach user data to the ssl object: %s" msgstr "K objektu SSL nelze připojit uživatelská data: %s" -#: logsrvd/logsrvd.c:1646 logsrvd/logsrvd.c:2007 +#: logsrvd/logsrvd.c:1656 logsrvd/logsrvd.c:2050 msgid "unable to setup listen socket" msgstr "nelze nastavit naslouchací socket" -#: logsrvd/logsrvd.c:1766 +#: logsrvd/logsrvd.c:1776 #, c-format msgid "unexpected signal %d" msgstr "nečekaný signál %d" -#: logsrvd/logsrvd.c:1909 +#: logsrvd/logsrvd.c:1949 msgid "sudo log server" msgstr "protokolovací server suda" -#: logsrvd/logsrvd.c:1911 logsrvd/sendlog.c:126 +#: logsrvd/logsrvd.c:1951 logsrvd/sendlog.c:126 msgid "Options:" msgstr "Volby:" -#: logsrvd/logsrvd.c:1913 +#: logsrvd/logsrvd.c:1953 msgid "path to configuration file" msgstr "cesta ke konfiguračnímu souboru" -#: logsrvd/logsrvd.c:1915 logsrvd/sendlog.c:128 +#: logsrvd/logsrvd.c:1955 logsrvd/sendlog.c:128 msgid "display help message and exit" msgstr "zobrazí nápovědu a skončí" -#: logsrvd/logsrvd.c:1917 +#: logsrvd/logsrvd.c:1957 msgid "do not fork, run in the foreground" msgstr "neoddělí proces, běží na popředí" -#: logsrvd/logsrvd.c:1919 +#: logsrvd/logsrvd.c:1959 msgid "percent chance connections will drop" msgstr "procentuální pravděpodobnost, že spojení se přeruší" -#: logsrvd/logsrvd.c:1921 logsrvd/sendlog.c:158 +#: logsrvd/logsrvd.c:1961 logsrvd/sendlog.c:158 msgid "display version information and exit" msgstr "zobrazí údaje o verzi a skončí" -#: logsrvd/logsrvd.c:1971 logsrvd/sendlog.c:1722 +#: logsrvd/logsrvd.c:2011 logsrvd/sendlog.c:1747 msgid "Protobuf-C version 1.3 or higher required" msgstr "Je vyžadována knihovna Protobuf-C verze 1.3 nebo vyšší" -#: logsrvd/logsrvd.c:1987 +#: logsrvd/logsrvd.c:2027 #, c-format msgid "invalid random drop value: %s" msgstr "neplatná hodnota pravděpodobnosti ztráty: %s" -#: logsrvd/logsrvd.c:1990 logsrvd/sendlog.c:1776 +#: logsrvd/logsrvd.c:2030 logsrvd/sendlog.c:1801 #: plugins/sudoers/cvtsudoers.c:250 plugins/sudoers/sudoreplay.c:294 #: plugins/sudoers/visudo.c:181 #, c-format @@ -951,16 +945,16 @@ msgstr "%s verze %s\n" #: logsrvd/logsrvd_conf.c:422 plugins/sudoers/check.c:69 #: plugins/sudoers/exptilde.c:85 plugins/sudoers/iolog.c:122 -#: plugins/sudoers/sudoers.c:419 plugins/sudoers/sudoers.c:929 -#: plugins/sudoers/sudoers.c:1034 plugins/sudoers/sudoers.c:1424 +#: plugins/sudoers/sudoers.c:419 plugins/sudoers/sudoers.c:946 +#: plugins/sudoers/sudoers.c:1052 plugins/sudoers/sudoers.c:1442 #: plugins/sudoers/testsudoers.c:169 plugins/sudoers/testsudoers.c:285 -#: plugins/sudoers/testsudoers.c:459 +#: plugins/sudoers/testsudoers.c:459 plugins/sudoers/tsdump.c:131 #, c-format msgid "unknown user %s" msgstr "neznámý uživatel %s" #: logsrvd/logsrvd_conf.c:439 plugins/sudoers/iolog.c:148 -#: plugins/sudoers/sudoers.c:425 plugins/sudoers/sudoers.c:1458 +#: plugins/sudoers/sudoers.c:425 plugins/sudoers/sudoers.c:1476 #: plugins/sudoers/testsudoers.c:483 #, c-format msgid "unknown group %s" @@ -971,7 +965,7 @@ msgstr "neznámá skupina %s" msgid "unable to parse iolog mode %s" msgstr "nelze rozebrat režim iologu %s" -#: logsrvd/logsrvd_conf.c:474 logsrvd/logsrvd_conf.c:1243 +#: logsrvd/logsrvd_conf.c:474 logsrvd/logsrvd_conf.c:1248 #, c-format msgid "invalid value for %s: %s" msgstr "neplatná hodnota pro %s: %s" @@ -985,65 +979,65 @@ msgstr "protokol TLS není podporován" msgid "%s:%s" msgstr "%s:%s" -#: logsrvd/logsrvd_conf.c:622 logsrvd/logsrvd_conf.c:1032 +#: logsrvd/logsrvd_conf.c:622 logsrvd/logsrvd_conf.c:1037 #, c-format msgid "%s: not a fully qualified path" msgstr "%s: cesta není plně kvalifikovaná" -#: logsrvd/logsrvd_conf.c:951 logsrvd/logsrvd_conf.c:967 -#: logsrvd/logsrvd_conf.c:1676 +#: logsrvd/logsrvd_conf.c:956 logsrvd/logsrvd_conf.c:972 +#: logsrvd/logsrvd_conf.c:1681 #, c-format msgid "unknown syslog facility %s" msgstr "neznámý obor systémového protokolu %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 +#: logsrvd/logsrvd_conf.c:988 logsrvd/logsrvd_conf.c:1004 +#: logsrvd/logsrvd_conf.c:1020 logsrvd/logsrvd_conf.c:1685 +#: logsrvd/logsrvd_conf.c:1689 logsrvd/logsrvd_conf.c:1693 #, c-format msgid "unknown syslog priority %s" msgstr "neznámá priorita systémového protokolu: %s" -#: logsrvd/logsrvd_conf.c:1197 +#: logsrvd/logsrvd_conf.c:1202 #, c-format msgid "%s:%d unmatched '[': %s" msgstr "%s:%d nepárová „[“: %s" -#: logsrvd/logsrvd_conf.c:1203 +#: logsrvd/logsrvd_conf.c:1208 #, c-format msgid "%s:%d garbage after ']': %s" msgstr "%s:%d smetí po „]“: %s" -#: logsrvd/logsrvd_conf.c:1215 +#: logsrvd/logsrvd_conf.c:1220 #, c-format msgid "%s:%d invalid config section: %s" msgstr "%s:%d neplatný konfigurační oddíl: %s" -#: logsrvd/logsrvd_conf.c:1223 +#: logsrvd/logsrvd_conf.c:1228 #, c-format msgid "%s:%d invalid configuration line: %s" msgstr "%s:%d neplatný řádek s konfigurací: %s" -#: logsrvd/logsrvd_conf.c:1229 +#: logsrvd/logsrvd_conf.c:1234 #, c-format msgid "%s:%d expected section name: %s" msgstr "%s:%d očekávaný název oddílu: %s" -#: logsrvd/logsrvd_conf.c:1251 +#: logsrvd/logsrvd_conf.c:1256 #, c-format msgid "%s:%d [%s] illegal key: %s" msgstr "%s:%d [%s] nedovolený klíč: %s" -#: logsrvd/logsrvd_conf.c:1281 plugins/sudoers/cvtsudoers.c:273 -#: plugins/sudoers/logging.c:1076 +#: logsrvd/logsrvd_conf.c:1286 plugins/sudoers/cvtsudoers.c:273 +#: plugins/sudoers/logging.c:1087 #, c-format msgid "unable to open log file %s" msgstr "nelze otevřít soubor protokolu %s" -#: logsrvd/logsrvd_conf.c:1763 +#: logsrvd/logsrvd_conf.c:1768 msgid "unable to initialize server TLS context" msgstr "TLS kontext serveru nelze inicializovat" -#: logsrvd/logsrvd_conf.c:1783 +#: logsrvd/logsrvd_conf.c:1788 msgid "unable to initialize relay TLS context" msgstr "TLS kontext relay nelze inicializovat" @@ -1147,7 +1141,7 @@ msgstr "nelze naformátovat časový údaj, délka %d" #: logsrvd/logsrvd_local.c:601 logsrvd/logsrvd_local.c:609 #: logsrvd/logsrvd_local.c:657 logsrvd/logsrvd_local.c:692 -#: plugins/sudoers/sudoreplay.c:344 toke.l:981 toke.l:984 +#: plugins/sudoers/sudoreplay.c:344 toke.l:961 toke.l:964 #, c-format msgid "%s/%s: %s" msgstr "%s/%s: %s" @@ -1181,8 +1175,8 @@ msgstr "ke stroji relaye se nelze připojit" msgid "%s: invalid ServerHello, missing server_id" msgstr "%s: neplatná správa ServerHello, chybí server_id" -#: logsrvd/logsrvd_relay.c:522 logsrvd/sendlog.c:1111 -#: plugins/sudoers/log_client.c:1479 +#: logsrvd/logsrvd_relay.c:522 logsrvd/sendlog.c:1136 +#: plugins/sudoers/log_client.c:1502 msgid "invalid ServerHello" msgstr "neplatná správa ServerHello" @@ -1286,7 +1280,7 @@ msgstr "zastavit přenos po dosažení tohoto času" msgid "test audit server by sending selected I/O log n times in parallel" msgstr "vyzkoušet auditní server zasláním vybraného protokolu vstupu-výstupu n-krát souběžně" -#: logsrvd/sendlog.c:181 plugins/sudoers/log_client.c:453 +#: logsrvd/sendlog.c:181 plugins/sudoers/log_client.c:462 #, c-format msgid "unable to look up %s:%s: %s" msgstr "%s:%s nelze vyhledat: %s" @@ -1295,108 +1289,108 @@ msgstr "%s:%s nelze vyhledat: %s" msgid "unable to get server IP addr" msgstr "nelze získat IP adresu serveru" -#: logsrvd/sendlog.c:314 plugins/sudoers/sudoreplay.c:868 +#: logsrvd/sendlog.c:314 plugins/sudoers/sudoreplay.c:870 #, c-format msgid "unable to read %s/%s: %s" msgstr "%s/%s nelze přečíst: %s" -#: logsrvd/sendlog.c:1035 plugins/sudoers/iolog.c:959 -#: plugins/sudoers/iolog.c:1034 +#: logsrvd/sendlog.c:1060 plugins/sudoers/iolog.c:967 +#: plugins/sudoers/iolog.c:1042 #, c-format msgid "unexpected I/O event %d" msgstr "nečekaná I/O událost %d" -#: logsrvd/sendlog.c:1088 logsrvd/sendlog.c:1105 logsrvd/sendlog.c:1139 -#: plugins/sudoers/log_client.c:1129 plugins/sudoers/log_client.c:1405 -#: plugins/sudoers/log_client.c:1473 plugins/sudoers/log_client.c:1512 +#: logsrvd/sendlog.c:1113 logsrvd/sendlog.c:1130 logsrvd/sendlog.c:1164 +#: plugins/sudoers/log_client.c:1152 plugins/sudoers/log_client.c:1428 +#: plugins/sudoers/log_client.c:1496 plugins/sudoers/log_client.c:1535 #, c-format msgid "%s: unexpected state %d" msgstr "%s: nečekaný stav %d" -#: logsrvd/sendlog.c:1175 plugins/sudoers/log_client.c:1561 +#: logsrvd/sendlog.c:1200 plugins/sudoers/log_client.c:1584 #, c-format msgid "error message received from server: %s" msgstr "od serveru byla přijata chybová zpráva: %s" -#: logsrvd/sendlog.c:1188 plugins/sudoers/log_client.c:1574 +#: logsrvd/sendlog.c:1213 plugins/sudoers/log_client.c:1597 #, c-format msgid "abort message received from server: %s" msgstr "od serveru byla přijata zpráva o zrušení: %s" -#: logsrvd/sendlog.c:1247 plugins/sudoers/log_client.c:1624 +#: logsrvd/sendlog.c:1272 plugins/sudoers/log_client.c:1647 #, c-format msgid "%s: unexpected type_case value %d" msgstr "%s: nečekaná hodnota type_case %d" -#: logsrvd/sendlog.c:1276 +#: logsrvd/sendlog.c:1301 msgid "timeout reading from server" msgstr "při čtení ze serveru vypršel časový limit" -#: logsrvd/sendlog.c:1327 plugins/sudoers/log_client.c:1747 +#: logsrvd/sendlog.c:1352 plugins/sudoers/log_client.c:1770 msgid "host name does not match certificate" msgstr "název stroje neodpovídá certifikátu" -#: logsrvd/sendlog.c:1361 +#: logsrvd/sendlog.c:1386 msgid "premature EOF" msgstr "předčasný konec souboru" -#: logsrvd/sendlog.c:1374 plugins/sudoers/log_client.c:1795 +#: logsrvd/sendlog.c:1399 plugins/sudoers/log_client.c:1818 #, c-format msgid "server message too large: %u" msgstr "správa od serveru je příliš velká: %u" -#: logsrvd/sendlog.c:1430 +#: logsrvd/sendlog.c:1455 msgid "timeout writing to server" msgstr "při zapisování do serveru vypršel časový limit" -#: logsrvd/sendlog.c:1800 +#: logsrvd/sendlog.c:1825 msgid "both restart point and iolog ID must be specified" msgstr "musí být zadán jak bod navázání, tak i identifikátor iolog" -#: logsrvd/sendlog.c:1804 +#: logsrvd/sendlog.c:1829 msgid "a restart point may not be set when no I/O is sent" msgstr "bod navázání nelze nastavit, když žádný vstup/výstup nebyl odeslán" -#: logsrvd/sendlog.c:1880 +#: logsrvd/sendlog.c:1905 #, c-format msgid "exited prematurely with state %d" msgstr "ukončeno předčasně ve stavu %d" -#: logsrvd/sendlog.c:1881 +#: logsrvd/sendlog.c:1906 #, c-format msgid "elapsed time sent to server [%lld, %ld]" msgstr "uplynulý čas zaslaný serveru [%lld, %ld]" -#: logsrvd/sendlog.c:1883 +#: logsrvd/sendlog.c:1908 #, c-format msgid "commit point received from server [%lld, %ld]" msgstr "od server byl přijat bod zápisu [%lld, %ld]" -#: logsrvd/tls_client.c:111 plugins/sudoers/log_client.c:315 +#: logsrvd/tls_client.c:120 plugins/sudoers/log_client.c:324 msgid "TLS handshake timeout occurred" msgstr "Při navazování spojení TLS vypršel časový limit" -#: logsrvd/tls_client.c:131 logsrvd/tls_client.c:147 -#: plugins/sudoers/log_client.c:337 plugins/sudoers/log_client.c:353 +#: logsrvd/tls_client.c:140 logsrvd/tls_client.c:156 +#: plugins/sudoers/log_client.c:346 plugins/sudoers/log_client.c:362 msgid "unable to set event" msgstr "událost nelze nastavit" -#: logsrvd/tls_client.c:157 logsrvd/tls_client.c:161 +#: logsrvd/tls_client.c:166 logsrvd/tls_client.c:170 #, c-format msgid "TLS connection failed: %s" msgstr "spojení TLS selhalo: %s" -#: logsrvd/tls_client.c:196 +#: logsrvd/tls_client.c:205 #, c-format msgid "unable to allocate ssl object: %s" msgstr "objekt SSL nelze alokovat: %s" -#: logsrvd/tls_client.c:210 +#: logsrvd/tls_client.c:219 #, c-format msgid "Unable to attach socket to the ssl object: %s" msgstr "K objektu SSL nelze připojit socket: %s" -#: logsrvd/tls_client.c:238 +#: logsrvd/tls_client.c:247 msgid "unable to initialize TLS context" msgstr "kontext TLS nelze inicializovat" @@ -1425,12 +1419,11 @@ msgstr "nelze vytvořit kontext TLS: %s" msgid "unable to set minimum protocol version to TLS 1.2: %s" msgstr "nelze nastavit minimální verzi protokolu na TLS 1.2: %s" -#: plugins/sudoers/audit.c:272 plugins/sudoers/audit.c:452 -#: plugins/sudoers/log_client.c:962 plugins/sudoers/log_client.c:1011 -#: plugins/sudoers/log_client.c:1060 plugins/sudoers/log_client.c:1185 -#: plugins/sudoers/logging.c:614 plugins/sudoers/logging.c:732 -#: plugins/sudoers/logging.c:859 plugins/sudoers/logging.c:1031 -#: plugins/sudoers/policy.c:123 +#: plugins/sudoers/audit.c:272 plugins/sudoers/log_client.c:985 +#: plugins/sudoers/log_client.c:1034 plugins/sudoers/log_client.c:1083 +#: plugins/sudoers/log_client.c:1208 plugins/sudoers/logging.c:627 +#: plugins/sudoers/logging.c:867 plugins/sudoers/logging.c:1017 +#: plugins/sudoers/logging.c:1041 plugins/sudoers/policy.c:1055 msgid "unable to get time of day" msgstr "nelze získat čas" @@ -1486,47 +1479,47 @@ msgstr "" "chyba autentizačního serveru:\n" "%s" -#: plugins/sudoers/auth/kerb5.c:116 +#: plugins/sudoers/auth/kerb5.c:117 #, c-format msgid "%s: unable to convert principal to string ('%s'): %s" msgstr "%s: principála nelze převést na řetězec („%s“): %s" -#: plugins/sudoers/auth/kerb5.c:166 +#: plugins/sudoers/auth/kerb5.c:167 #, c-format msgid "%s: unable to parse '%s': %s" msgstr "%s: „%s“ nelze rozebrat: %s" -#: plugins/sudoers/auth/kerb5.c:175 +#: plugins/sudoers/auth/kerb5.c:176 #, c-format msgid "%s: unable to resolve credential cache: %s" msgstr "%s: nelze najít keš s pověřeními: %s" -#: plugins/sudoers/auth/kerb5.c:226 +#: plugins/sudoers/auth/kerb5.c:227 #, c-format msgid "%s: unable to allocate options: %s" msgstr "%s: nelze alokovat volby: %s" -#: plugins/sudoers/auth/kerb5.c:241 +#: plugins/sudoers/auth/kerb5.c:242 #, c-format msgid "%s: unable to get credentials: %s" msgstr "%s: nelze získat pověření: %s" -#: plugins/sudoers/auth/kerb5.c:254 +#: plugins/sudoers/auth/kerb5.c:255 #, c-format msgid "%s: unable to initialize credential cache: %s" msgstr "%s: nelze inicializovat keš s pověřeními: %s" -#: plugins/sudoers/auth/kerb5.c:257 +#: plugins/sudoers/auth/kerb5.c:258 #, c-format msgid "%s: unable to store credential in cache: %s" msgstr "%s: pověření nelze uložit do keše: %s" -#: plugins/sudoers/auth/kerb5.c:322 +#: plugins/sudoers/auth/kerb5.c:324 #, c-format msgid "%s: unable to get host principal: %s" msgstr "%s: nelze získat principála stroje: %s" -#: plugins/sudoers/auth/kerb5.c:336 +#: plugins/sudoers/auth/kerb5.c:338 #, c-format msgid "%s: Cannot verify TGT! Possible attack!: %s" msgstr "%s: TGT nelze ověřit! Podezření na útok!: %s" @@ -1604,7 +1597,7 @@ msgstr "neznámá chyba SecurID" msgid "invalid passcode length for SecurID" msgstr "neplatná délka kódu pro SecurID" -#: plugins/sudoers/auth/sia.c:72 plugins/sudoers/auth/sia.c:130 +#: plugins/sudoers/auth/sia.c:72 plugins/sudoers/auth/sia.c:131 msgid "unable to initialize SIA session" msgstr "nelze inicializovat relaci SIA" @@ -1641,22 +1634,22 @@ msgid "unable to commit audit record" msgstr "auditní zprávu nelze odeslat" #: plugins/sudoers/check.c:63 plugins/sudoers/check.c:74 -#: plugins/sudoers/lookup.c:79 plugins/sudoers/tsdump.c:119 +#: plugins/sudoers/lookup.c:79 #, c-format msgid "unknown uid %u" msgstr "neznámé UID %u" -#: plugins/sudoers/check.c:277 +#: plugins/sudoers/check.c:270 #, c-format msgid "error reading lecture file %s" msgstr "chyba při čtení souboru lekce %s" -#: plugins/sudoers/check.c:280 +#: plugins/sudoers/check.c:273 #, c-format msgid "ignoring lecture file %s: not a regular file" msgstr "ignoruje se soubor lekce %s: nejedná se o běžný soubor" -#: plugins/sudoers/check.c:293 +#: plugins/sudoers/check.c:286 msgid "" "\n" "We trust you have received the usual lecture from the local System\n" @@ -1676,7 +1669,7 @@ msgstr "" " 3. S velkými právy přichází velká zodpovědnost.\n" "\n" -#: plugins/sudoers/check.c:301 +#: plugins/sudoers/check.c:294 msgid "" "For security reasons, the password you type will not be visible.\n" "\n" @@ -1765,13 +1758,13 @@ msgstr "neplatný filtr: %s" msgid "failed to parse %s file, unknown error" msgstr "rozbor souboru %s se nezdařil, neznámá chyba" -#: plugins/sudoers/cvtsudoers.c:1508 plugins/sudoers/sudoreplay.c:1143 +#: plugins/sudoers/cvtsudoers.c:1504 plugins/sudoers/sudoreplay.c:1145 #: plugins/sudoers/timestamp.c:353 plugins/sudoers/timestamp.c:356 #, c-format msgid "unable to write to %s" msgstr "do %s nelze zapsat" -#: plugins/sudoers/cvtsudoers.c:1536 +#: plugins/sudoers/cvtsudoers.c:1532 #, c-format msgid "" "%s - convert between sudoers file formats\n" @@ -1780,7 +1773,7 @@ msgstr "" "%s – převádí mezí formáty souboru sudoers\n" "\n" -#: plugins/sudoers/cvtsudoers.c:1538 +#: plugins/sudoers/cvtsudoers.c:1534 msgid "" "\n" "Options:\n" @@ -1823,817 +1816,836 @@ msgstr "" " -V, --version zobrazí údaje o verzi a skončí" #: plugins/sudoers/cvtsudoers_csv.c:192 plugins/sudoers/cvtsudoers_csv.c:199 -#: plugins/sudoers/cvtsudoers_ldif.c:245 plugins/sudoers/cvtsudoers_ldif.c:252 -#: plugins/sudoers/cvtsudoers_ldif.c:594 plugins/sudoers/env.c:340 -#: plugins/sudoers/env.c:347 plugins/sudoers/env.c:458 +#: plugins/sudoers/cvtsudoers_ldif.c:270 plugins/sudoers/cvtsudoers_ldif.c:277 +#: plugins/sudoers/cvtsudoers_ldif.c:628 plugins/sudoers/env.c:357 +#: plugins/sudoers/env.c:364 plugins/sudoers/env.c:475 #: plugins/sudoers/ldap.c:511 plugins/sudoers/ldap.c:629 #: plugins/sudoers/ldap.c:1003 plugins/sudoers/ldap_conf.c:219 -#: plugins/sudoers/ldap_conf.c:310 plugins/sudoers/ldap_util.c:486 -#: plugins/sudoers/linux_audit.c:93 plugins/sudoers/logging.c:479 -#: plugins/sudoers/policy.c:828 plugins/sudoers/policy.c:840 +#: plugins/sudoers/ldap_conf.c:310 plugins/sudoers/ldap_util.c:483 +#: plugins/sudoers/linux_audit.c:93 plugins/sudoers/logging.c:487 +#: plugins/sudoers/policy.c:836 plugins/sudoers/policy.c:848 #: plugins/sudoers/prompt.c:169 plugins/sudoers/serialize_list.c:62 #: plugins/sudoers/serialize_list.c:71 plugins/sudoers/strvec_join.c:62 -#: plugins/sudoers/sudoreplay.c:1340 plugins/sudoers/sudoreplay.c:1346 -#: plugins/sudoers/sudoreplay.c:1352 plugins/sudoers/testsudoers.c:306 -#: plugins/sudoers/toke_util.c:217 toke.l:995 toke.l:1277 +#: plugins/sudoers/sudoreplay.c:1342 plugins/sudoers/sudoreplay.c:1348 +#: plugins/sudoers/sudoreplay.c:1354 plugins/sudoers/testsudoers.c:306 +#: plugins/sudoers/toke_util.c:217 toke.l:975 toke.l:1257 #, c-format msgid "internal error, %s overflow" msgstr "vnitřní chyba, přetečení %s" -#: plugins/sudoers/cvtsudoers_csv.c:454 plugins/sudoers/cvtsudoers_csv.c:468 -#: plugins/sudoers/cvtsudoers_json.c:661 plugins/sudoers/cvtsudoers_json.c:676 -#: plugins/sudoers/cvtsudoers_ldif.c:349 plugins/sudoers/cvtsudoers_ldif.c:362 +#: plugins/sudoers/cvtsudoers_csv.c:481 plugins/sudoers/cvtsudoers_csv.c:495 +#: plugins/sudoers/cvtsudoers_json.c:760 plugins/sudoers/cvtsudoers_json.c:776 +#: plugins/sudoers/cvtsudoers_ldif.c:384 plugins/sudoers/cvtsudoers_ldif.c:398 #: plugins/sudoers/ldap.c:495 msgid "unable to get GMT time" msgstr "nelze získat čas GMT" -#: plugins/sudoers/cvtsudoers_csv.c:459 plugins/sudoers/cvtsudoers_csv.c:473 -#: plugins/sudoers/cvtsudoers_json.c:666 plugins/sudoers/cvtsudoers_json.c:681 -#: plugins/sudoers/cvtsudoers_ldif.c:354 plugins/sudoers/cvtsudoers_ldif.c:367 +#: plugins/sudoers/cvtsudoers_csv.c:486 plugins/sudoers/cvtsudoers_csv.c:500 +#: plugins/sudoers/cvtsudoers_json.c:765 plugins/sudoers/cvtsudoers_json.c:781 +#: plugins/sudoers/cvtsudoers_ldif.c:389 plugins/sudoers/cvtsudoers_ldif.c:403 #: plugins/sudoers/ldap.c:503 msgid "unable to format timestamp" msgstr "nelze naformátovat časový údaj" -#: plugins/sudoers/cvtsudoers_json.c:481 plugins/sudoers/cvtsudoers_json.c:516 -#: plugins/sudoers/cvtsudoers_json.c:732 +#: plugins/sudoers/cvtsudoers_json.c:547 plugins/sudoers/cvtsudoers_json.c:588 +#: plugins/sudoers/cvtsudoers_json.c:841 #, c-format msgid "%s:%d:%d: unknown defaults entry \"%s\"" msgstr "%s:%d:%d: neznámá položka defaults „%s“" -#: plugins/sudoers/cvtsudoers_ldif.c:663 +#: plugins/sudoers/cvtsudoers_ldif.c:116 +#, c-format +msgid "unable to base64 encode value \"%s\"" +msgstr "hodnotu „%s“ nelze zakódovat do Base64" + +#: plugins/sudoers/cvtsudoers_ldif.c:595 +#, c-format +msgid "internal error, unable insert user %s" +msgstr "vnitřní chyba, uživatele %s nelze vložit" + +#: plugins/sudoers/cvtsudoers_ldif.c:702 #, c-format msgid "too many sudoers entries, maximum %u" msgstr "příliš mnoho záznamů sudoers, maximum je %u" -#: plugins/sudoers/cvtsudoers_ldif.c:706 +#: plugins/sudoers/cvtsudoers_ldif.c:747 msgid "the SUDOERS_BASE environment variable is not set and the -b option was not specified." msgstr "proměnná prostředí SUDOERS_BASE není nastavená a přepínač -b nebyl zadán." -#: plugins/sudoers/cvtsudoers_merge.c:273 -#: plugins/sudoers/cvtsudoers_merge.c:309 +#: plugins/sudoers/cvtsudoers_merge.c:275 +#: plugins/sudoers/cvtsudoers_merge.c:313 #, c-format msgid "%s:%d:%d: converting host list to ALL" msgstr "%s:%d:%d: seznam strojů se převádí na ALL" -#: plugins/sudoers/cvtsudoers_merge.c:545 +#: plugins/sudoers/cvtsudoers_merge.c:568 #, c-format msgid "unable to find alias %s" msgstr "alias %s nelze nalézt" -#: plugins/sudoers/cvtsudoers_merge.c:548 +#: plugins/sudoers/cvtsudoers_merge.c:572 #, c-format msgid "%s:%d:%d: renaming alias %s to %s" msgstr "%s:%d:%d: alias %s se přejmenovává na %s" -#: plugins/sudoers/cvtsudoers_merge.c:605 +#: plugins/sudoers/cvtsudoers_merge.c:634 #, c-format msgid "%s:%d:%d: removing duplicate alias %s" msgstr "%s:%d:%d: zdvojený alias %s se odstraňuje" -#: plugins/sudoers/cvtsudoers_merge.c:830 +#: plugins/sudoers/cvtsudoers_merge.c:868 #, c-format msgid "%s:%d:%d: conflicting Defaults entry \"%s\" host-specific in %s:%d:%d" msgstr "%s:%d:%d: neslučitelná položka Defaults „%s“ určená pro stroj na %s:%d:%d" -#: plugins/sudoers/cvtsudoers_merge.c:864 +#: plugins/sudoers/cvtsudoers_merge.c:904 #, c-format msgid "%s:%d:%d: made Defaults \"%s\" specific to host %s" msgstr "%s:%d:%d: Defaults „%s“ se vyhrazuje pro stroj %s" -#: plugins/sudoers/cvtsudoers_merge.c:882 +#: plugins/sudoers/cvtsudoers_merge.c:922 #, c-format msgid "%s:%d:%d: unable to make Defaults \"%s\" host-specific" msgstr "%s:%d:%d: Defaults „%s“ nelze vyhradit pro stroj" -#: plugins/sudoers/cvtsudoers_merge.c:892 +#: plugins/sudoers/cvtsudoers_merge.c:932 #, c-format msgid "%s:%d:%d: removing Defaults \"%s\" overridden by subsequent entries" msgstr "%s:%d:%d: Defaults „%s“ přebitá následujícími položkami se odstraňuje" -#: plugins/sudoers/cvtsudoers_merge.c:1088 +#: plugins/sudoers/cvtsudoers_merge.c:1128 #, c-format msgid "%s:%d:%d: merging userspec into %s:%d:%d" msgstr "%s:%d:%d: userspec se slučuje do %s:%d:%d" -#: plugins/sudoers/cvtsudoers_merge.c:1182 +#: plugins/sudoers/cvtsudoers_merge.c:1224 #, c-format msgid "%s:%d:%d: removing userspec overridden by subsequent entries" msgstr "%s:%d:%d: userspec přebitá následujícími položkami se odstraňuje" -#: plugins/sudoers/def_data.c:56 +#: plugins/sudoers/def_data.c:58 #, c-format msgid "Syslog facility if syslog is being used for logging: %s" msgstr "Obor systémového protokolu, je-li syslog použit pro protokolování: %s" -#: plugins/sudoers/def_data.c:60 +#: plugins/sudoers/def_data.c:62 #, c-format msgid "Syslog priority to use when user authenticates successfully: %s" msgstr "Priorita systémového protokolu, která se použije při úspěšné autentizaci uživatele: %s" -#: plugins/sudoers/def_data.c:64 +#: plugins/sudoers/def_data.c:66 #, c-format msgid "Syslog priority to use when user authenticates unsuccessfully: %s" msgstr "Priorita systémového protokolu, která se použije při neúspěšné autentizaci: %s" -#: plugins/sudoers/def_data.c:68 +#: plugins/sudoers/def_data.c:70 msgid "Put OTP prompt on its own line" msgstr "Dotaz na jednorázový kód bude na vlastním řádku" -#: plugins/sudoers/def_data.c:72 +#: plugins/sudoers/def_data.c:74 msgid "Ignore '.' in $PATH" msgstr "Ignoruje „.“ v PATH" -#: plugins/sudoers/def_data.c:76 +#: plugins/sudoers/def_data.c:78 msgid "Always send mail when sudo is run" msgstr "Vždy, když se použije sudo, odešle e-mail" -#: plugins/sudoers/def_data.c:80 +#: plugins/sudoers/def_data.c:82 msgid "Send mail if user authentication fails" msgstr "Odešle e-mail, když autentizace uživatele selže" -#: plugins/sudoers/def_data.c:84 +#: plugins/sudoers/def_data.c:86 msgid "Send mail if the user is not in sudoers" msgstr "Odešle e-mail, pokud uživatel není v sudoers" -#: plugins/sudoers/def_data.c:88 +#: plugins/sudoers/def_data.c:90 msgid "Send mail if the user is not in sudoers for this host" msgstr "Odešle e-mail, když uživatel není v sudoers uveden pro tento stroj" -#: plugins/sudoers/def_data.c:92 +#: plugins/sudoers/def_data.c:94 msgid "Send mail if the user is not allowed to run a command" msgstr "Odešle e-mail, když uživatel nemá dovoleno spustit příkaz" -#: plugins/sudoers/def_data.c:96 +#: plugins/sudoers/def_data.c:98 msgid "Send mail if the user tries to run a command" msgstr "Odešle e-mail, když uživatel zkusí spustit příkaz" -#: plugins/sudoers/def_data.c:100 +#: plugins/sudoers/def_data.c:102 msgid "Use a separate timestamp for each user/tty combo" msgstr "Pro každou kombinaci uživatele a TTY použije samostatný časovač" -#: plugins/sudoers/def_data.c:104 +#: plugins/sudoers/def_data.c:106 msgid "Lecture user the first time they run sudo" msgstr "Před prvním použitím sudo proškolí uživatele" -#: plugins/sudoers/def_data.c:108 +#: plugins/sudoers/def_data.c:110 #, c-format msgid "File containing the sudo lecture: %s" msgstr "Soubor obsahující školení k sudo: %s" -#: plugins/sudoers/def_data.c:112 +#: plugins/sudoers/def_data.c:114 msgid "Require users to authenticate by default" msgstr "Standardně vyžaduje, aby se uživatelé autentizovali" -#: plugins/sudoers/def_data.c:116 +#: plugins/sudoers/def_data.c:118 msgid "Root may run sudo" msgstr "Root může spustit sudo" -#: plugins/sudoers/def_data.c:120 +#: plugins/sudoers/def_data.c:122 msgid "Log the hostname in the (non-syslog) log file" msgstr "Do (nesyslogového) protokolu zaznamenává název stroje" -#: plugins/sudoers/def_data.c:124 +#: plugins/sudoers/def_data.c:126 msgid "Log the year in the (non-syslog) log file" msgstr "Do (nesyslogového) protokolu zaznamenává rok" -#: plugins/sudoers/def_data.c:128 +#: plugins/sudoers/def_data.c:130 msgid "If sudo is invoked with no arguments, start a shell" msgstr "Je-li sudo zavoláno bez argumentů, spustí shell" -#: plugins/sudoers/def_data.c:132 +#: plugins/sudoers/def_data.c:134 msgid "Set $HOME to the target user when starting a shell with -s" msgstr "Nastaví HOME na cílového uživatele, když se pouští shell s -s" -#: plugins/sudoers/def_data.c:136 +#: plugins/sudoers/def_data.c:138 msgid "Always set $HOME to the target user's home directory" msgstr "Vždy nastaví HOME na domovský adresář cílového uživatele" -#: plugins/sudoers/def_data.c:140 +#: plugins/sudoers/def_data.c:142 msgid "Allow some information gathering to give useful error messages" msgstr "Dovolí sběr některých údajů za účelem užitečných chybových zpráv" -#: plugins/sudoers/def_data.c:144 +#: plugins/sudoers/def_data.c:146 msgid "Require fully-qualified hostnames in the sudoers file" msgstr "Vyžaduje v souboru sudoers plně kvalifikované názvy strojů" -#: plugins/sudoers/def_data.c:148 +#: plugins/sudoers/def_data.c:150 msgid "Insult the user when they enter an incorrect password" msgstr "Urazí uživatele, pokud zadá chybné heslo" -#: plugins/sudoers/def_data.c:152 +#: plugins/sudoers/def_data.c:154 msgid "Only allow the user to run sudo if they have a tty" msgstr "Dovolí uživateli spustit sudo, pouze když má TTY" -#: plugins/sudoers/def_data.c:156 +#: plugins/sudoers/def_data.c:158 msgid "Visudo will honor the EDITOR environment variable" msgstr "Visudo bude dodržovat proměnou prostředí EDITOR" -#: plugins/sudoers/def_data.c:160 -msgid "Prompt for root's password, not the users's" -msgstr "Ptá se heslo roota, ne na heslo uživatele" +#: plugins/sudoers/def_data.c:162 +msgid "Prompt for root's password, not the user's" +msgstr "Ptá se na heslo roota, ne na heslo uživatele" -#: plugins/sudoers/def_data.c:164 -msgid "Prompt for the runas_default user's password, not the users's" +#: plugins/sudoers/def_data.c:166 +msgid "Prompt for the runas_default user's password, not the user's" msgstr "Ptá se na heslo runas_default uživatele, ne na heslo uživatele" -#: plugins/sudoers/def_data.c:168 -msgid "Prompt for the target user's password, not the users's" +#: plugins/sudoers/def_data.c:170 +msgid "Prompt for the target user's password, not the user's" msgstr "Ptá se na heslo cílového uživatele, ne na heslo uživatele" -#: plugins/sudoers/def_data.c:172 +#: plugins/sudoers/def_data.c:174 msgid "Apply defaults in the target user's login class if there is one" msgstr "Použije výchozí nastavení v přihlašovací třídě cílového uživatele, existuje-li" -#: plugins/sudoers/def_data.c:176 +#: plugins/sudoers/def_data.c:178 msgid "Set the LOGNAME and USER environment variables" msgstr "Nastaví proměnné prostředí LOGNAME a USER" -#: plugins/sudoers/def_data.c:180 +#: plugins/sudoers/def_data.c:182 msgid "Only set the effective uid to the target user, not the real uid" msgstr "Nastaví pouze efektivní UID na cílového uživatele, nikoliv reálné UID" -#: plugins/sudoers/def_data.c:184 +#: plugins/sudoers/def_data.c:186 msgid "Don't initialize the group vector to that of the target user" msgstr "Neinicializuje vektor skupin na vektor cílového uživatele" -#: plugins/sudoers/def_data.c:188 +#: plugins/sudoers/def_data.c:190 #, c-format msgid "Length at which to wrap log file lines (0 for no wrap): %u" msgstr "Délka zlomu řádků v protokolu (0 pro nezalamování): %u" -#: plugins/sudoers/def_data.c:192 +#: plugins/sudoers/def_data.c:194 #, c-format msgid "Authentication timestamp timeout: %.1f minutes" msgstr "Limit na časové údaje autentizace: %.1f min" -#: plugins/sudoers/def_data.c:196 +#: plugins/sudoers/def_data.c:198 #, c-format msgid "Password prompt timeout: %.1f minutes" msgstr "Limit na výzvu k heslu: %.1f min" -#: plugins/sudoers/def_data.c:200 +#: plugins/sudoers/def_data.c:202 #, c-format msgid "Number of tries to enter a password: %u" msgstr "Počet pokusů na zadání hesla: %u" -#: plugins/sudoers/def_data.c:204 +#: plugins/sudoers/def_data.c:206 #, c-format msgid "Umask to use or 0777 to use user's: 0%o" msgstr "Umask nebo 0777 pro hodnotu uživatele: 0%o" -#: plugins/sudoers/def_data.c:208 +#: plugins/sudoers/def_data.c:210 #, c-format msgid "Path to log file: %s" msgstr "Cesta k souboru s protokolem: %s" -#: plugins/sudoers/def_data.c:212 +#: plugins/sudoers/def_data.c:214 #, c-format msgid "Path to mail program: %s" msgstr "Cesta k poštovnímu programu: %s" -#: plugins/sudoers/def_data.c:216 +#: plugins/sudoers/def_data.c:218 #, c-format msgid "Flags for mail program: %s" msgstr "Přepínače pro poštovní program: %s" -#: plugins/sudoers/def_data.c:220 +#: plugins/sudoers/def_data.c:222 #, c-format msgid "Address to send mail to: %s" msgstr "Adresa, kam zasílat poštu: %s" -#: plugins/sudoers/def_data.c:224 +#: plugins/sudoers/def_data.c:226 #, c-format msgid "Address to send mail from: %s" msgstr "Adrese, ze které zasílat poštu: %s" -#: plugins/sudoers/def_data.c:228 +#: plugins/sudoers/def_data.c:230 #, c-format msgid "Subject line for mail messages: %s" msgstr "Řádek s předmětem pro poštovní zprávy: %s" -#: plugins/sudoers/def_data.c:232 +#: plugins/sudoers/def_data.c:234 #, c-format msgid "Incorrect password message: %s" msgstr "Zpráva při chybném hesle: %s" -#: plugins/sudoers/def_data.c:236 +#: plugins/sudoers/def_data.c:238 #, c-format msgid "Path to lecture status dir: %s" msgstr "Cesta k adresáři se stavy lekcí: %s" -#: plugins/sudoers/def_data.c:240 +#: plugins/sudoers/def_data.c:242 #, c-format msgid "Path to authentication timestamp dir: %s" msgstr "Cesta k adresáři s časovými údaji autentizace: %s" -#: plugins/sudoers/def_data.c:244 +#: plugins/sudoers/def_data.c:246 #, c-format msgid "Owner of the authentication timestamp dir: %s" msgstr "Vlastník adresáře s časovými údaji autentizace: %s" -#: plugins/sudoers/def_data.c:248 +#: plugins/sudoers/def_data.c:250 #, c-format msgid "Users in this group are exempt from password and PATH requirements: %s" msgstr "Uživatelé v této skupině jsou vyjmuti z požadavků na heslo na PATH: %s" -#: plugins/sudoers/def_data.c:252 +#: plugins/sudoers/def_data.c:254 #, c-format msgid "Default password prompt: %s" msgstr "Výchozí výzva pro heslo: %s" -#: plugins/sudoers/def_data.c:256 +#: plugins/sudoers/def_data.c:258 msgid "If set, passprompt will override system prompt in all cases." msgstr "Je-li nastaveno, passprompt přebije systémovou výzvu ve všech případech." -#: plugins/sudoers/def_data.c:260 +#: plugins/sudoers/def_data.c:262 #, c-format msgid "Default user to run commands as: %s" msgstr "Výchozí uživatel, pro kterým spouštět příkazy: %s" -#: plugins/sudoers/def_data.c:264 +#: plugins/sudoers/def_data.c:266 #, c-format msgid "Value to override user's $PATH with: %s" msgstr "Hodnota, kterou přebít PATH uživatele: %s" -#: plugins/sudoers/def_data.c:268 +#: plugins/sudoers/def_data.c:270 #, c-format msgid "Path to the editor for use by visudo: %s" msgstr "Cesta k editoru pro potřeby visudo: %s" -#: plugins/sudoers/def_data.c:272 +#: plugins/sudoers/def_data.c:274 #, c-format msgid "When to require a password for 'list' pseudocommand: %s" msgstr "Kdy vyžadovat heslo pro pseudopříkaz „list“: %s" -#: plugins/sudoers/def_data.c:276 +#: plugins/sudoers/def_data.c:278 #, c-format msgid "When to require a password for 'verify' pseudocommand: %s" msgstr "Kdy vyžadovat heslo pro pseudopříkaz „verify“: %s" -#: plugins/sudoers/def_data.c:280 +#: plugins/sudoers/def_data.c:282 msgid "Preload the sudo_noexec library which replaces the exec functions" msgstr "Zavést knihovnu sudo_noexec, která nahrazuje funkce exec" -#: plugins/sudoers/def_data.c:284 +#: plugins/sudoers/def_data.c:286 msgid "If LDAP directory is up, do we ignore local sudoers file" msgstr "Pokud je adresář LDAP dostupný, ignorovat místní soubor sudoers" -#: plugins/sudoers/def_data.c:288 +#: plugins/sudoers/def_data.c:290 #, c-format msgid "File descriptors >= %d will be closed before executing a command" msgstr "Souborové deskriptory >= %d budou před spuštěním příkazu uzavřeny" -#: plugins/sudoers/def_data.c:292 +#: plugins/sudoers/def_data.c:294 msgid "If set, users may override the value of \"closefrom\" with the -C option" msgstr "Je-li nastaveno, uživatelé mohou přebít hodnotu „closefrom“ přepínačem -C" -#: plugins/sudoers/def_data.c:296 +#: plugins/sudoers/def_data.c:298 msgid "Allow users to set arbitrary environment variables" msgstr "Dovolit uživatelům nastavit libovolné proměnné prostředí" -#: plugins/sudoers/def_data.c:300 +#: plugins/sudoers/def_data.c:302 msgid "Reset the environment to a default set of variables" msgstr "Vrátit prostředí do výchozí množiny proměnných" -#: plugins/sudoers/def_data.c:304 +#: plugins/sudoers/def_data.c:306 msgid "Environment variables to check for safety:" msgstr "Proměnné prostředí kontrolované na bezpečnost:" -#: plugins/sudoers/def_data.c:308 +#: plugins/sudoers/def_data.c:310 msgid "Environment variables to remove:" msgstr "Proměnné prostředí, které se mají odstranit:" -#: plugins/sudoers/def_data.c:312 +#: plugins/sudoers/def_data.c:314 msgid "Environment variables to preserve:" msgstr "Proměnné prostředí, které se mají zachovat:" -#: plugins/sudoers/def_data.c:316 +#: plugins/sudoers/def_data.c:318 #, c-format msgid "SELinux role to use in the new security context: %s" msgstr "Selinuxový role, která se použije v novém bezpečnostním kontextu: %s" -#: plugins/sudoers/def_data.c:320 +#: plugins/sudoers/def_data.c:322 #, c-format msgid "SELinux type to use in the new security context: %s" msgstr "Selinuxový typ, který se použije v novém bezpečnostním kontextu: %s" -#: plugins/sudoers/def_data.c:324 +#: plugins/sudoers/def_data.c:326 #, c-format msgid "Path to the sudo-specific environment file: %s" msgstr "Cesta k souboru s prostředím určeném pro sudo: %s" -#: plugins/sudoers/def_data.c:328 +#: plugins/sudoers/def_data.c:330 #, c-format msgid "Path to the restricted sudo-specific environment file: %s" msgstr "Cesta k souboru s omezeným prostředím určeném pro sudo: %s" -#: plugins/sudoers/def_data.c:332 +#: plugins/sudoers/def_data.c:334 #, c-format msgid "Locale to use while parsing sudoers: %s" msgstr "Národní prostředí, které se použije pro rozbor sudoers: %s" -#: plugins/sudoers/def_data.c:336 +#: plugins/sudoers/def_data.c:338 msgid "Allow sudo to prompt for a password even if it would be visible" msgstr "Dovolit sudu ptát se na heslo, i kdyby bylo čitelné" -#: plugins/sudoers/def_data.c:340 +#: plugins/sudoers/def_data.c:342 msgid "Provide visual feedback at the password prompt when there is user input" msgstr "Indikovat vstup uživatele při dotazu na heslo" -#: plugins/sudoers/def_data.c:344 +#: plugins/sudoers/def_data.c:346 msgid "Use faster globbing that is less accurate but does not access the filesystem" msgstr "Použit rychlejší expanzi globů, která je méně přesná, ale nepřistupuje k souborovému systému" -#: plugins/sudoers/def_data.c:348 +#: plugins/sudoers/def_data.c:350 msgid "The umask specified in sudoers will override the user's, even if it is more permissive" msgstr "Umask zadaná v sudoers přebije uživatelovu, i když je volnější" -#: plugins/sudoers/def_data.c:352 +#: plugins/sudoers/def_data.c:354 msgid "Log user's input for the command being run" msgstr "Zaznamenávat vstup uživatele pro spouštěný příkaz" -#: plugins/sudoers/def_data.c:356 +#: plugins/sudoers/def_data.c:358 msgid "Log the command's standard input if not connected to a terminal" msgstr "Zaznamenávat standardní vstup příkazu, není-li připojen terminál" -#: plugins/sudoers/def_data.c:360 +#: plugins/sudoers/def_data.c:362 msgid "Log the user's terminal input for the command being run" msgstr "Zaznamenávat vstup terminálu uživatele pro spouštěný příkaz" -#: plugins/sudoers/def_data.c:364 +#: plugins/sudoers/def_data.c:366 msgid "Log the output of the command being run" msgstr "Zaznamenávat výstup spouštěného příkazu" -#: plugins/sudoers/def_data.c:368 +#: plugins/sudoers/def_data.c:370 msgid "Log the command's standard output if not connected to a terminal" msgstr "Zaznamenávat standardní výstup příkazu, není připojen terminál" -#: plugins/sudoers/def_data.c:372 +#: plugins/sudoers/def_data.c:374 msgid "Log the command's standard error if not connected to a terminal" msgstr "Zaznamenávat chybový výstup příkazu, není-li připojen terminál" -#: plugins/sudoers/def_data.c:376 +#: plugins/sudoers/def_data.c:378 msgid "Log the terminal output of the command being run" msgstr "Zaznamenávat výstup terminálu spouštěného příkazu" -#: plugins/sudoers/def_data.c:380 +#: plugins/sudoers/def_data.c:382 msgid "Compress I/O logs using zlib" msgstr "Komprimovat protokoly o vstupu/výstupu pomocí zlib" -#: plugins/sudoers/def_data.c:384 +#: plugins/sudoers/def_data.c:386 msgid "Always run commands in a pseudo-tty" msgstr "Vždy spouštět příkazy v pseudoTTY" -#: plugins/sudoers/def_data.c:388 +#: plugins/sudoers/def_data.c:390 #, c-format msgid "Plugin for non-Unix group support: %s" msgstr "Modul pro podporu neunixových skupin: %s" -#: plugins/sudoers/def_data.c:392 +#: plugins/sudoers/def_data.c:394 #, c-format msgid "Directory in which to store input/output logs: %s" msgstr "Adresář, kam ukládat protokoly o vstupu/výstupu: %s" -#: plugins/sudoers/def_data.c:396 +#: plugins/sudoers/def_data.c:398 #, c-format msgid "File in which to store the input/output log: %s" msgstr "Soubor, do kterého ukládat protokol o vstupu/výstupu: %s" -#: plugins/sudoers/def_data.c:400 +#: plugins/sudoers/def_data.c:402 msgid "Add an entry to the utmp/utmpx file when allocating a pty" msgstr "Při alokaci PTY přidat záznam do souboru utmp/utmpx" -#: plugins/sudoers/def_data.c:404 +#: plugins/sudoers/def_data.c:406 msgid "Set the user in utmp to the runas user, not the invoking user" msgstr "Do utmp zapisovat runas uživatele, nikoliv uživatele volajícího" -#: plugins/sudoers/def_data.c:408 +#: plugins/sudoers/def_data.c:410 #, c-format msgid "Set of permitted privileges: %s" msgstr "Množina povolujících práv: %s" -#: plugins/sudoers/def_data.c:412 +#: plugins/sudoers/def_data.c:414 #, c-format msgid "Set of limit privileges: %s" msgstr "Množina omezujících práv: %s" -#: plugins/sudoers/def_data.c:416 +#: plugins/sudoers/def_data.c:418 msgid "Run commands on a pty in the background" msgstr "Spouštět příkazy v PTY na pozadí" -#: plugins/sudoers/def_data.c:420 +#: plugins/sudoers/def_data.c:422 #, c-format msgid "PAM service name to use: %s" msgstr "Použít tuto službu PAM: %s" -#: plugins/sudoers/def_data.c:424 +#: plugins/sudoers/def_data.c:426 #, c-format msgid "PAM service name to use for login shells: %s" msgstr "Název služby PAM, která se použije pro přihlašovací shelly: %s" -#: plugins/sudoers/def_data.c:428 +#: plugins/sudoers/def_data.c:430 #, c-format msgid "PAM service name to use when sudo is run with the -A option: %s" msgstr "Název služby PAM, která se použije, když sudo běží s přepínačem -A: %s" -#: plugins/sudoers/def_data.c:432 +#: plugins/sudoers/def_data.c:434 msgid "Attempt to establish PAM credentials for the target user" msgstr "Pokusit se získat pověření PAM pro cílového uživatele" -#: plugins/sudoers/def_data.c:436 +#: plugins/sudoers/def_data.c:438 msgid "Create a new PAM session for the command to run in" msgstr "Vytvořit pro spouštěný příkaz novou relaci PAM" -#: plugins/sudoers/def_data.c:440 +#: plugins/sudoers/def_data.c:442 msgid "Perform PAM account validation management" msgstr "Ověřit platnost účtu pomocí PAM" -#: plugins/sudoers/def_data.c:444 +#: plugins/sudoers/def_data.c:446 +msgid "Do not allow PAM authentication modules to generate output" +msgstr "Nedovolit autentizačním modulům PAM vytvářet výstup" + +#: plugins/sudoers/def_data.c:450 #, c-format msgid "Maximum I/O log sequence number: %s" msgstr "Maximální pořadové číslo protokolu vstupu/výstupu: %s" -#: plugins/sudoers/def_data.c:448 +#: plugins/sudoers/def_data.c:454 msgid "Enable sudoers netgroup support" msgstr "Zapnout v sudoers podporu netgroup" -#: plugins/sudoers/def_data.c:452 +#: plugins/sudoers/def_data.c:458 msgid "Check parent directories for writability when editing files with sudoedit" msgstr "Kontrolovat nadřazené adresáře na možnost zápisu při úpravě souborů pomocí sudoedit" -#: plugins/sudoers/def_data.c:456 +#: plugins/sudoers/def_data.c:462 msgid "Follow symbolic links when editing files with sudoedit" msgstr "Následovat symbolické odkazy při úpravě souborů pomocí sudoedit" -#: plugins/sudoers/def_data.c:460 +#: plugins/sudoers/def_data.c:466 msgid "Query the group plugin for unknown system groups" msgstr "Dotazovat se modulu pro skupiny na neznámé systémové skupiny" -#: plugins/sudoers/def_data.c:464 +#: plugins/sudoers/def_data.c:470 msgid "Match netgroups based on the entire tuple: user, host and domain" msgstr "Porovnávat netgroups na celou n-tici: uživatel, stroj a doména" -#: plugins/sudoers/def_data.c:468 +#: plugins/sudoers/def_data.c:474 msgid "Allow commands to be run even if sudo cannot write to the audit log" msgstr "Dovolit spuštění příkazu, i když sudo nemůže zapsat do auditního protokolu" -#: plugins/sudoers/def_data.c:472 +#: plugins/sudoers/def_data.c:478 msgid "Allow commands to be run even if sudo cannot write to the I/O log" msgstr "Dovolit spuštění příkazu, i když sudo nemůže zapsat do I/O protokolu" -#: plugins/sudoers/def_data.c:476 +#: plugins/sudoers/def_data.c:482 msgid "Allow commands to be run even if sudo cannot write to the log file" msgstr "Dovolit spuštění příkazu, i když sudo nemůže zapsat do souboru s protokolem" -#: plugins/sudoers/def_data.c:480 +#: plugins/sudoers/def_data.c:486 msgid "Resolve groups in sudoers and match on the group ID, not the name" msgstr "Překládat skupiny v sudoers a hledat shodu na ID skupiny, ne na jméně" -#: plugins/sudoers/def_data.c:484 +#: plugins/sudoers/def_data.c:490 #, c-format msgid "Log entries larger than this value will be split into multiple syslog messages: %u" msgstr "Položky protokolu větší než tato hodnota budou rozděleny do více zpráv syslogu: %u" -#: plugins/sudoers/def_data.c:488 +#: plugins/sudoers/def_data.c:494 #, c-format msgid "User that will own the I/O log files: %s" msgstr "Uživatel, který bude vlastnit soubory s I/O protokolem: %s" -#: plugins/sudoers/def_data.c:492 +#: plugins/sudoers/def_data.c:498 #, c-format msgid "Group that will own the I/O log files: %s" msgstr "Skupina, která bude vlastnit soubory s I/O protokolem: %s" -#: plugins/sudoers/def_data.c:496 +#: plugins/sudoers/def_data.c:502 #, c-format msgid "File mode to use for the I/O log files: 0%o" msgstr "Přístupová práva k souboru s I/O protokolem: 0%o" -#: plugins/sudoers/def_data.c:500 +#: plugins/sudoers/def_data.c:506 #, c-format msgid "Execute commands by file descriptor instead of by path: %s" msgstr "Spustit příkazy podle deskriptoru souboru namísto podle cesty: %s" -#: plugins/sudoers/def_data.c:504 +#: plugins/sudoers/def_data.c:510 msgid "Ignore unknown Defaults entries in sudoers instead of producing a warning" msgstr "Ignorovat neznámé položky Defaults v sudoers namísto vypisování varování" -#: plugins/sudoers/def_data.c:508 +#: plugins/sudoers/def_data.c:514 #, c-format msgid "Time in seconds after which the command will be terminated: %u" msgstr "Čas v sekundách, po kterém bude příkaz ukončen: %u" -#: plugins/sudoers/def_data.c:512 +#: plugins/sudoers/def_data.c:518 msgid "Allow the user to specify a timeout on the command line" msgstr "Povolit uživateli zadat časový limit na příkazovém řádku" -#: plugins/sudoers/def_data.c:516 +#: plugins/sudoers/def_data.c:522 msgid "Flush I/O log data to disk immediately instead of buffering it" msgstr "Zapisovat log na disk ihned namísto po větších částech" -#: plugins/sudoers/def_data.c:520 +#: plugins/sudoers/def_data.c:526 msgid "Include the process ID when logging via syslog" msgstr "Při protokolování přes syslog zahrnout ID procesu" -#: plugins/sudoers/def_data.c:524 +#: plugins/sudoers/def_data.c:530 #, c-format msgid "Type of authentication timestamp record: %s" msgstr "Druh záznamu s časovým údajem autentizace: %s" -#: plugins/sudoers/def_data.c:528 +#: plugins/sudoers/def_data.c:534 #, c-format msgid "Authentication failure message: %s" msgstr "Zpráva o selhání autentizace: %s" -#: plugins/sudoers/def_data.c:532 +#: plugins/sudoers/def_data.c:538 msgid "Ignore case when matching user names" msgstr "Ignorovat velikost znaků při porovnávání jmen uživatelů" -#: plugins/sudoers/def_data.c:536 +#: plugins/sudoers/def_data.c:542 msgid "Ignore case when matching group names" msgstr "Ignorovat velikost znaků při porovnávání názvů skupin" -#: plugins/sudoers/def_data.c:540 +#: plugins/sudoers/def_data.c:546 msgid "Log when a command is allowed by sudoers" msgstr "Zaznamenat do protokolu, když je příkaz povolen v sudoers" -#: plugins/sudoers/def_data.c:544 +#: plugins/sudoers/def_data.c:550 msgid "Log when a command is denied by sudoers" msgstr "Zaznamenat do protokolu, když je příkaz zakázán v sudoers" -#: plugins/sudoers/def_data.c:548 +#: plugins/sudoers/def_data.c:554 msgid "Sudo log server(s) to connect to with optional port" msgstr "Protokolový server(y) suda, kam se připojit s volitelným portem" -#: plugins/sudoers/def_data.c:552 +#: plugins/sudoers/def_data.c:558 #, c-format msgid "Sudo log server timeout in seconds: %u" msgstr "Časový limit protokolového serveru suda v sekundách: %u" -#: plugins/sudoers/def_data.c:556 +#: plugins/sudoers/def_data.c:562 msgid "Enable SO_KEEPALIVE socket option on the socket connected to the logserver" msgstr "Zapnout volbu socketu SO_KEEPALIVE na socketu připojeném k protokolovému serveru" -#: plugins/sudoers/def_data.c:560 +#: plugins/sudoers/def_data.c:566 #, c-format msgid "Path to the audit server's CA bundle file: %s" msgstr "Cesta k souboru se svazkem certifikátů autorit auditního serveru: %s" -#: plugins/sudoers/def_data.c:564 +#: plugins/sudoers/def_data.c:570 #, c-format msgid "Path to the sudoers certificate file: %s" msgstr "Cesta k souboru s certifikátem sudoers: %s" -#: plugins/sudoers/def_data.c:568 +#: plugins/sudoers/def_data.c:574 #, c-format msgid "Path to the sudoers private key file: %s" msgstr "Cesta k souboru se soukromým klíčem sudoers: %s" -#: plugins/sudoers/def_data.c:572 +#: plugins/sudoers/def_data.c:578 msgid "Verify that the log server's certificate is valid" msgstr "Ověřit, že certifikát protokolovacího serveru je platný" -#: plugins/sudoers/def_data.c:576 +#: plugins/sudoers/def_data.c:582 msgid "Allow the use of unknown runas user and/or group ID" msgstr "Dovolit použití neznámých ID uživatelů a/nebo skupin u klíčového slova runas" -#: plugins/sudoers/def_data.c:580 +#: plugins/sudoers/def_data.c:586 msgid "Only permit running commands as a user with a valid shell" msgstr "Pouze dovolit spuštění příkazů jako uživatel s platným shellem" -#: plugins/sudoers/def_data.c:584 +#: plugins/sudoers/def_data.c:590 msgid "Set the pam remote user to the user running sudo" msgstr "Nastavit vzdáleného uživatele PAM na uživatele, který spustil sudo" -#: plugins/sudoers/def_data.c:588 +#: plugins/sudoers/def_data.c:594 msgid "Set the pam remote host to the local host name" msgstr "Nastavit vzdálený stroj PAM na název tohoto stroje" -#: plugins/sudoers/def_data.c:592 +#: plugins/sudoers/def_data.c:598 #, c-format msgid "Working directory to change to before executing the command: %s" msgstr "Kam změnit pracovní adresář před spuštěním příkazu: %s" -#: plugins/sudoers/def_data.c:596 +#: plugins/sudoers/def_data.c:602 #, c-format msgid "Root directory to change to before executing the command: %s" msgstr "Kam změnit kořenový adresář před spuštěním příkazu: %s" -#: plugins/sudoers/def_data.c:600 +#: plugins/sudoers/def_data.c:606 #, c-format msgid "The format of logs to produce: %s" msgstr "Vytvářet protokol v tomto formátu: %s" -#: plugins/sudoers/def_data.c:604 +#: plugins/sudoers/def_data.c:610 msgid "Enable SELinux RBAC support" msgstr "Zapnout podporu pro SELinux RBAC" -#: plugins/sudoers/def_data.c:608 +#: plugins/sudoers/def_data.c:614 #, c-format msgid "Path to the file that is created the first time sudo is run: %s" msgstr "Cesta k souboru, který se vytvoří při prvním spuštění suda: %s" -#: plugins/sudoers/def_data.c:612 +#: plugins/sudoers/def_data.c:618 msgid "Intercept further commands and apply sudoers restrictions to them" msgstr "Zachytávat další příkazy a použít na ně omezení sudoers" -#: plugins/sudoers/def_data.c:616 +#: plugins/sudoers/def_data.c:622 msgid "Log sub-commands run by the original command" msgstr "Zaznamenávat podpříkazy spuštěné původním příkazem" -#: plugins/sudoers/def_data.c:620 +#: plugins/sudoers/def_data.c:626 msgid "Log the exit status of commands" msgstr "Zaznamenávat návratový kód příkazů" -#: plugins/sudoers/def_data.c:624 +#: plugins/sudoers/def_data.c:630 msgid "Subsequent commands in an intercepted session must be authenticated" msgstr "Posloupnost příkazů v zachycené relaci musí být autentizována" -#: plugins/sudoers/def_data.c:628 +#: plugins/sudoers/def_data.c:634 msgid "Allow an intercepted command to run set setuid or setgid programs" msgstr "Dovolit zachycenému příkazu spustit setuid nebo setgid programy" -#: plugins/sudoers/def_data.c:632 +#: plugins/sudoers/def_data.c:638 #, c-format msgid "The maximum size to which the process's address space may grow (in bytes): %s" msgstr "Největší velikost, které smí adresní prostor procesu dorůst (v bajtech): %s" -#: plugins/sudoers/def_data.c:636 +#: plugins/sudoers/def_data.c:642 #, c-format msgid "The largest size core dump file that may be created (in bytes): %s" msgstr "Největší velikost souboru s obrazem paměti, který smí být vytvořen (v bajtech): %s" -#: plugins/sudoers/def_data.c:640 +#: plugins/sudoers/def_data.c:646 #, c-format msgid "The maximum amount of CPU time that the process may use (in seconds): %s" msgstr "Největší množství procesorového času, který proces smí využít (v sekundách): %s" -#: plugins/sudoers/def_data.c:644 +#: plugins/sudoers/def_data.c:650 #, c-format msgid "The maximum size of the data segment for the process (in bytes): %s" msgstr "Největší velikost datového segmentu procesu (v bajtech): %s" -#: plugins/sudoers/def_data.c:648 +#: plugins/sudoers/def_data.c:654 #, c-format msgid "The largest size file that the process may create (in bytes): %s" msgstr "Největší velikost souboru, který proces smí vytvořit (v bajtech): %s" -#: plugins/sudoers/def_data.c:652 +#: plugins/sudoers/def_data.c:658 #, c-format msgid "The maximum number of locks that the process may establish: %s" msgstr "Největší počet zámků, které proces smí vytvořit: %s" -#: plugins/sudoers/def_data.c:656 +#: plugins/sudoers/def_data.c:662 #, c-format msgid "The maximum size that the process may lock in memory (in bytes): %s" msgstr "Největší velikost paměti, kterou proces smí uzamknout (v bajtech): %s" -#: plugins/sudoers/def_data.c:660 +#: plugins/sudoers/def_data.c:666 #, c-format msgid "The maximum number of files that the process may have open: %s" msgstr "Největší počet souboru, které proces smí držet otevřené: %s" -#: plugins/sudoers/def_data.c:664 +#: plugins/sudoers/def_data.c:670 #, c-format msgid "The maximum number of processes that the user may run simultaneously: %s" msgstr "Největší počet procesů, které uživatel smí souběžně spustit: %s" -#: plugins/sudoers/def_data.c:668 +#: plugins/sudoers/def_data.c:674 #, c-format msgid "The maximum size to which the process's resident set size may grow (in bytes): %s" msgstr "Největší velikost rezidentní paměti, které proces smí dorůst (v bajtech): %s" -#: plugins/sudoers/def_data.c:672 +#: plugins/sudoers/def_data.c:678 #, c-format msgid "The maximum size to which the process's stack may grow (in bytes): %s" msgstr "Největší velikost zásobníku, které proces smí dorůst (v bajtech): %s" -#: plugins/sudoers/def_data.c:676 +#: plugins/sudoers/def_data.c:682 msgid "Attempt authentication even when in non-interactive mode" msgstr "Pokusit se o autentizaci i v neinteraktivním režimu" -#: plugins/sudoers/def_data.c:680 +#: plugins/sudoers/def_data.c:686 msgid "Store plaintext passwords in I/O log input" msgstr "Ukládat čitelná hesla do vstupu I/O protokolu" -#: plugins/sudoers/def_data.c:684 +#: plugins/sudoers/def_data.c:690 msgid "List of regular expressions to use when matching a password prompt" msgstr "Seznam regulárních výrazů, které se použijí na rozpoznání výzvy k heslu" -#: plugins/sudoers/def_data.c:688 +#: plugins/sudoers/def_data.c:694 #, c-format msgid "The mechanism used by the intercept and log_subcmds options: %s" msgstr "Volby mechanismu použitého při zachytávání a log_subcmds: %s" -#: plugins/sudoers/def_data.c:692 +#: plugins/sudoers/def_data.c:698 msgid "Attempt to verify the command and arguments after execution" msgstr "Pokusit se ověřit příkaz a argumenty po spuštění" -#: plugins/sudoers/def_data.c:696 +#: plugins/sudoers/def_data.c:702 #, c-format msgid "AppArmor profile to use in the new security context: %s" msgstr "Profil AppArmoru, který se použije v novém bezpečnostním kontextu: %s" +#: plugins/sudoers/def_data.c:706 +#, c-format +msgid "Command denial message: %s" +msgstr "Zpráva o odepření příkazu: %s" + #: plugins/sudoers/defaults.c:207 #, c-format msgid "unknown defaults entry \"%s\"" @@ -2664,64 +2676,64 @@ msgstr "neplatný typ Defaults 0x%x u volby „%s“" msgid "value \"%s\" is invalid for option \"%s\"" msgstr "hodnota „%s“ není pro volbu „%s“ platná" -#: plugins/sudoers/defaults.c:1176 plugins/sudoers/policy.c:213 -#: plugins/sudoers/policy.c:222 +#: plugins/sudoers/defaults.c:1189 plugins/sudoers/policy.c:208 +#: plugins/sudoers/policy.c:217 #, c-format msgid "path name for \"%s\" too long" msgstr "cesta pro „%s“ je příliš dlouhá" -#: plugins/sudoers/defaults.c:1182 +#: plugins/sudoers/defaults.c:1195 #, c-format msgid "values for \"%s\" must start with a '/', '~', or '*'" msgstr "hodnoty „%s“ musí začínat na „/“, „~“ nebo „*“" -#: plugins/sudoers/defaults.c:1189 +#: plugins/sudoers/defaults.c:1202 #, c-format msgid "values for \"%s\" must start with a '/'" msgstr "hodnoty „%s“ musí začínat na „/“" -#: plugins/sudoers/display.c:160 +#: plugins/sudoers/display.c:154 #, c-format msgid "LDAP Role: %s\n" msgstr "Role LDAP: %s\n" -#: plugins/sudoers/display.c:163 +#: plugins/sudoers/display.c:157 #, c-format msgid "Sudoers entry: %s\n" msgstr "Položka v sudoers: %s\n" -#: plugins/sudoers/display.c:166 +#: plugins/sudoers/display.c:160 msgid " RunAsUsers: " msgstr " RunAsUsers: " -#: plugins/sudoers/display.c:181 +#: plugins/sudoers/display.c:175 msgid " RunAsGroups: " msgstr " RunAsGroups: " -#: plugins/sudoers/display.c:191 +#: plugins/sudoers/display.c:185 msgid " Options: " msgstr " Volby: " -#: plugins/sudoers/display.c:255 +#: plugins/sudoers/display.c:249 msgid " Commands:\n" msgstr " Příkazy:\n" -#: plugins/sudoers/display.c:478 +#: plugins/sudoers/display.c:472 #, c-format msgid "Matching Defaults entries for %s on %s:\n" msgstr "Odpovídající položky Defaults pro %s na %s:\n" -#: plugins/sudoers/display.c:496 +#: plugins/sudoers/display.c:490 #, c-format msgid "Runas and Command-specific defaults for %s:\n" msgstr "Výchozí hodnoty Runas a Command pro %s:\n" -#: plugins/sudoers/display.c:514 +#: plugins/sudoers/display.c:508 #, c-format msgid "User %s may run the following commands on %s:\n" msgstr "Uživatel %s smí spustit následující příkazy na %s:\n" -#: plugins/sudoers/display.c:530 +#: plugins/sudoers/display.c:524 #, c-format msgid "User %s is not allowed to run sudo on %s.\n" msgstr "Uživatel %s nemá dovoleno spustit sudo na %s.\n" @@ -2735,15 +2747,15 @@ msgstr "ignoruje se editor: %.*s" msgid "editor arguments may not contain \"--\"" msgstr "argumenty editoru nesmí obsahovat „--“" -#: plugins/sudoers/env.c:426 +#: plugins/sudoers/env.c:443 msgid "sudo_putenv: corrupted envp, length mismatch" msgstr "sudo_putenv: poškozené pole envp, délka nesouhlasí" -#: plugins/sudoers/env.c:1119 +#: plugins/sudoers/env.c:1137 msgid "unable to rebuild the environment" msgstr "prostředí nelze znovu sestavit" -#: plugins/sudoers/env.c:1199 +#: plugins/sudoers/env.c:1217 #, c-format msgid "sorry, you are not allowed to set the following environment variables: %s" msgstr "je nám líto, ale nemáte dovoleno nastavovat následující proměnné prostředí: %s" @@ -2787,37 +2799,37 @@ msgstr "nelze rozebrat síťovou masku „%s“" msgid "Local IP address and netmask pairs:\n" msgstr "Pár místní IP adresy a masky sítě:\n" -#: plugins/sudoers/iolog.c:694 +#: plugins/sudoers/iolog.c:702 msgid "unable to update sequence file" msgstr "nelze aktualizovat soubor s pořadovým číslem" -#: plugins/sudoers/iolog.c:728 plugins/sudoers/iolog.c:917 -#: plugins/sudoers/iolog.c:1080 plugins/sudoers/iolog.c:1087 -#: plugins/sudoers/iolog.c:1209 plugins/sudoers/iolog.c:1216 -#: plugins/sudoers/iolog.c:1316 plugins/sudoers/iolog.c:1323 +#: plugins/sudoers/iolog.c:736 plugins/sudoers/iolog.c:925 +#: plugins/sudoers/iolog.c:1088 plugins/sudoers/iolog.c:1095 +#: plugins/sudoers/iolog.c:1217 plugins/sudoers/iolog.c:1224 +#: plugins/sudoers/iolog.c:1324 plugins/sudoers/iolog.c:1331 #, c-format msgid "unable to write to I/O log file: %s" msgstr "nelze zapsat do souboru s I/O protokolem: %s" -#: plugins/sudoers/iolog.c:736 +#: plugins/sudoers/iolog.c:744 #, c-format msgid "unable to create %s/%s" msgstr "%s/%s nelze vytvořit" -#: plugins/sudoers/iolog.c:965 +#: plugins/sudoers/iolog.c:973 #, c-format msgid "%s: internal error, I/O log file for event %d not open" msgstr "%s: vnitřní chyba, soubor s I/O protokolem pro událost %d není otevřen" -#: plugins/sudoers/iolog.c:1065 plugins/sudoers/iolog.c:1194 -#: plugins/sudoers/iolog.c:1300 plugins/sudoers/timestamp.c:897 -#: plugins/sudoers/timestamp.c:989 plugins/sudoers/visudo.c:555 +#: plugins/sudoers/iolog.c:1073 plugins/sudoers/iolog.c:1202 +#: plugins/sudoers/iolog.c:1308 plugins/sudoers/timestamp.c:900 +#: plugins/sudoers/timestamp.c:992 plugins/sudoers/visudo.c:555 #: plugins/sudoers/visudo.c:561 msgid "unable to read the clock" msgstr "nelze přečíst hodiny" -#: plugins/sudoers/iolog.c:1292 plugins/sudoers/log_client.c:1203 -#: plugins/sudoers/log_client.c:1213 plugins/sudoers/log_client.c:1217 +#: plugins/sudoers/iolog.c:1300 plugins/sudoers/log_client.c:1226 +#: plugins/sudoers/log_client.c:1236 plugins/sudoers/log_client.c:1240 #, c-format msgid "%s: internal error, invalid signal %d" msgstr "%s: vnitřní chyba, neplatný signál %d" @@ -2864,15 +2876,15 @@ msgstr "nepodporovaný typ ldapového URI: %s" msgid "unable to mix ldap and ldaps URIs" msgstr "nelze míchat URI ldap a ldaps" -#: 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 +#: plugins/sudoers/ldap_util.c:496 plugins/sudoers/ldap_util.c:503 +#: plugins/sudoers/ldap_util.c:511 plugins/sudoers/ldap_util.c:519 +#: plugins/sudoers/ldap_util.c:527 plugins/sudoers/ldap_util.c:535 +#: plugins/sudoers/ldap_util.c:543 plugins/sudoers/ldap_util.c:551 #, c-format msgid "duplicate sudoOption: %s%s%s" msgstr "násobná sudoOption: %s%s%s" -#: plugins/sudoers/ldap_util.c:568 plugins/sudoers/ldap_util.c:570 +#: plugins/sudoers/ldap_util.c:569 plugins/sudoers/ldap_util.c:571 #, c-format msgid "unable to convert sudoOption: %s%s%s" msgstr "nelze převést sudoOption: %s%s%s" @@ -2885,63 +2897,63 @@ msgstr "nelze otevřít auditní systém" msgid "unable to send audit message" msgstr "nelze odeslat auditní zprávu" -#: plugins/sudoers/log_client.c:125 plugins/sudoers/log_client.c:412 -#: plugins/sudoers/log_client.c:1450 plugins/sudoers/log_client.c:2076 +#: plugins/sudoers/log_client.c:125 plugins/sudoers/log_client.c:421 +#: plugins/sudoers/log_client.c:1473 plugins/sudoers/log_client.c:2101 msgid "error in event loop" msgstr "chyba ve smyčce událostí" -#: plugins/sudoers/log_client.c:205 +#: plugins/sudoers/log_client.c:214 #, c-format msgid "Creation of new SSL_CTX object failed: %s" msgstr "Vytvoření nového objektu SSL_CTX selhalo: %s" -#: plugins/sudoers/log_client.c:230 +#: plugins/sudoers/log_client.c:239 #, c-format msgid "unable to load certificate authority bundle %s" msgstr "nelze zavést svazek certifikátů autorit %s" -#: plugins/sudoers/log_client.c:252 +#: plugins/sudoers/log_client.c:261 #, c-format msgid "unable to load certificate %s" msgstr "nelze zavést certifikát %s" -#: plugins/sudoers/log_client.c:266 +#: plugins/sudoers/log_client.c:275 #, c-format msgid "unable to load private key %s" msgstr "nelze zavést soukromý klíč %s" -#: plugins/sudoers/log_client.c:275 +#: plugins/sudoers/log_client.c:284 #, c-format msgid "Unable to allocate ssl object: %s" msgstr "Objekt SSL nelze alokovat: %s" -#: plugins/sudoers/log_client.c:364 plugins/sudoers/log_client.c:369 +#: plugins/sudoers/log_client.c:373 plugins/sudoers/log_client.c:378 #, c-format msgid "TLS connection to %s:%s failed: %s" msgstr "Spojení TLS s %s:%s selhalo: %s" -#: plugins/sudoers/log_client.c:545 +#: plugins/sudoers/log_client.c:554 msgid "TLS initialization was unsuccessful" msgstr "Inicializace TLS nebyla úspěšná" -#: plugins/sudoers/log_client.c:555 +#: plugins/sudoers/log_client.c:564 msgid "TLS handshake was unsuccessful" msgstr "Ustanovení spojení TLS nebylo úspěšné" -#: plugins/sudoers/log_client.c:1221 +#: plugins/sudoers/log_client.c:1244 #, c-format msgid "%s: internal error, invalid exit status %d" msgstr "%s: vnitřní chyba, neplatný návratový kód %d" -#: plugins/sudoers/log_client.c:1757 plugins/sudoers/log_client.c:1782 +#: plugins/sudoers/log_client.c:1780 plugins/sudoers/log_client.c:1805 msgid "lost connection to log server" msgstr "spojení k protokolovému serveru ztraceno" -#: plugins/sudoers/log_client.c:1859 +#: plugins/sudoers/log_client.c:1882 msgid "missing write buffer" msgstr "chybí vyrovnávací paměť pro zápis" -#: plugins/sudoers/log_client.c:2015 +#: plugins/sudoers/log_client.c:2040 msgid "unable to connect to log server" msgstr "k protokolovacímu serveru se nelze připojit" @@ -2954,42 +2966,55 @@ msgid "user NOT authorized on host" msgstr "uživatel NENÍ na stroji autorizován" #: plugins/sudoers/logging.c:299 +msgid "setid command rejected in intercept mode" +msgstr "příkaz setid v režimu zachytávání zamítnut" + +#: plugins/sudoers/logging.c:301 msgid "command not allowed" msgstr "příkaz nedovolen" -#: plugins/sudoers/logging.c:320 +#: plugins/sudoers/logging.c:322 #, c-format msgid "%s is not in the sudoers file.\n" msgstr "%s není v souboru sudoers.\n" -#: plugins/sudoers/logging.c:323 +#: plugins/sudoers/logging.c:325 #, c-format msgid "%s is not allowed to run sudo on %s.\n" msgstr "Uživatel %s nemá dovoleno spustit sudo na %s.\n" -#: plugins/sudoers/logging.c:326 +#: plugins/sudoers/logging.c:328 plugins/sudoers/parser_warnx.c:59 +#, c-format +msgid "%s: %s\n" +msgstr "%s: %s\n" + +#: plugins/sudoers/logging.c:329 +msgid "setid commands are not permitted in intercept mode" +msgstr "příkazy setid nejsou v režimu zachytávání dovoleny" + +#: plugins/sudoers/logging.c:331 #, c-format msgid "Sorry, user %s may not run sudo on %s.\n" msgstr "Je nám líto, uživatel %s nesmí spouštět sudo na %s.\n" -#: plugins/sudoers/logging.c:339 +#: plugins/sudoers/logging.c:344 #, c-format msgid "Sorry, user %s is not allowed to execute '%s%s%s%s' as %s%s%s on %s.\n" msgstr "Je nám líto, uživatel %s nemá dovoleno spouštět „%s%s%s%s“ jako %s%s%s na %s.\n" -#: plugins/sudoers/logging.c:350 +#: plugins/sudoers/logging.c:358 msgid "This incident has been reported to the administrator.\n" msgstr "Tato skutečnost byla nahlášena správci.\n" -#: plugins/sudoers/logging.c:387 plugins/sudoers/sudoers.c:547 -#: plugins/sudoers/sudoers.c:549 plugins/sudoers/sudoers.c:551 -#: plugins/sudoers/sudoers.c:553 plugins/sudoers/sudoers.c:777 -#: plugins/sudoers/sudoers.c:779 +#: plugins/sudoers/logging.c:395 plugins/sudoers/sudoers.c:564 +#: plugins/sudoers/sudoers.c:566 plugins/sudoers/sudoers.c:568 +#: plugins/sudoers/sudoers.c:570 plugins/sudoers/sudoers.c:794 +#: plugins/sudoers/sudoers.c:796 #, c-format msgid "%s: command not found" msgstr "%s: příkaz nenalezen" -#: plugins/sudoers/logging.c:389 plugins/sudoers/sudoers.c:543 +#: plugins/sudoers/logging.c:397 plugins/sudoers/sudoers.c:560 #, c-format msgid "" "ignoring \"%s\" found in '.'\n" @@ -2998,7 +3023,7 @@ msgstr "" "ignoruje se „%s“ nalezený v „.“\n" "Použijte „sudo ./%s„, je-li toto „%s“', který chcete spustit." -#: plugins/sudoers/logging.c:409 +#: plugins/sudoers/logging.c:417 #, c-format msgid "%u incorrect password attempt" msgid_plural "%u incorrect password attempts" @@ -3006,24 +3031,24 @@ msgstr[0] "%u chybný pokus zadat heslo" msgstr[1] "%u chybné pokusy zadat heslo" msgstr[2] "%u chybných pokusů zadat heslo" -#: plugins/sudoers/logging.c:500 +#: plugins/sudoers/logging.c:508 msgid "authentication failure" msgstr "selhání autentizace" -#: plugins/sudoers/logging.c:539 plugins/sudoers/logging.c:558 +#: plugins/sudoers/logging.c:552 plugins/sudoers/logging.c:571 msgid "a password is required" msgstr "je vyžadováno heslo" -#: plugins/sudoers/logging.c:881 +#: plugins/sudoers/logging.c:889 msgid "problem parsing sudoers" msgstr "problém při rozboru sudoers" -#: plugins/sudoers/logging.c:922 plugins/sudoers/logging.c:930 +#: plugins/sudoers/logging.c:930 plugins/sudoers/logging.c:938 #, c-format msgid "%s:%d:%d: %s" msgstr "%s:%d:%d: %s" -#: plugins/sudoers/logging.c:1108 +#: plugins/sudoers/logging.c:1119 #, c-format msgid "unable to write log file %s" msgstr "nelze zapsat soubor protokolu %s" @@ -3053,11 +3078,6 @@ msgstr "neplatný atribut LDIF: %s" msgid "%s:%d:%d: %s\n" msgstr "%s:%d:%d: %s\n" -#: plugins/sudoers/parser_warnx.c:59 -#, c-format -msgid "%s: %s\n" -msgstr "%s: %s\n" - #: plugins/sudoers/pivot.c:71 msgid "unable to restore root directory" msgstr "kořenový adresář nelze obnovit" @@ -3071,59 +3091,59 @@ msgstr "současný pracovní adresář nelze obnovit" msgid "invalid %.*s set by sudo front-end" msgstr "neplatné %.*s nenastaveno vnějším rozhraním sudo" -#: plugins/sudoers/policy.c:364 plugins/sudoers/testsudoers.c:329 +#: plugins/sudoers/policy.c:347 plugins/sudoers/testsudoers.c:329 msgid "unable to parse network address list" msgstr "nelze rozebrat seznam síťových adres" -#: plugins/sudoers/policy.c:556 +#: plugins/sudoers/policy.c:555 msgid "user name not set by sudo front-end" msgstr "uživatelské jméno nenastaveno vnějším rozhraním sudo" -#: plugins/sudoers/policy.c:560 +#: plugins/sudoers/policy.c:559 msgid "user-ID not set by sudo front-end" msgstr "ID uživatele nenastaveno vnějším rozhraním sudo" -#: plugins/sudoers/policy.c:564 +#: plugins/sudoers/policy.c:563 msgid "group-ID not set by sudo front-end" msgstr "ID skupiny nenastaveno vnějším rozhraním sudo" -#: plugins/sudoers/policy.c:568 +#: plugins/sudoers/policy.c:567 msgid "host name not set by sudo front-end" msgstr "název počítače nenastaven vnějším rozhraním sudo" -#: plugins/sudoers/policy.c:757 +#: plugins/sudoers/policy.c:765 #, c-format msgid "invalid working directory: %s" msgstr "neplatný pracovní adresář: %s" -#: plugins/sudoers/policy.c:944 +#: plugins/sudoers/policy.c:952 #, c-format msgid "invalid chroot directory: %s" msgstr "neplatný kořenový adresář: %s" -#: plugins/sudoers/policy.c:1153 plugins/sudoers/visudo.c:919 +#: plugins/sudoers/policy.c:1163 plugins/sudoers/visudo.c:919 #: plugins/sudoers/visudo.c:1218 #, c-format msgid "unable to execute %s" msgstr "nelze vykonat %s" -#: plugins/sudoers/policy.c:1225 plugins/sudoers/policy.c:1260 -#: plugins/sudoers/policy.c:1282 plugins/sudoers/policy.c:1300 +#: plugins/sudoers/policy.c:1232 plugins/sudoers/policy.c:1267 +#: plugins/sudoers/policy.c:1289 plugins/sudoers/policy.c:1307 #, c-format msgid "%s: invalid mode flags from sudo front end: 0x%x" msgstr "%s: neplatné příznaky souboru od vnějšího rozhraní suda: 0x%x" -#: plugins/sudoers/policy.c:1323 +#: plugins/sudoers/policy.c:1330 #, c-format msgid "Sudoers policy plugin version %s\n" msgstr "Verze modulu s politikami sudoers je %s\n" -#: plugins/sudoers/policy.c:1325 +#: plugins/sudoers/policy.c:1332 #, c-format msgid "Sudoers file grammar version %d\n" msgstr "Verze gramatiky souboru sudoers je %d\n" -#: plugins/sudoers/policy.c:1329 +#: plugins/sudoers/policy.c:1336 #, c-format msgid "" "\n" @@ -3132,27 +3152,27 @@ msgstr "" "\n" "Cesta sudoers: %s\n" -#: plugins/sudoers/policy.c:1332 +#: plugins/sudoers/policy.c:1339 #, c-format msgid "nsswitch path: %s\n" msgstr "cesta k nsswitch: %s\n" -#: plugins/sudoers/policy.c:1335 +#: plugins/sudoers/policy.c:1342 #, c-format msgid "ldap.conf path: %s\n" msgstr "cesta k ldap.conf: %s\n" -#: plugins/sudoers/policy.c:1337 +#: plugins/sudoers/policy.c:1344 #, c-format msgid "ldap.secret path: %s\n" msgstr "cesta k ldap.secret: %s\n" -#: plugins/sudoers/policy.c:1370 +#: plugins/sudoers/policy.c:1377 #, c-format msgid "unable to register hook of type %d (version %d.%d)" msgstr "nelze zaregistrovat háček typu %d (verze %d.%d)" -#: plugins/sudoers/policy.c:1388 +#: plugins/sudoers/policy.c:1395 #, c-format msgid "unable to deregister hook of type %d (version %d.%d)" msgstr "nelze odhlásit háček typu %d (verze %d.%d)" @@ -3199,24 +3219,24 @@ msgstr "skupinu %s si nelze zapamatovat" msgid "unable to cache group %s, already exists" msgstr "nelze zapamatovat si skupinu %s, již existuje" -#: plugins/sudoers/pwutil.c:900 plugins/sudoers/pwutil.c:985 -#: plugins/sudoers/pwutil.c:1039 plugins/sudoers/pwutil.c:1095 +#: plugins/sudoers/pwutil.c:900 plugins/sudoers/pwutil.c:988 +#: plugins/sudoers/pwutil.c:1042 plugins/sudoers/pwutil.c:1101 #, c-format msgid "unable to cache group list for %s, already exists" msgstr "nelze zapamatovat si seznam skupin pro %s, již existuje" -#: plugins/sudoers/pwutil.c:906 plugins/sudoers/pwutil.c:990 -#: plugins/sudoers/pwutil.c:1045 plugins/sudoers/pwutil.c:1100 +#: plugins/sudoers/pwutil.c:906 plugins/sudoers/pwutil.c:993 +#: plugins/sudoers/pwutil.c:1048 plugins/sudoers/pwutil.c:1106 #, c-format msgid "unable to cache group list for %s" msgstr "nelze si zapamatovat seznam skupin pro %s" -#: plugins/sudoers/pwutil.c:979 +#: plugins/sudoers/pwutil.c:982 #, c-format msgid "unable to parse groups for %s" msgstr "nelze rozebrat skupiny pro %s" -#: plugins/sudoers/pwutil.c:1089 +#: plugins/sudoers/pwutil.c:1095 #, c-format msgid "unable to parse gids for %s" msgstr "nelze rozebrat čísla GID pro %s" @@ -3345,82 +3365,82 @@ msgstr "uživatel nemá dovoleno změnit adresář na %s" msgid "you are not permitted to use the -D option with %s" msgstr "nemáte dovoleno použít přepínač -D s %s" -#: plugins/sudoers/sudoers.c:542 +#: plugins/sudoers/sudoers.c:559 msgid "command in current directory" msgstr "příkaz v aktuálním adresáři" -#: plugins/sudoers/sudoers.c:557 +#: plugins/sudoers/sudoers.c:574 msgid "\"cd\" is a shell built-in command, it cannot be run directly." msgstr "„cd“ je vestavěný příkaz shellu a nelze jej přímo spustit." -#: plugins/sudoers/sudoers.c:559 +#: plugins/sudoers/sudoers.c:576 msgid "the -s option may be used to run a privileged shell." msgstr "přepínač -s smí být použit pro spuštění privilegovaného shellu." -#: plugins/sudoers/sudoers.c:561 +#: plugins/sudoers/sudoers.c:578 msgid "the -D option may be used to run a command in a specific directory." msgstr "přepínač -D smí být použit pro spuštění příkazu v určitém adresáři." -#: plugins/sudoers/sudoers.c:570 +#: plugins/sudoers/sudoers.c:587 msgid "user not allowed to set a command timeout" msgstr "uživatel nemá dovoleno nastavit časový limit příkazu" -#: plugins/sudoers/sudoers.c:572 +#: plugins/sudoers/sudoers.c:589 msgid "sorry, you are not allowed set a command timeout" msgstr "je nám líto, ale nastavit časový limit nemáte dovoleno" -#: plugins/sudoers/sudoers.c:580 +#: plugins/sudoers/sudoers.c:597 msgid "user not allowed to preserve the environment" msgstr "uživatel nemá dovoleno zachovat prostředí" -#: plugins/sudoers/sudoers.c:582 +#: plugins/sudoers/sudoers.c:599 msgid "sorry, you are not allowed to preserve the environment" msgstr "je nám líto, ale zachovat prostředí nemáte dovoleno" -#: plugins/sudoers/sudoers.c:618 +#: plugins/sudoers/sudoers.c:635 msgid "no command specified" msgstr "nezadán žádný příkaz" -#: plugins/sudoers/sudoers.c:759 +#: plugins/sudoers/sudoers.c:776 msgid "error setting user-specified environment variables" msgstr "chyba při nastavování proměnných prostředí určených uživatelem" -#: plugins/sudoers/sudoers.c:1211 +#: plugins/sudoers/sudoers.c:1229 msgid "sudoedit doesn't need to be run via sudo" msgstr "sudoedit není nutné spouštět přes sudo" -#: plugins/sudoers/sudoers.c:1296 plugins/sudoers/sudoreplay.c:1613 -#: plugins/sudoers/tsdump.c:138 +#: plugins/sudoers/sudoers.c:1314 plugins/sudoers/sudoreplay.c:1615 +#: plugins/sudoers/tsdump.c:151 #, c-format msgid "unable to read %s" msgstr "%s nelze číst" -#: plugins/sudoers/sudoers.c:1321 plugins/sudoers/visudo.c:1123 +#: plugins/sudoers/sudoers.c:1339 plugins/sudoers/visudo.c:1123 #, c-format msgid "%s is not a regular file" msgstr "%s není běžný soubor" -#: plugins/sudoers/sudoers.c:1325 plugins/sudoers/timestamp.c:272 toke.l:1355 +#: plugins/sudoers/sudoers.c:1343 plugins/sudoers/timestamp.c:272 toke.l:1335 #, c-format msgid "%s is owned by uid %u, should be %u" msgstr "%s je vlastněn UID %u, měl by být vlastněn %u" -#: plugins/sudoers/sudoers.c:1330 plugins/sudoers/timestamp.c:279 toke.l:1360 +#: plugins/sudoers/sudoers.c:1348 plugins/sudoers/timestamp.c:279 toke.l:1340 #, c-format msgid "%s is world writable" msgstr "%s je zapisovatelný pro všechny" -#: plugins/sudoers/sudoers.c:1334 plugins/sudoers/timestamp.c:284 toke.l:1363 +#: plugins/sudoers/sudoers.c:1352 plugins/sudoers/timestamp.c:284 toke.l:1343 #, c-format msgid "%s is owned by gid %u, should be %u" msgstr "%s je vlastněn GID %u, mělo by být %u" -#: plugins/sudoers/sudoers.c:1363 +#: plugins/sudoers/sudoers.c:1381 #, c-format msgid "only root can use \"-c %s\"" msgstr "pouze root může použít „-c %s“" -#: plugins/sudoers/sudoers.c:1382 +#: plugins/sudoers/sudoers.c:1400 #, c-format msgid "unknown login class %s" msgstr "neznámá přihlašovací třída %s" @@ -3465,75 +3485,75 @@ msgstr "%s/časování: %s" msgid "Replaying sudo session: %s" msgstr "Přehrává se relace sudo: %s" -#: plugins/sudoers/sudoreplay.c:634 +#: plugins/sudoers/sudoreplay.c:633 plugins/sudoers/sudoreplay.c:636 msgid "unable to set tty to raw mode" msgstr "TTY nelze nastavit do přímého režimu" -#: plugins/sudoers/sudoreplay.c:685 +#: plugins/sudoers/sudoreplay.c:687 msgid "Warning: your terminal is too small to properly replay the log." msgstr "Pozor: váš terminál je příliš malý pro správné zobrazení záznamu." -#: plugins/sudoers/sudoreplay.c:686 +#: plugins/sudoers/sudoreplay.c:688 #, c-format msgid "Log geometry is %d x %d, your terminal's geometry is %d x %d." msgstr "Rozměry záznamu jsou %d × %d, váš terminál má rozměry %d × %d." -#: plugins/sudoers/sudoreplay.c:714 +#: plugins/sudoers/sudoreplay.c:716 msgid "Replay finished, press any key to restore the terminal." msgstr "Přehrávání skončilo, pro obnovení terminálu stiskněte libovolnou klávesu." -#: plugins/sudoers/sudoreplay.c:1217 plugins/sudoers/sudoreplay.c:1247 +#: plugins/sudoers/sudoreplay.c:1219 plugins/sudoers/sudoreplay.c:1249 #, c-format msgid "ambiguous expression \"%s\"" msgstr "nejednoznačný výraz „%s“" -#: plugins/sudoers/sudoreplay.c:1269 +#: plugins/sudoers/sudoreplay.c:1271 msgid "unmatched ')' in expression" msgstr "ve výrazu neodpovídá „)“" -#: plugins/sudoers/sudoreplay.c:1273 +#: plugins/sudoers/sudoreplay.c:1275 #, c-format msgid "unknown search term \"%s\"" msgstr "neznámý vyhledávací výraz „%s“" -#: plugins/sudoers/sudoreplay.c:1288 +#: plugins/sudoers/sudoreplay.c:1290 #, c-format msgid "%s requires an argument" msgstr "%s vyžaduje argument" -#: plugins/sudoers/sudoreplay.c:1298 +#: plugins/sudoers/sudoreplay.c:1300 #, c-format msgid "could not parse date \"%s\"" msgstr "datum „%s“ se nepodařilo rozebrat" -#: plugins/sudoers/sudoreplay.c:1307 +#: plugins/sudoers/sudoreplay.c:1309 msgid "unmatched '(' in expression" msgstr "ve výrazu neodpovídá „(“" -#: plugins/sudoers/sudoreplay.c:1309 +#: plugins/sudoers/sudoreplay.c:1311 msgid "illegal trailing \"or\"" msgstr "zakázané zakončení „or“" -#: plugins/sudoers/sudoreplay.c:1311 +#: plugins/sudoers/sudoreplay.c:1313 msgid "illegal trailing \"!\"" msgstr "zakázané zakončení „!“" -#: plugins/sudoers/sudoreplay.c:1417 +#: plugins/sudoers/sudoreplay.c:1419 #, c-format msgid "unknown search type %d" msgstr "neznámý vyhledávácí typ %d" -#: plugins/sudoers/sudoreplay.c:1679 +#: plugins/sudoers/sudoreplay.c:1681 #, c-format msgid "usage: %s [-hnRS] [-d dir] [-m num] [-s num] ID\n" msgstr "použití: %s [-hnRS] [-d adresář] [-m číslo] [-s číslo] ID\n" -#: plugins/sudoers/sudoreplay.c:1681 +#: plugins/sudoers/sudoreplay.c:1683 #, c-format msgid "usage: %s [-h] [-d dir] -l [search expression]\n" msgstr "použití: %s [-h] [-d adresář] -l [vyhledávací_výraz]\n" -#: plugins/sudoers/sudoreplay.c:1695 +#: plugins/sudoers/sudoreplay.c:1697 #, c-format msgid "" "%s - replay sudo session logs\n" @@ -3542,7 +3562,7 @@ msgstr "" "%s – přehraje záznam relace sudo\n" "\n" -#: plugins/sudoers/sudoreplay.c:1697 +#: plugins/sudoers/sudoreplay.c:1699 msgid "" "\n" "Options:\n" @@ -3622,27 +3642,27 @@ msgstr "" "Příkaz se neshoduje" # TODO: pluralize -#: plugins/sudoers/timestamp.c:364 plugins/sudoers/timestamp.c:711 +#: plugins/sudoers/timestamp.c:364 plugins/sudoers/timestamp.c:714 #, c-format msgid "unable to truncate time stamp file to %lld bytes" msgstr "nelze zkrátit soubor s časovými údaji na %lld bajtů" -#: plugins/sudoers/timestamp.c:908 +#: plugins/sudoers/timestamp.c:911 msgid "ignoring time stamp from the future" msgstr "časový údaj z budoucnosti se ignoruje" -#: plugins/sudoers/timestamp.c:931 +#: plugins/sudoers/timestamp.c:934 #, c-format msgid "time stamp too far in the future: %20.20s" msgstr "časový údaj ukazuje příliš do budoucna: %20.20s" # TODO: pluralize -#: plugins/sudoers/timestamp.c:1067 +#: plugins/sudoers/timestamp.c:1070 #, c-format msgid "unable to lock time stamp file %s" msgstr "soubor s časovými údaji %s nelze zamknout" -#: plugins/sudoers/timestamp.c:1114 +#: plugins/sudoers/timestamp.c:1117 #, c-format msgid "%s:%d:%d timestampowner: unknown user %s" msgstr "%s:%d:%d: timestampowner: neznámý uživatel %s" @@ -3845,19 +3865,19 @@ msgstr "neplatné pokračování řádku" msgid "invalid IPv6 address" msgstr "neplatná IPv6 adresa" -#: toke.l:863 +#: toke.l:843 msgid "unexpected line break in string" msgstr "nečekané zalomení řádku uvnitř řetězce" -#: toke.l:982 +#: toke.l:962 msgid "ignoring editor backup file" msgstr "ignoruje se záložní souboru editoru" -#: toke.l:985 +#: toke.l:965 msgid "ignoring file name containing '.'" msgstr "ignoruje se soubor s názvem obsahujícím „.“" -#: toke.l:1310 +#: toke.l:1290 msgid "too many levels of includes" msgstr "příliš mnoho úrovní zanoření" @@ -3939,9 +3959,6 @@ msgstr "příliš mnoho úrovní zanoření" #~ msgid "problem with defaults entries" #~ msgstr "problém s položkami defaults" -#~ msgid "internal error, unable to find %s in list!" -#~ msgstr "vnitřní chyba, v seznamu nelze nalézt %s!" - #~ msgid "%s is not in the sudoers file. This incident will be reported.\n" #~ msgstr "%s není v souboru sudoers. Tato událost bude ohlášena.\n" diff --git a/plugins/sudoers/po/de.mo b/plugins/sudoers/po/de.mo index fb2f8fb9f..cc4be8b26 100644 Binary files a/plugins/sudoers/po/de.mo and b/plugins/sudoers/po/de.mo differ diff --git a/plugins/sudoers/po/de.po b/plugins/sudoers/po/de.po index ba312b5ec..0ceb20aec 100644 --- a/plugins/sudoers/po/de.po +++ b/plugins/sudoers/po/de.po @@ -3,13 +3,13 @@ # Todd C. Miller , 2011-2013 # Hendrik Knackstedt , 2013 # Mario Blättermann , 2015. -# Jochen Hein , 2001-2023. +# Jochen Hein , 2001-2024. msgid "" msgstr "" -"Project-Id-Version: sudoers 1.9.15b1\n" +"Project-Id-Version: sudoers 1.9.16b1\n" "Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n" -"POT-Creation-Date: 2023-10-19 10:02-0600\n" -"PO-Revision-Date: 2023-10-21 18:25+0200\n" +"POT-Creation-Date: 2024-06-08 09:06-0600\n" +"PO-Revision-Date: 2024-06-16 19:41+0200\n" "Last-Translator: Jochen Hein \n" "Language-Team: German \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:1257 plugins/sudoers/logging.c:911 +#: confstr.sh:1 gram.y:1240 plugins/sudoers/logging.c:919 msgid "syntax error" msgstr "Syntax-Fehler" @@ -45,16 +45,16 @@ msgid "Sorry, try again." msgstr "Das hat nicht funktioniert, bitte nochmal probieren." #: gram.y:238 gram.y:305 gram.y:314 gram.y:323 gram.y:333 gram.y:343 gram.y:367 -#: gram.y:394 gram.y:403 gram.y:411 gram.y:420 gram.y:429 gram.y:503 gram.y:513 -#: gram.y:525 gram.y:573 gram.y:582 gram.y:591 gram.y:600 gram.y:733 gram.y:742 -#: gram.y:757 gram.y:777 gram.y:796 gram.y:959 gram.y:964 gram.y:972 gram.y:986 -#: gram.y:992 gram.y:1004 gram.y:1010 gram.y:1135 gram.y:1144 gram.y:1152 -#: gram.y:1161 gram.y:1170 gram.y:1199 gram.y:1208 gram.y:1216 gram.y:1317 -#: gram.y:1447 gram.y:1829 gram.y:1840 gram.y:1922 lib/eventlog/eventlog.c:236 -#: lib/eventlog/eventlog.c:313 lib/eventlog/eventlog.c:765 -#: lib/eventlog/eventlog.c:842 lib/eventlog/eventlog.c:1175 -#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:484 -#: lib/eventlog/parse_json.c:514 lib/iolog/iolog_filter.c:142 +#: gram.y:394 gram.y:403 gram.y:411 gram.y:420 gram.y:429 gram.y:502 gram.y:512 +#: gram.y:524 gram.y:566 gram.y:575 gram.y:584 gram.y:593 gram.y:726 gram.y:735 +#: gram.y:750 gram.y:770 gram.y:789 gram.y:942 gram.y:947 gram.y:955 gram.y:969 +#: gram.y:975 gram.y:987 gram.y:993 gram.y:1118 gram.y:1127 gram.y:1135 +#: gram.y:1144 gram.y:1153 gram.y:1182 gram.y:1191 gram.y:1199 gram.y:1300 +#: gram.y:1430 gram.y:1811 gram.y:1822 gram.y:1898 lib/eventlog/eventlog.c:236 +#: lib/eventlog/eventlog.c:313 lib/eventlog/eventlog.c:778 +#: lib/eventlog/eventlog.c:855 lib/eventlog/eventlog.c:1189 +#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:501 +#: lib/eventlog/parse_json.c:531 lib/iolog/iolog_filter.c:142 #: lib/iolog/iolog_filter.c:202 lib/iolog/iolog_filter.c:233 #: lib/iolog/iolog_legacy.c:101 lib/iolog/iolog_legacy.c:112 #: lib/iolog/iolog_legacy.c:124 lib/iolog/iolog_legacy.c:134 @@ -65,13 +65,13 @@ msgstr "Das hat nicht funktioniert, bitte nochmal probieren." #: logsrvd/iolog_writer.c:218 logsrvd/iolog_writer.c:228 #: logsrvd/iolog_writer.c:257 logsrvd/iolog_writer.c:278 #: logsrvd/iolog_writer.c:290 logsrvd/iolog_writer.c:300 -#: logsrvd/iolog_writer.c:310 logsrvd/iolog_writer.c:320 -#: logsrvd/iolog_writer.c:330 logsrvd/iolog_writer.c:342 -#: logsrvd/iolog_writer.c:377 logsrvd/iolog_writer.c:383 -#: logsrvd/iolog_writer.c:390 logsrvd/iolog_writer.c:396 -#: logsrvd/iolog_writer.c:580 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:323 -#: logsrvd/logsrvd.c:1057 logsrvd/logsrvd.c:1120 logsrvd/logsrvd.c:1589 -#: logsrvd/logsrvd.c:1594 logsrvd/logsrvd.c:1781 logsrvd/logsrvd.c:2003 +#: logsrvd/iolog_writer.c:318 logsrvd/iolog_writer.c:328 +#: logsrvd/iolog_writer.c:338 logsrvd/iolog_writer.c:350 +#: logsrvd/iolog_writer.c:385 logsrvd/iolog_writer.c:391 +#: logsrvd/iolog_writer.c:398 logsrvd/iolog_writer.c:404 +#: logsrvd/iolog_writer.c:588 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:324 +#: logsrvd/logsrvd.c:1058 logsrvd/logsrvd.c:1121 logsrvd/logsrvd.c:1599 +#: logsrvd/logsrvd.c:1604 logsrvd/logsrvd.c:1791 logsrvd/logsrvd.c:2046 #: 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 @@ -79,11 +79,11 @@ msgstr "Das hat nicht funktioniert, bitte nochmal probieren." #: 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_conf.c:829 logsrvd/logsrvd_conf.c:1041 +#: logsrvd/logsrvd_conf.c:1058 logsrvd/logsrvd_conf.c:1453 +#: logsrvd/logsrvd_conf.c:1600 logsrvd/logsrvd_conf.c:1626 +#: logsrvd/logsrvd_conf.c:1638 logsrvd/logsrvd_conf.c:1645 +#: logsrvd/logsrvd_conf.c:1651 logsrvd/logsrvd_conf.c:1748 #: logsrvd/logsrvd_journal.c:76 logsrvd/logsrvd_journal.c:216 #: logsrvd/logsrvd_journal.c:217 logsrvd/logsrvd_journal.c:274 #: logsrvd/logsrvd_journal.c:279 logsrvd/logsrvd_journal.c:439 @@ -96,10 +96,10 @@ msgstr "Das hat nicht funktioniert, bitte nochmal probieren." #: logsrvd/logsrvd_queue.c:266 logsrvd/logsrvd_relay.c:446 #: logsrvd/logsrvd_relay.c:748 logsrvd/logsrvd_relay.c:855 #: logsrvd/sendlog.c:256 logsrvd/sendlog.c:265 logsrvd/sendlog.c:297 -#: logsrvd/sendlog.c:303 logsrvd/sendlog.c:352 logsrvd/sendlog.c:630 -#: logsrvd/sendlog.c:1822 plugins/sudoers/audit.c:118 -#: plugins/sudoers/auth/bsdauth.c:154 plugins/sudoers/auth/kerb5.c:122 -#: plugins/sudoers/auth/kerb5.c:150 plugins/sudoers/auth/pam.c:697 +#: logsrvd/sendlog.c:303 logsrvd/sendlog.c:352 logsrvd/sendlog.c:651 +#: logsrvd/sendlog.c:1847 plugins/sudoers/audit.c:118 +#: plugins/sudoers/auth/bsdauth.c:154 plugins/sudoers/auth/kerb5.c:123 +#: plugins/sudoers/auth/kerb5.c:151 plugins/sudoers/auth/pam.c:697 #: plugins/sudoers/auth/rfc1938.c:112 plugins/sudoers/auth/sia.c:61 #: plugins/sudoers/canon_path.c:129 plugins/sudoers/canon_path.c:161 #: plugins/sudoers/check_aliases.c:128 plugins/sudoers/check_util.c:56 @@ -109,33 +109,30 @@ msgstr "Das hat nicht funktioniert, bitte nochmal probieren." #: plugins/sudoers/cvtsudoers.c:379 plugins/sudoers/cvtsudoers.c:399 #: plugins/sudoers/cvtsudoers.c:545 plugins/sudoers/cvtsudoers.c:698 #: plugins/sudoers/cvtsudoers.c:716 plugins/sudoers/cvtsudoers.c:891 -#: plugins/sudoers/cvtsudoers.c:899 plugins/sudoers/cvtsudoers.c:1395 -#: plugins/sudoers/cvtsudoers.c:1399 plugins/sudoers/cvtsudoers.c:1501 -#: plugins/sudoers/cvtsudoers_csv.c:183 plugins/sudoers/cvtsudoers_csv.c:247 -#: plugins/sudoers/cvtsudoers_json.c:76 plugins/sudoers/cvtsudoers_ldif.c:152 -#: plugins/sudoers/cvtsudoers_ldif.c:195 plugins/sudoers/cvtsudoers_ldif.c:236 -#: plugins/sudoers/cvtsudoers_ldif.c:302 plugins/sudoers/cvtsudoers_ldif.c:378 -#: plugins/sudoers/cvtsudoers_ldif.c:432 plugins/sudoers/cvtsudoers_ldif.c:440 -#: plugins/sudoers/cvtsudoers_ldif.c:451 plugins/sudoers/cvtsudoers_ldif.c:458 -#: plugins/sudoers/cvtsudoers_ldif.c:470 plugins/sudoers/cvtsudoers_ldif.c:483 -#: plugins/sudoers/cvtsudoers_ldif.c:491 plugins/sudoers/cvtsudoers_ldif.c:638 -#: 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:455 -#: plugins/sudoers/defaults.c:689 plugins/sudoers/defaults.c:1051 -#: plugins/sudoers/defaults.c:1235 plugins/sudoers/editor.c:198 -#: plugins/sudoers/env.c:263 plugins/sudoers/exptilde.c:92 +#: plugins/sudoers/cvtsudoers.c:899 plugins/sudoers/cvtsudoers.c:1393 +#: plugins/sudoers/cvtsudoers.c:1397 plugins/sudoers/cvtsudoers.c:1497 +#: plugins/sudoers/cvtsudoers_csv.c:182 plugins/sudoers/cvtsudoers_csv.c:255 +#: plugins/sudoers/cvtsudoers_json.c:604 plugins/sudoers/cvtsudoers_json.c:639 +#: plugins/sudoers/cvtsudoers_json.c:1016 +#: plugins/sudoers/cvtsudoers_json.c:1041 plugins/sudoers/cvtsudoers_ldif.c:112 +#: plugins/sudoers/cvtsudoers_ldif.c:144 plugins/sudoers/cvtsudoers_ldif.c:260 +#: plugins/sudoers/cvtsudoers_ldif.c:573 plugins/sudoers/cvtsudoers_ldif.c:586 +#: plugins/sudoers/cvtsudoers_ldif.c:591 plugins/sudoers/cvtsudoers_ldif.c:761 +#: plugins/sudoers/cvtsudoers_merge.c:57 plugins/sudoers/cvtsudoers_merge.c:357 +#: plugins/sudoers/cvtsudoers_merge.c:405 +#: plugins/sudoers/cvtsudoers_merge.c:454 +#: plugins/sudoers/cvtsudoers_merge.c:476 +#: plugins/sudoers/cvtsudoers_merge.c:588 +#: plugins/sudoers/cvtsudoers_merge.c:664 +#: plugins/sudoers/cvtsudoers_merge.c:1197 +#: plugins/sudoers/cvtsudoers_merge.c:1281 plugins/sudoers/defaults.c:455 +#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1062 +#: plugins/sudoers/defaults.c:1248 plugins/sudoers/editor.c:198 +#: plugins/sudoers/env.c:280 plugins/sudoers/exptilde.c:92 #: plugins/sudoers/filedigest.c:66 plugins/sudoers/filedigest.c:70 #: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:212 -#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268 -#: plugins/sudoers/iolog.c:675 plugins/sudoers/iolog.c:703 +#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:270 +#: plugins/sudoers/iolog.c:683 plugins/sudoers/iolog.c:711 #: plugins/sudoers/ldap.c:161 plugins/sudoers/ldap.c:448 #: plugins/sudoers/ldap.c:625 plugins/sudoers/ldap.c:789 #: plugins/sudoers/ldap.c:1214 plugins/sudoers/ldap.c:1642 @@ -145,23 +142,23 @@ msgstr "Das hat nicht funktioniert, bitte nochmal probieren." #: plugins/sudoers/ldap_conf.c:299 plugins/sudoers/ldap_conf.c:335 #: plugins/sudoers/ldap_conf.c:441 plugins/sudoers/ldap_conf.c:456 #: plugins/sudoers/ldap_conf.c:565 plugins/sudoers/ldap_conf.c:598 -#: plugins/sudoers/ldap_conf.c:694 plugins/sudoers/ldap_conf.c:776 +#: plugins/sudoers/ldap_conf.c:696 plugins/sudoers/ldap_conf.c:778 #: 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:717 plugins/sudoers/log_client.c:739 -#: plugins/sudoers/log_client.c:744 plugins/sudoers/log_client.c:1426 -#: plugins/sudoers/log_client.c:1547 plugins/sudoers/log_client.c:1670 -#: plugins/sudoers/log_client.c:1993 plugins/sudoers/log_client.c:2052 +#: plugins/sudoers/ldap_util.c:615 plugins/sudoers/linux_audit.c:86 +#: plugins/sudoers/log_client.c:117 plugins/sudoers/log_client.c:411 +#: plugins/sudoers/log_client.c:726 plugins/sudoers/log_client.c:748 +#: plugins/sudoers/log_client.c:753 plugins/sudoers/log_client.c:1449 +#: plugins/sudoers/log_client.c:1570 plugins/sudoers/log_client.c:1693 +#: plugins/sudoers/log_client.c:2018 plugins/sudoers/log_client.c:2077 #: plugins/sudoers/logging.c:110 plugins/sudoers/logging.c:190 -#: plugins/sudoers/logging.c:475 plugins/sudoers/logging.c:711 -#: plugins/sudoers/logging.c:872 plugins/sudoers/lookup.c:338 -#: plugins/sudoers/lookup.c:355 plugins/sudoers/lookup.c:374 -#: plugins/sudoers/lookup.c:393 plugins/sudoers/lookup.c:410 -#: plugins/sudoers/lookup.c:433 plugins/sudoers/lookup.c:444 -#: plugins/sudoers/match_command.c:302 plugins/sudoers/match_command.c:574 -#: plugins/sudoers/match_command.c:641 plugins/sudoers/match_command.c:737 -#: plugins/sudoers/match_command.c:785 plugins/sudoers/match_digest.c:88 +#: plugins/sudoers/logging.c:483 plugins/sudoers/logging.c:723 +#: plugins/sudoers/logging.c:880 plugins/sudoers/lookup.c:331 +#: plugins/sudoers/lookup.c:348 plugins/sudoers/lookup.c:366 +#: plugins/sudoers/lookup.c:384 plugins/sudoers/lookup.c:401 +#: plugins/sudoers/lookup.c:423 plugins/sudoers/lookup.c:434 +#: plugins/sudoers/match_command.c:280 plugins/sudoers/match_command.c:544 +#: plugins/sudoers/match_command.c:608 plugins/sudoers/match_command.c:702 +#: plugins/sudoers/match_command.c:750 plugins/sudoers/match_digest.c:88 #: 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 @@ -172,107 +169,107 @@ msgstr "Das hat nicht funktioniert, bitte nochmal probieren." #: 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:646 plugins/sudoers/policy.c:1061 +#: plugins/sudoers/policy.c:654 plugins/sudoers/policy.c:1071 #: plugins/sudoers/prompt.c:94 plugins/sudoers/pwutil.c:219 #: plugins/sudoers/pwutil.c:290 plugins/sudoers/pwutil.c:368 #: plugins/sudoers/pwutil.c:542 plugins/sudoers/pwutil.c:607 #: plugins/sudoers/pwutil.c:679 plugins/sudoers/pwutil.c:877 -#: plugins/sudoers/pwutil.c:967 plugins/sudoers/pwutil.c:1015 -#: plugins/sudoers/pwutil.c:1076 plugins/sudoers/sethost.c:85 +#: plugins/sudoers/pwutil.c:970 plugins/sudoers/pwutil.c:1018 +#: plugins/sudoers/pwutil.c:1082 plugins/sudoers/sethost.c:89 #: plugins/sudoers/sssd.c:145 plugins/sudoers/sssd.c:186 #: plugins/sudoers/sssd.c:415 plugins/sudoers/sssd.c:480 #: plugins/sudoers/sssd.c:507 plugins/sudoers/sssd.c:570 #: plugins/sudoers/sssd.c:765 plugins/sudoers/strvec_join.c:53 #: plugins/sudoers/sudoers.c:405 plugins/sudoers/sudoers.c:412 -#: plugins/sudoers/sudoers.c:656 plugins/sudoers/sudoers.c:666 -#: plugins/sudoers/sudoers.c:811 plugins/sudoers/sudoers.c:877 -#: plugins/sudoers/sudoers.c:936 plugins/sudoers/sudoers.c:985 -#: plugins/sudoers/sudoers.c:1144 plugins/sudoers/sudoers.c:1213 -#: plugins/sudoers/sudoers.c:1307 plugins/sudoers/sudoers_cb.c:150 +#: plugins/sudoers/sudoers.c:673 plugins/sudoers/sudoers.c:683 +#: plugins/sudoers/sudoers.c:828 plugins/sudoers/sudoers.c:894 +#: plugins/sudoers/sudoers.c:953 plugins/sudoers/sudoers.c:1002 +#: plugins/sudoers/sudoers.c:1162 plugins/sudoers/sudoers.c:1231 +#: plugins/sudoers/sudoers.c:1325 plugins/sudoers/sudoers_cb.c:150 #: plugins/sudoers/sudoreplay.c:559 plugins/sudoers/sudoreplay.c:562 -#: plugins/sudoers/sudoreplay.c:1279 plugins/sudoers/sudoreplay.c:1335 -#: plugins/sudoers/sudoreplay.c:1531 plugins/sudoers/sudoreplay.c:1535 +#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1337 +#: plugins/sudoers/sudoreplay.c:1533 plugins/sudoers/sudoreplay.c:1537 #: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:256 #: plugins/sudoers/testsudoers.c:265 plugins/sudoers/testsudoers.c:275 #: plugins/sudoers/testsudoers.c:282 plugins/sudoers/testsudoers.c:302 -#: plugins/sudoers/testsudoers.c:758 plugins/sudoers/timestamp.c:469 -#: plugins/sudoers/timestamp.c:513 plugins/sudoers/timestamp.c:1042 -#: plugins/sudoers/timestamp.c:1216 plugins/sudoers/toke_util.c:79 +#: plugins/sudoers/testsudoers.c:756 plugins/sudoers/timestamp.c:468 +#: plugins/sudoers/timestamp.c:514 plugins/sudoers/timestamp.c:1045 +#: plugins/sudoers/timestamp.c:1248 plugins/sudoers/toke_util.c:79 #: plugins/sudoers/toke_util.c:108 plugins/sudoers/toke_util.c:134 #: plugins/sudoers/toke_util.c:164 plugins/sudoers/toke_util.c:204 -#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:151 +#: plugins/sudoers/tsdump.c:136 plugins/sudoers/visudo.c:151 #: plugins/sudoers/visudo.c:258 plugins/sudoers/visudo.c:383 #: plugins/sudoers/visudo.c:389 plugins/sudoers/visudo.c:501 #: plugins/sudoers/visudo.c:1073 plugins/sudoers/visudo.c:1095 -#: plugins/sudoers/visudo.c:1189 toke.l:1031 toke.l:1194 toke.l:1213 -#: toke.l:1240 toke.l:1320 +#: plugins/sudoers/visudo.c:1189 toke.l:1011 toke.l:1174 toke.l:1193 +#: toke.l:1220 toke.l:1300 msgid "unable to allocate memory" msgstr "Es kann kein Speicher mehr alloziert werden" -#: gram.y:624 +#: gram.y:617 msgid "a digest requires a path name" msgstr "Eine Prüfsumme erfordert einen Pfadnamen" -#: gram.y:646 +#: gram.y:639 msgid "values for \"CWD\" must start with a '/', '~', or '*'" msgstr "Werte für »CWD« müssen mit »/«, »~« oder »*« beginnen" -#: gram.y:652 +#: gram.y:645 msgid "\"CWD\" path too long" msgstr "»CWD« (aktuelles Arbeitsverzeichnis) Pfad ist zu lang" -#: gram.y:662 +#: gram.y:655 msgid "values for \"CHROOT\" must start with a '/', '~', or '*'" msgstr "Werte für »CHROOT« müssen mit »/«, »~« oder »*« beginnen" -#: gram.y:668 +#: gram.y:661 msgid "\"CHROOT\" path too long" msgstr "»CHROOT« Pfad ist zu lang" -#: gram.y:817 +#: gram.y:810 #, 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:840 +#: gram.y:833 msgid "invalid notbefore value" msgstr "ungültiger Wert für »notbefore«" -#: gram.y:849 +#: gram.y:842 msgid "invalid notafter value" msgstr "ungültiger Wert für »notafter«" -#: gram.y:859 plugins/sudoers/policy.c:390 +#: gram.y:852 plugins/sudoers/policy.c:373 msgid "timeout value too large" msgstr "Wert für Timeout ist zu groß" -#: gram.y:861 plugins/sudoers/policy.c:392 +#: gram.y:854 plugins/sudoers/policy.c:375 msgid "invalid timeout value" msgstr "ungültiger Wert für Timeout" -#: gram.y:982 plugins/sudoers/sudoers.c:1162 +#: gram.y:965 plugins/sudoers/sudoers.c:1180 msgid "command too long" msgstr "Der Befehl ist zu lang" -#: gram.y:1016 +#: gram.y:999 msgid "expected a fully-qualified path name" msgstr "Voll qualifizierter Pfad erwartet" -#: gram.y:1261 +#: gram.y:1244 #, c-format msgid "%s:%d:%zu: %s\n" msgstr "%s:%d:%zu: %s\n" -#: gram.y:1315 +#: gram.y:1298 #, c-format msgid "Alias \"%s\" already defined" msgstr "Alias »%s« ist bereits definiert" -#: gram.y:1829 gram.y:1840 gram.y:1922 lib/eventlog/eventlog.c:236 -#: lib/eventlog/eventlog.c:765 lib/eventlog/eventlog.c:838 -#: lib/eventlog/eventlog.c:841 lib/eventlog/eventlog.c:1175 -#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:483 -#: lib/eventlog/parse_json.c:514 lib/iolog/iolog_filter.c:142 +#: gram.y:1811 gram.y:1822 gram.y:1898 lib/eventlog/eventlog.c:236 +#: lib/eventlog/eventlog.c:778 lib/eventlog/eventlog.c:851 +#: lib/eventlog/eventlog.c:854 lib/eventlog/eventlog.c:1189 +#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:500 +#: lib/eventlog/parse_json.c:531 lib/iolog/iolog_filter.c:142 #: lib/iolog/iolog_filter.c:202 lib/iolog/iolog_filter.c:232 #: lib/iolog/iolog_legacy.c:101 lib/iolog/iolog_legacy.c:112 #: lib/iolog/iolog_legacy.c:124 lib/iolog/iolog_legacy.c:134 @@ -285,16 +282,16 @@ msgstr "Alias »%s« ist bereits definiert" #: logsrvd/iolog_writer.c:246 logsrvd/iolog_writer.c:256 #: logsrvd/iolog_writer.c:267 logsrvd/iolog_writer.c:277 #: logsrvd/iolog_writer.c:289 logsrvd/iolog_writer.c:299 -#: logsrvd/iolog_writer.c:309 logsrvd/iolog_writer.c:319 -#: logsrvd/iolog_writer.c:329 logsrvd/iolog_writer.c:341 -#: logsrvd/iolog_writer.c:377 logsrvd/iolog_writer.c:383 -#: logsrvd/iolog_writer.c:390 logsrvd/iolog_writer.c:396 -#: logsrvd/iolog_writer.c:580 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:323 -#: logsrvd/logsrvd.c:461 logsrvd/logsrvd.c:498 logsrvd/logsrvd.c:530 -#: logsrvd/logsrvd.c:584 logsrvd/logsrvd.c:619 logsrvd/logsrvd.c:668 -#: logsrvd/logsrvd.c:704 logsrvd/logsrvd.c:740 logsrvd/logsrvd.c:1131 -#: logsrvd/logsrvd.c:1446 logsrvd/logsrvd.c:1453 logsrvd/logsrvd.c:1589 -#: logsrvd/logsrvd.c:1594 logsrvd/logsrvd.c:1781 logsrvd/logsrvd.c:2003 +#: logsrvd/iolog_writer.c:317 logsrvd/iolog_writer.c:327 +#: logsrvd/iolog_writer.c:337 logsrvd/iolog_writer.c:349 +#: logsrvd/iolog_writer.c:385 logsrvd/iolog_writer.c:391 +#: logsrvd/iolog_writer.c:398 logsrvd/iolog_writer.c:404 +#: logsrvd/iolog_writer.c:588 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:324 +#: logsrvd/logsrvd.c:462 logsrvd/logsrvd.c:499 logsrvd/logsrvd.c:531 +#: logsrvd/logsrvd.c:585 logsrvd/logsrvd.c:620 logsrvd/logsrvd.c:669 +#: logsrvd/logsrvd.c:705 logsrvd/logsrvd.c:741 logsrvd/logsrvd.c:1132 +#: logsrvd/logsrvd.c:1456 logsrvd/logsrvd.c:1463 logsrvd/logsrvd.c:1599 +#: logsrvd/logsrvd.c:1604 logsrvd/logsrvd.c:1791 logsrvd/logsrvd.c:2046 #: 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 @@ -302,11 +299,11 @@ msgstr "Alias »%s« ist bereits definiert" #: 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_conf.c:829 logsrvd/logsrvd_conf.c:1041 +#: logsrvd/logsrvd_conf.c:1058 logsrvd/logsrvd_conf.c:1453 +#: logsrvd/logsrvd_conf.c:1600 logsrvd/logsrvd_conf.c:1626 +#: logsrvd/logsrvd_conf.c:1638 logsrvd/logsrvd_conf.c:1645 +#: logsrvd/logsrvd_conf.c:1651 logsrvd/logsrvd_conf.c:1747 #: logsrvd/logsrvd_journal.c:76 logsrvd/logsrvd_journal.c:125 #: logsrvd/logsrvd_journal.c:216 logsrvd/logsrvd_journal.c:246 #: logsrvd/logsrvd_journal.c:250 logsrvd/logsrvd_journal.c:258 @@ -317,8 +314,8 @@ msgstr "Alias »%s« ist bereits definiert" #: logsrvd/logsrvd_queue.c:158 logsrvd/logsrvd_queue.c:189 #: logsrvd/logsrvd_queue.c:266 logsrvd/sendlog.c:256 logsrvd/sendlog.c:265 #: logsrvd/sendlog.c:297 logsrvd/sendlog.c:303 logsrvd/sendlog.c:352 -#: logsrvd/sendlog.c:630 logsrvd/sendlog.c:1523 logsrvd/sendlog.c:1530 -#: logsrvd/sendlog.c:1753 logsrvd/sendlog.c:1822 logsrvd/tls_init.c:305 +#: logsrvd/sendlog.c:651 logsrvd/sendlog.c:1548 logsrvd/sendlog.c:1555 +#: logsrvd/sendlog.c:1778 logsrvd/sendlog.c:1847 logsrvd/tls_init.c:305 #: logsrvd/tls_init.c:329 logsrvd/tls_init.c:340 plugins/sudoers/audit.c:118 #: plugins/sudoers/auth/pam.c:518 plugins/sudoers/auth/pam.c:697 #: plugins/sudoers/auth/rfc1938.c:112 plugins/sudoers/canon_path.c:129 @@ -329,34 +326,31 @@ msgstr "Alias »%s« ist bereits definiert" #: plugins/sudoers/cvtsudoers.c:337 plugins/sudoers/cvtsudoers.c:544 #: plugins/sudoers/cvtsudoers.c:697 plugins/sudoers/cvtsudoers.c:715 #: plugins/sudoers/cvtsudoers.c:891 plugins/sudoers/cvtsudoers.c:898 -#: plugins/sudoers/cvtsudoers.c:1395 plugins/sudoers/cvtsudoers.c:1399 -#: plugins/sudoers/cvtsudoers.c:1501 plugins/sudoers/cvtsudoers_csv.c:182 -#: plugins/sudoers/cvtsudoers_csv.c:246 plugins/sudoers/cvtsudoers_json.c:75 -#: plugins/sudoers/cvtsudoers_ldif.c:151 plugins/sudoers/cvtsudoers_ldif.c:194 -#: plugins/sudoers/cvtsudoers_ldif.c:235 plugins/sudoers/cvtsudoers_ldif.c:301 -#: plugins/sudoers/cvtsudoers_ldif.c:377 plugins/sudoers/cvtsudoers_ldif.c:431 -#: plugins/sudoers/cvtsudoers_ldif.c:439 plugins/sudoers/cvtsudoers_ldif.c:450 -#: plugins/sudoers/cvtsudoers_ldif.c:457 plugins/sudoers/cvtsudoers_ldif.c:469 -#: plugins/sudoers/cvtsudoers_ldif.c:482 plugins/sudoers/cvtsudoers_ldif.c:490 -#: plugins/sudoers/cvtsudoers_ldif.c:637 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:455 -#: plugins/sudoers/defaults.c:689 plugins/sudoers/defaults.c:1051 -#: plugins/sudoers/defaults.c:1235 plugins/sudoers/editor.c:198 -#: plugins/sudoers/env.c:263 plugins/sudoers/exptilde.c:92 +#: plugins/sudoers/cvtsudoers.c:1393 plugins/sudoers/cvtsudoers.c:1397 +#: plugins/sudoers/cvtsudoers.c:1497 plugins/sudoers/cvtsudoers_csv.c:182 +#: plugins/sudoers/cvtsudoers_csv.c:255 plugins/sudoers/cvtsudoers_json.c:604 +#: plugins/sudoers/cvtsudoers_json.c:639 plugins/sudoers/cvtsudoers_json.c:1016 +#: plugins/sudoers/cvtsudoers_json.c:1041 plugins/sudoers/cvtsudoers_ldif.c:112 +#: plugins/sudoers/cvtsudoers_ldif.c:144 plugins/sudoers/cvtsudoers_ldif.c:260 +#: plugins/sudoers/cvtsudoers_ldif.c:573 plugins/sudoers/cvtsudoers_ldif.c:586 +#: plugins/sudoers/cvtsudoers_ldif.c:591 plugins/sudoers/cvtsudoers_ldif.c:761 +#: plugins/sudoers/cvtsudoers_merge.c:57 plugins/sudoers/cvtsudoers_merge.c:357 +#: plugins/sudoers/cvtsudoers_merge.c:405 +#: plugins/sudoers/cvtsudoers_merge.c:453 +#: plugins/sudoers/cvtsudoers_merge.c:475 +#: plugins/sudoers/cvtsudoers_merge.c:583 +#: plugins/sudoers/cvtsudoers_merge.c:588 +#: plugins/sudoers/cvtsudoers_merge.c:661 +#: plugins/sudoers/cvtsudoers_merge.c:664 +#: plugins/sudoers/cvtsudoers_merge.c:1196 +#: plugins/sudoers/cvtsudoers_merge.c:1281 plugins/sudoers/defaults.c:455 +#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1062 +#: plugins/sudoers/defaults.c:1248 plugins/sudoers/editor.c:198 +#: plugins/sudoers/env.c:280 plugins/sudoers/exptilde.c:92 #: plugins/sudoers/filedigest.c:66 plugins/sudoers/filedigest.c:70 #: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:211 -#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268 -#: plugins/sudoers/iolog.c:675 plugins/sudoers/iolog.c:703 +#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:270 +#: plugins/sudoers/iolog.c:683 plugins/sudoers/iolog.c:711 #: plugins/sudoers/ldap.c:161 plugins/sudoers/ldap.c:448 #: plugins/sudoers/ldap.c:625 plugins/sudoers/ldap.c:789 #: plugins/sudoers/ldap.c:1214 plugins/sudoers/ldap.c:1642 @@ -366,26 +360,26 @@ msgstr "Alias »%s« ist bereits definiert" #: plugins/sudoers/ldap_conf.c:299 plugins/sudoers/ldap_conf.c:335 #: plugins/sudoers/ldap_conf.c:441 plugins/sudoers/ldap_conf.c:456 #: plugins/sudoers/ldap_conf.c:565 plugins/sudoers/ldap_conf.c:598 -#: plugins/sudoers/ldap_conf.c:693 plugins/sudoers/ldap_conf.c:776 +#: plugins/sudoers/ldap_conf.c:695 plugins/sudoers/ldap_conf.c:778 #: 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:717 -#: plugins/sudoers/log_client.c:739 plugins/sudoers/log_client.c:744 -#: plugins/sudoers/log_client.c:1426 plugins/sudoers/log_client.c:1547 -#: plugins/sudoers/log_client.c:1670 plugins/sudoers/log_client.c:1993 -#: plugins/sudoers/log_client.c:2052 plugins/sudoers/logging.c:110 +#: plugins/sudoers/ldap_util.c:615 plugins/sudoers/linux_audit.c:86 +#: plugins/sudoers/log_client.c:117 plugins/sudoers/log_client.c:237 +#: plugins/sudoers/log_client.c:259 plugins/sudoers/log_client.c:273 +#: plugins/sudoers/log_client.c:411 plugins/sudoers/log_client.c:726 +#: plugins/sudoers/log_client.c:748 plugins/sudoers/log_client.c:753 +#: plugins/sudoers/log_client.c:1449 plugins/sudoers/log_client.c:1570 +#: plugins/sudoers/log_client.c:1693 plugins/sudoers/log_client.c:2018 +#: plugins/sudoers/log_client.c:2077 plugins/sudoers/logging.c:110 #: plugins/sudoers/logging.c:189 plugins/sudoers/logging.c:190 -#: plugins/sudoers/logging.c:475 plugins/sudoers/logging.c:711 -#: plugins/sudoers/logging.c:755 plugins/sudoers/logging.c:872 -#: plugins/sudoers/logging.c:925 plugins/sudoers/logging.c:932 -#: plugins/sudoers/lookup.c:337 plugins/sudoers/lookup.c:354 -#: plugins/sudoers/lookup.c:373 plugins/sudoers/lookup.c:392 -#: plugins/sudoers/lookup.c:409 plugins/sudoers/lookup.c:432 -#: plugins/sudoers/lookup.c:443 plugins/sudoers/match_command.c:301 -#: plugins/sudoers/match_command.c:573 plugins/sudoers/match_command.c:640 -#: plugins/sudoers/match_command.c:737 plugins/sudoers/match_command.c:784 +#: plugins/sudoers/logging.c:483 plugins/sudoers/logging.c:723 +#: plugins/sudoers/logging.c:763 plugins/sudoers/logging.c:880 +#: plugins/sudoers/logging.c:933 plugins/sudoers/logging.c:940 +#: plugins/sudoers/lookup.c:330 plugins/sudoers/lookup.c:347 +#: plugins/sudoers/lookup.c:365 plugins/sudoers/lookup.c:383 +#: plugins/sudoers/lookup.c:400 plugins/sudoers/lookup.c:422 +#: plugins/sudoers/lookup.c:433 plugins/sudoers/match_command.c:279 +#: plugins/sudoers/match_command.c:543 plugins/sudoers/match_command.c:607 +#: plugins/sudoers/match_command.c:702 plugins/sudoers/match_command.c:749 #: plugins/sudoers/match_digest.c:88 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 @@ -396,52 +390,52 @@ msgstr "Alias »%s« ist bereits definiert" #: plugins/sudoers/parse_ldif.c:595 plugins/sudoers/parse_ldif.c:624 #: plugins/sudoers/parse_ldif.c:649 plugins/sudoers/parse_ldif.c:707 #: plugins/sudoers/parse_ldif.c:724 plugins/sudoers/parse_ldif.c:752 -#: plugins/sudoers/parse_ldif.c:759 plugins/sudoers/policy.c:157 -#: plugins/sudoers/policy.c:166 plugins/sudoers/policy.c:175 -#: plugins/sudoers/policy.c:204 plugins/sudoers/policy.c:374 -#: plugins/sudoers/policy.c:390 plugins/sudoers/policy.c:392 -#: plugins/sudoers/policy.c:430 plugins/sudoers/policy.c:439 -#: plugins/sudoers/policy.c:448 plugins/sudoers/policy.c:457 -#: plugins/sudoers/policy.c:493 plugins/sudoers/policy.c:502 -#: plugins/sudoers/policy.c:511 plugins/sudoers/policy.c:520 -#: plugins/sudoers/policy.c:529 plugins/sudoers/policy.c:538 -#: plugins/sudoers/policy.c:547 plugins/sudoers/policy.c:646 -#: plugins/sudoers/policy.c:1061 plugins/sudoers/prompt.c:94 +#: plugins/sudoers/parse_ldif.c:759 plugins/sudoers/policy.c:152 +#: plugins/sudoers/policy.c:161 plugins/sudoers/policy.c:170 +#: plugins/sudoers/policy.c:199 plugins/sudoers/policy.c:357 +#: plugins/sudoers/policy.c:373 plugins/sudoers/policy.c:375 +#: plugins/sudoers/policy.c:414 plugins/sudoers/policy.c:423 +#: plugins/sudoers/policy.c:432 plugins/sudoers/policy.c:441 +#: plugins/sudoers/policy.c:492 plugins/sudoers/policy.c:501 +#: plugins/sudoers/policy.c:510 plugins/sudoers/policy.c:519 +#: plugins/sudoers/policy.c:528 plugins/sudoers/policy.c:537 +#: plugins/sudoers/policy.c:546 plugins/sudoers/policy.c:654 +#: plugins/sudoers/policy.c:1071 plugins/sudoers/prompt.c:94 #: plugins/sudoers/pwutil.c:219 plugins/sudoers/pwutil.c:290 #: plugins/sudoers/pwutil.c:368 plugins/sudoers/pwutil.c:542 #: plugins/sudoers/pwutil.c:607 plugins/sudoers/pwutil.c:679 -#: plugins/sudoers/pwutil.c:877 plugins/sudoers/pwutil.c:967 -#: plugins/sudoers/pwutil.c:1015 plugins/sudoers/pwutil.c:1076 +#: plugins/sudoers/pwutil.c:877 plugins/sudoers/pwutil.c:970 +#: plugins/sudoers/pwutil.c:1018 plugins/sudoers/pwutil.c:1082 #: plugins/sudoers/set_perms.c:374 plugins/sudoers/set_perms.c:723 #: plugins/sudoers/set_perms.c:1096 plugins/sudoers/set_perms.c:1409 -#: plugins/sudoers/set_perms.c:1579 plugins/sudoers/sethost.c:85 +#: plugins/sudoers/set_perms.c:1579 plugins/sudoers/sethost.c:89 #: plugins/sudoers/sssd.c:144 plugins/sudoers/sssd.c:186 #: plugins/sudoers/sssd.c:415 plugins/sudoers/sssd.c:480 #: plugins/sudoers/sssd.c:507 plugins/sudoers/sssd.c:570 #: plugins/sudoers/sssd.c:765 plugins/sudoers/strvec_join.c:53 #: plugins/sudoers/sudoers.c:405 plugins/sudoers/sudoers.c:412 -#: plugins/sudoers/sudoers.c:656 plugins/sudoers/sudoers.c:666 -#: plugins/sudoers/sudoers.c:811 plugins/sudoers/sudoers.c:877 -#: plugins/sudoers/sudoers.c:936 plugins/sudoers/sudoers.c:985 -#: plugins/sudoers/sudoers.c:1144 plugins/sudoers/sudoers.c:1213 -#: plugins/sudoers/sudoers.c:1306 plugins/sudoers/sudoers_cb.c:150 +#: plugins/sudoers/sudoers.c:673 plugins/sudoers/sudoers.c:683 +#: plugins/sudoers/sudoers.c:828 plugins/sudoers/sudoers.c:894 +#: plugins/sudoers/sudoers.c:953 plugins/sudoers/sudoers.c:1002 +#: plugins/sudoers/sudoers.c:1162 plugins/sudoers/sudoers.c:1231 +#: plugins/sudoers/sudoers.c:1324 plugins/sudoers/sudoers_cb.c:150 #: plugins/sudoers/sudoreplay.c:559 plugins/sudoers/sudoreplay.c:562 -#: plugins/sudoers/sudoreplay.c:1279 plugins/sudoers/sudoreplay.c:1335 -#: plugins/sudoers/sudoreplay.c:1531 plugins/sudoers/sudoreplay.c:1535 +#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1337 +#: plugins/sudoers/sudoreplay.c:1533 plugins/sudoers/sudoreplay.c:1537 #: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:255 #: plugins/sudoers/testsudoers.c:264 plugins/sudoers/testsudoers.c:275 #: plugins/sudoers/testsudoers.c:282 plugins/sudoers/testsudoers.c:302 -#: plugins/sudoers/testsudoers.c:758 plugins/sudoers/timestamp.c:469 -#: plugins/sudoers/timestamp.c:513 plugins/sudoers/timestamp.c:1042 -#: plugins/sudoers/timestamp.c:1216 plugins/sudoers/toke_util.c:79 +#: plugins/sudoers/testsudoers.c:756 plugins/sudoers/timestamp.c:468 +#: plugins/sudoers/timestamp.c:514 plugins/sudoers/timestamp.c:1045 +#: plugins/sudoers/timestamp.c:1248 plugins/sudoers/toke_util.c:79 #: plugins/sudoers/toke_util.c:108 plugins/sudoers/toke_util.c:134 #: plugins/sudoers/toke_util.c:163 plugins/sudoers/toke_util.c:204 -#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:151 +#: plugins/sudoers/tsdump.c:136 plugins/sudoers/visudo.c:151 #: plugins/sudoers/visudo.c:258 plugins/sudoers/visudo.c:383 #: plugins/sudoers/visudo.c:389 plugins/sudoers/visudo.c:501 #: plugins/sudoers/visudo.c:1073 plugins/sudoers/visudo.c:1094 -#: plugins/sudoers/visudo.c:1189 toke.l:1031 toke.l:1194 toke.l:1213 -#: toke.l:1240 toke.l:1309 toke.l:1320 +#: plugins/sudoers/visudo.c:1189 toke.l:1011 toke.l:1174 toke.l:1193 +#: toke.l:1220 toke.l:1289 toke.l:1300 #, c-format msgid "%s: %s" msgstr "%s: %s" @@ -470,12 +464,12 @@ msgstr "Fehler bei fork(): %m" msgid "unable to open pipe: %m" msgstr "Die Pipe kann nicht geöffnet werden: %m" -#: lib/eventlog/eventlog.c:1000 +#: lib/eventlog/eventlog.c:1013 #, c-format msgid "%8s : %s" msgstr "%8s : %s" -#: lib/eventlog/eventlog.c:1029 +#: lib/eventlog/eventlog.c:1042 #, c-format msgid "%8s : (command continued) %s" msgstr "%8s : (Befehl fortgesetzt) %s" @@ -489,73 +483,73 @@ msgstr "JSON_STRING erwartet, aber »%d« bekommen" msgid "JSON_ARRAY too large" msgstr "Das JSON_ARRAY ist zu groß" -#: lib/eventlog/parse_json.c:506 +#: lib/eventlog/parse_json.c:523 msgid "missing double quote in name" msgstr "Im Name fehlt das doppelte Anführungszeichen" -#: lib/eventlog/parse_json.c:624 +#: lib/eventlog/parse_json.c:641 msgid "missing JSON_OBJECT" msgstr "JSON_OBJECT fehlt" -#: lib/eventlog/parse_json.c:628 +#: lib/eventlog/parse_json.c:645 #, c-format msgid "expected JSON_OBJECT, got %d" msgstr "JSON_OBJECT erwartet, aber »%d« bekommen" -#: lib/eventlog/parse_json.c:762 +#: lib/eventlog/parse_json.c:779 #, c-format msgid "json stack exhausted (max %u frames)" msgstr "json Stack erschöpft (maximal %u Frames)" -#: lib/eventlog/parse_json.c:840 +#: lib/eventlog/parse_json.c:857 msgid "objects must consist of name:value pairs" msgstr "Objekte müssen aus Name:Wert Paaren bestehen" -#: lib/eventlog/parse_json.c:845 lib/eventlog/parse_json.c:876 -#: lib/eventlog/parse_json.c:920 lib/eventlog/parse_json.c:942 -#: lib/eventlog/parse_json.c:964 lib/eventlog/parse_json.c:986 -#: lib/eventlog/parse_json.c:1008 +#: lib/eventlog/parse_json.c:862 lib/eventlog/parse_json.c:893 +#: lib/eventlog/parse_json.c:937 lib/eventlog/parse_json.c:959 +#: lib/eventlog/parse_json.c:981 lib/eventlog/parse_json.c:1003 +#: lib/eventlog/parse_json.c:1025 msgid "missing separator between values" msgstr "Fehlender Separator zwischen den Werten" -#: lib/eventlog/parse_json.c:860 lib/eventlog/parse_json.c:1034 +#: lib/eventlog/parse_json.c:877 lib/eventlog/parse_json.c:1051 msgid "unmatched close brace" msgstr "unpassende schließende geschweifte Klammer" -#: lib/eventlog/parse_json.c:871 +#: lib/eventlog/parse_json.c:888 msgid "unexpected array" msgstr "unerwartetes Array" -#: lib/eventlog/parse_json.c:891 lib/eventlog/parse_json.c:1037 +#: lib/eventlog/parse_json.c:908 lib/eventlog/parse_json.c:1054 msgid "unmatched close bracket" msgstr "unpassende schließende eckige Klammer" -#: lib/eventlog/parse_json.c:902 +#: lib/eventlog/parse_json.c:919 msgid "unexpected string" msgstr "unerwartete Zeichenkette" -#: lib/eventlog/parse_json.c:913 +#: lib/eventlog/parse_json.c:930 msgid "missing colon after name" msgstr "fehlender Doppelpunkt nach dem Name" -#: lib/eventlog/parse_json.c:934 lib/eventlog/parse_json.c:956 +#: lib/eventlog/parse_json.c:951 lib/eventlog/parse_json.c:973 msgid "unexpected boolean" msgstr "unerwarteter boolescher Wert (true/false)" -#: lib/eventlog/parse_json.c:978 +#: lib/eventlog/parse_json.c:995 msgid "unexpected null" msgstr "unerwartete »null«" -#: lib/eventlog/parse_json.c:999 +#: lib/eventlog/parse_json.c:1016 msgid "unexpected number" msgstr "unerwartete Zahl" -#: lib/eventlog/parse_json.c:1045 +#: lib/eventlog/parse_json.c:1062 msgid "parse error" msgstr "Syntax-Fehler" -#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1290 -#: plugins/sudoers/sudoreplay.c:1291 plugins/sudoers/sudoreplay.c:1587 +#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1303 +#: plugins/sudoers/sudoreplay.c:1293 plugins/sudoers/sudoreplay.c:1589 #, c-format msgid "invalid regular expression \"%s\": %s" msgstr "ungültiger regulärer Ausdruck »%s«: %s" @@ -595,8 +589,8 @@ 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:124 lib/iolog/iolog_mkdtemp.c:80 -#: logsrvd/iolog_writer.c:795 plugins/sudoers/timestamp.c:218 +#: lib/iolog/iolog_mkdirs.c:125 lib/iolog/iolog_mkdtemp.c:80 +#: logsrvd/iolog_writer.c:803 plugins/sudoers/timestamp.c:218 #, c-format msgid "unable to mkdir %s" msgstr "Das Verzeichnis »%s« kann nicht erstellt werden" @@ -634,91 +628,91 @@ msgstr "%s: Protokollfehker: falscher Typ für %s" 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:1024 -#: plugins/sudoers/policy.c:613 +#: logsrvd/iolog_writer.c:141 plugins/sudoers/logging.c:1035 +#: plugins/sudoers/policy.c:621 msgid "unable to generate UUID" msgstr "UUID kann nicht generiert werden" -#: logsrvd/iolog_writer.c:354 logsrvd/iolog_writer.c:359 -#: logsrvd/iolog_writer.c:364 logsrvd/iolog_writer.c:369 +#: logsrvd/iolog_writer.c:362 logsrvd/iolog_writer.c:367 +#: logsrvd/iolog_writer.c:372 logsrvd/iolog_writer.c:377 #, c-format msgid "%s: protocol error: %s missing from AcceptMessage" msgstr "%s: Protokollfehler: %s fehlt in der AcceptMessage" -#: logsrvd/iolog_writer.c:430 +#: logsrvd/iolog_writer.c:438 #, c-format msgid "%s: unable to format session id" msgstr "%s: Session-ID kann nicht formatiert werden" -#: logsrvd/iolog_writer.c:444 logsrvd/iolog_writer.c:458 -#: logsrvd/iolog_writer.c:472 logsrvd/iolog_writer.c:487 -#: logsrvd/iolog_writer.c:501 logsrvd/iolog_writer.c:515 +#: logsrvd/iolog_writer.c:452 logsrvd/iolog_writer.c:466 +#: logsrvd/iolog_writer.c:480 logsrvd/iolog_writer.c:495 +#: logsrvd/iolog_writer.c:509 logsrvd/iolog_writer.c:523 #, 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:551 logsrvd/iolog_writer.c:558 +#: logsrvd/iolog_writer.c:559 logsrvd/iolog_writer.c:566 #, c-format msgid "unable to expand iolog path %s" msgstr "Kann den iolog-Pfad nicht erweitern: %s" -#: logsrvd/iolog_writer.c:576 +#: logsrvd/iolog_writer.c:584 #, c-format msgid "unable to create iolog path %s" msgstr "Kann den iolog-Pfad »%s« nicht erstellen" -#: logsrvd/iolog_writer.c:606 +#: logsrvd/iolog_writer.c:614 #, c-format msgid "invalid iofd %d" msgstr "Ungültiger I/O Dateideskriptor: %d" -#: logsrvd/iolog_writer.c:626 +#: logsrvd/iolog_writer.c:634 #, c-format msgid "error closing iofd %u: %s" msgstr "Fehler beim Schließen des I/O Dateideskriptors %u: %s" -#: logsrvd/iolog_writer.c:647 +#: logsrvd/iolog_writer.c:655 #, c-format msgid "error flushing iofd %u: %s" msgstr "Fehler beim Leeren des I/O Dateideskriptors %u: %s" -#: logsrvd/iolog_writer.c:765 +#: logsrvd/iolog_writer.c:773 #, 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:777 logsrvd/logsrvd_journal.c:391 +#: logsrvd/iolog_writer.c:785 logsrvd/logsrvd_journal.c:391 #, 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:799 logsrvd/logsrvd_journal.c:434 +#: logsrvd/iolog_writer.c:807 logsrvd/logsrvd_journal.c:434 #: logsrvd/logsrvd_queue.c:115 logsrvd/tls_init.c:256 -#: plugins/sudoers/check.c:285 plugins/sudoers/cvtsudoers.c:758 -#: plugins/sudoers/cvtsudoers.c:780 plugins/sudoers/cvtsudoers.c:1461 -#: plugins/sudoers/cvtsudoers_csv.c:697 plugins/sudoers/cvtsudoers_json.c:902 -#: plugins/sudoers/cvtsudoers_ldif.c:711 plugins/sudoers/sudoers.c:1291 -#: plugins/sudoers/sudoers.c:1317 plugins/sudoers/sudoreplay.c:1497 -#: plugins/sudoers/timestamp.c:478 plugins/sudoers/tsdump.c:128 +#: plugins/sudoers/check.c:278 plugins/sudoers/cvtsudoers.c:758 +#: plugins/sudoers/cvtsudoers.c:780 plugins/sudoers/cvtsudoers.c:1457 +#: plugins/sudoers/cvtsudoers_csv.c:722 plugins/sudoers/cvtsudoers_json.c:1034 +#: plugins/sudoers/cvtsudoers_ldif.c:753 plugins/sudoers/sudoers.c:1309 +#: plugins/sudoers/sudoers.c:1335 plugins/sudoers/sudoreplay.c:1499 +#: plugins/sudoers/timestamp.c:477 plugins/sudoers/tsdump.c:141 #: plugins/sudoers/visudo.c:990 #, c-format msgid "unable to open %s" msgstr "Die Datei »%s« kann nicht geöffnet werden" -#: logsrvd/iolog_writer.c:811 logsrvd/logsrv_util.c:111 +#: logsrvd/iolog_writer.c:819 logsrvd/logsrv_util.c:111 #: logsrvd/logsrv_util.c:118 plugins/sudoers/sudoreplay.c:355 #: plugins/sudoers/sudoreplay.c:361 #, c-format msgid "unable to open %s/%s" msgstr "Die Datei »%s/%s« kann nicht geöffnet werden" -#: logsrvd/iolog_writer.c:824 +#: logsrvd/iolog_writer.c:832 #, 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:853 logsrvd/logsrvd_journal.c:198 +#: logsrvd/iolog_writer.c:861 logsrvd/logsrvd_journal.c:198 #, c-format msgid "unable to rename %s to %s" msgstr "Die Datei »%s« kann nicht in »%s« umbenannt werden" @@ -738,210 +732,210 @@ msgstr "Die I/O Logdatei %s/%s fehlt" msgid "%s/%s: unable to seek forward %zu" msgstr "%s/%s: kann nicht zur Position %zu springen" -#: logsrvd/logsrvd.c:271 logsrvd/logsrvd_queue.c:135 +#: logsrvd/logsrvd.c:272 logsrvd/logsrvd_queue.c:135 msgid "unable to connect to relay" msgstr "Verbindung zum Relay kann nicht aufgebaut werden" -#: logsrvd/logsrvd.c:338 logsrvd/logsrvd_relay.c:847 +#: logsrvd/logsrvd.c:339 logsrvd/logsrvd_relay.c:847 #, c-format msgid "server message too large: %zu" msgstr "Server-Nachricht ist zu groß: %zu" -#: logsrvd/logsrvd.c:430 logsrvd/logsrvd.c:553 logsrvd/logsrvd.c:639 -#: logsrvd/logsrvd.c:881 logsrvd/logsrvd.c:895 logsrvd/logsrvd.c:1056 -#: logsrvd/logsrvd.c:1181 logsrvd/logsrvd.c:1354 logsrvd/logsrvd.c:1372 -#: logsrvd/logsrvd.c:1471 logsrvd/logsrvd.c:1596 logsrvd/logsrvd.c:1783 +#: logsrvd/logsrvd.c:431 logsrvd/logsrvd.c:554 logsrvd/logsrvd.c:640 +#: logsrvd/logsrvd.c:882 logsrvd/logsrvd.c:896 logsrvd/logsrvd.c:1057 +#: logsrvd/logsrvd.c:1182 logsrvd/logsrvd.c:1364 logsrvd/logsrvd.c:1382 +#: logsrvd/logsrvd.c:1481 logsrvd/logsrvd.c:1606 logsrvd/logsrvd.c:1793 #: logsrvd/logsrvd_journal.c:503 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:391 logsrvd/logsrvd_relay.c:583 #: logsrvd/logsrvd_relay.c:747 logsrvd/logsrvd_relay.c:1137 -#: logsrvd/sendlog.c:1308 logsrvd/tls_client.c:136 logsrvd/tls_client.c:152 -#: logsrvd/tls_client.c:216 plugins/sudoers/audit.c:281 -#: plugins/sudoers/iolog.c:1041 plugins/sudoers/iolog.c:1175 -#: plugins/sudoers/iolog.c:1274 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:613 -#: plugins/sudoers/log_client.c:620 plugins/sudoers/log_client.c:1114 -#: plugins/sudoers/log_client.c:1395 plugins/sudoers/log_client.c:1436 -#: plugins/sudoers/log_client.c:1444 plugins/sudoers/log_client.c:1603 -#: plugins/sudoers/log_client.c:1728 plugins/sudoers/log_client.c:2060 -#: plugins/sudoers/log_client.c:2068 plugins/sudoers/logging.c:148 +#: logsrvd/sendlog.c:1333 logsrvd/tls_client.c:145 logsrvd/tls_client.c:161 +#: logsrvd/tls_client.c:225 plugins/sudoers/audit.c:281 +#: plugins/sudoers/iolog.c:1049 plugins/sudoers/iolog.c:1183 +#: plugins/sudoers/iolog.c:1282 plugins/sudoers/log_client.c:121 +#: plugins/sudoers/log_client.c:352 plugins/sudoers/log_client.c:368 +#: plugins/sudoers/log_client.c:416 plugins/sudoers/log_client.c:622 +#: plugins/sudoers/log_client.c:629 plugins/sudoers/log_client.c:1137 +#: plugins/sudoers/log_client.c:1418 plugins/sudoers/log_client.c:1459 +#: plugins/sudoers/log_client.c:1467 plugins/sudoers/log_client.c:1626 +#: plugins/sudoers/log_client.c:1751 plugins/sudoers/log_client.c:2085 +#: plugins/sudoers/log_client.c:2093 plugins/sudoers/logging.c:148 #: plugins/sudoers/logging.c:206 plugins/sudoers/sudoreplay.c:519 -#: plugins/sudoers/sudoreplay.c:566 plugins/sudoers/sudoreplay.c:808 -#: plugins/sudoers/sudoreplay.c:920 plugins/sudoers/sudoreplay.c:1011 -#: plugins/sudoers/sudoreplay.c:1026 plugins/sudoers/sudoreplay.c:1033 -#: plugins/sudoers/sudoreplay.c:1040 plugins/sudoers/sudoreplay.c:1047 -#: plugins/sudoers/sudoreplay.c:1054 plugins/sudoers/sudoreplay.c:1182 +#: plugins/sudoers/sudoreplay.c:566 plugins/sudoers/sudoreplay.c:810 +#: plugins/sudoers/sudoreplay.c:922 plugins/sudoers/sudoreplay.c:1013 +#: plugins/sudoers/sudoreplay.c:1028 plugins/sudoers/sudoreplay.c:1035 +#: plugins/sudoers/sudoreplay.c:1042 plugins/sudoers/sudoreplay.c:1049 +#: plugins/sudoers/sudoreplay.c:1056 plugins/sudoers/sudoreplay.c:1184 msgid "unable to add event to queue" msgstr "Event kann nicht zur Warteschlange hinzugefügt werden" -#: logsrvd/logsrvd.c:454 logsrvd/logsrvd.c:491 logsrvd/logsrvd.c:523 -#: logsrvd/logsrvd.c:577 logsrvd/logsrvd.c:656 logsrvd/logsrvd.c:692 -#: logsrvd/logsrvd.c:728 logsrvd/logsrvd.c:764 logsrvd/logsrvd_relay.c:512 +#: logsrvd/logsrvd.c:455 logsrvd/logsrvd.c:492 logsrvd/logsrvd.c:524 +#: logsrvd/logsrvd.c:578 logsrvd/logsrvd.c:657 logsrvd/logsrvd.c:693 +#: logsrvd/logsrvd.c:729 logsrvd/logsrvd.c:765 logsrvd/logsrvd_relay.c:512 #: logsrvd/logsrvd_relay.c:545 #, c-format msgid "unexpected state %d for %s" msgstr "Unerwarteter Status %d für %s" # XXX geht das besser? -#: logsrvd/logsrvd.c:455 logsrvd/logsrvd.c:492 logsrvd/logsrvd.c:524 -#: logsrvd/logsrvd.c:578 logsrvd/logsrvd.c:657 logsrvd/logsrvd.c:693 -#: logsrvd/logsrvd.c:729 logsrvd/logsrvd.c:765 logsrvd/logsrvd_relay.c:514 +#: logsrvd/logsrvd.c:456 logsrvd/logsrvd.c:493 logsrvd/logsrvd.c:525 +#: logsrvd/logsrvd.c:579 logsrvd/logsrvd.c:658 logsrvd/logsrvd.c:694 +#: logsrvd/logsrvd.c:730 logsrvd/logsrvd.c:766 logsrvd/logsrvd_relay.c:514 #: logsrvd/logsrvd_relay.c:547 msgid "state machine error" msgstr "Fehler der State Machine" -#: logsrvd/logsrvd.c:461 logsrvd/logsrvd.c:462 +#: logsrvd/logsrvd.c:462 logsrvd/logsrvd.c:463 msgid "invalid AcceptMessage" msgstr "ungültige AcceptMessage" -#: logsrvd/logsrvd.c:498 logsrvd/logsrvd.c:499 +#: logsrvd/logsrvd.c:499 logsrvd/logsrvd.c:500 msgid "invalid RejectMessage" msgstr "ungültige RejectMessage" -#: logsrvd/logsrvd.c:530 logsrvd/logsrvd.c:531 +#: logsrvd/logsrvd.c:531 logsrvd/logsrvd.c:532 msgid "invalid ExitMessage" msgstr "ungültige ExitMessage" -#: logsrvd/logsrvd.c:584 logsrvd/logsrvd.c:585 +#: logsrvd/logsrvd.c:585 logsrvd/logsrvd.c:586 msgid "invalid RestartMessage" msgstr "ungültige RestartMessage" -#: logsrvd/logsrvd.c:619 logsrvd/logsrvd.c:620 +#: logsrvd/logsrvd.c:620 logsrvd/logsrvd.c:621 msgid "invalid AlertMessage" msgstr "ungültige AlertMessage" -#: logsrvd/logsrvd.c:661 logsrvd/logsrvd.c:697 logsrvd/logsrvd.c:733 +#: logsrvd/logsrvd.c:662 logsrvd/logsrvd.c:698 logsrvd/logsrvd.c:734 #, c-format msgid "%s: unexpected IoBuffer" msgstr "%s: unerwarteter IoBuffer" -#: logsrvd/logsrvd.c:662 logsrvd/logsrvd.c:698 logsrvd/logsrvd.c:734 +#: logsrvd/logsrvd.c:663 logsrvd/logsrvd.c:699 logsrvd/logsrvd.c:735 msgid "protocol error" msgstr "Protokollfehler" -#: logsrvd/logsrvd.c:668 logsrvd/logsrvd.c:669 +#: logsrvd/logsrvd.c:669 logsrvd/logsrvd.c:670 msgid "invalid IoBuffer" msgstr "Ungültiger IoBuffer" -#: logsrvd/logsrvd.c:704 logsrvd/logsrvd.c:705 +#: logsrvd/logsrvd.c:705 logsrvd/logsrvd.c:706 msgid "invalid ChangeWindowSize" msgstr "ungültige ChangeWindowSize" -#: logsrvd/logsrvd.c:740 logsrvd/logsrvd.c:741 +#: logsrvd/logsrvd.c:741 logsrvd/logsrvd.c:742 msgid "invalid CommandSuspend" msgstr "ungültiges CommandSusped" -#: logsrvd/logsrvd.c:790 logsrvd/logsrvd_journal.c:302 -#: logsrvd/logsrvd_relay.c:654 logsrvd/sendlog.c:1207 -#: plugins/sudoers/log_client.c:1593 +#: logsrvd/logsrvd.c:791 logsrvd/logsrvd_journal.c:302 +#: logsrvd/logsrvd_relay.c:654 logsrvd/sendlog.c:1232 +#: plugins/sudoers/log_client.c:1616 #, c-format msgid "unable to unpack %s size %zu" msgstr "Kann »%s« nicht auspacken, Größe %zu" -#: logsrvd/logsrvd.c:835 logsrvd/logsrvd_journal.c:376 +#: logsrvd/logsrvd.c:836 logsrvd/logsrvd_journal.c:376 #: logsrvd/logsrvd_relay.c:678 #, 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:837 +#: logsrvd/logsrvd.c:838 msgid "unrecognized ClientMessage type" msgstr "unbekannter ClientMessage-Typ" -#: logsrvd/logsrvd.c:927 +#: logsrvd/logsrvd.c:928 #, c-format msgid "timed out writing to client %s" msgstr "Zeitablauf beim Senden zum Client %s" -#: logsrvd/logsrvd.c:932 logsrvd/logsrvd_relay.c:919 logsrvd/sendlog.c:1413 +#: logsrvd/logsrvd.c:933 logsrvd/logsrvd_relay.c:919 logsrvd/sendlog.c:1438 #, c-format msgid "missing write buffer for client %s" msgstr "Schreib-Puffer fehlt für Client %s" -#: logsrvd/logsrvd.c:1027 +#: logsrvd/logsrvd.c:1028 #, c-format msgid "timed out reading from client %s" msgstr "Zeitablauf beim Lesen vom Client %s" -#: logsrvd/logsrvd.c:1068 logsrvd/logsrvd_relay.c:782 +#: logsrvd/logsrvd.c:1069 logsrvd/logsrvd_relay.c:782 #, c-format msgid "EOF from %s without proper TLS shutdown" msgstr "Dateiende (EOF) von %s ohne korrekten TLS-Abscluß" -#: logsrvd/logsrvd.c:1112 logsrvd/logsrvd_relay.c:205 logsrvd/sendlog.c:336 -#: plugins/sudoers/log_client.c:723 +#: logsrvd/logsrvd.c:1113 logsrvd/logsrvd_relay.c:205 logsrvd/sendlog.c:336 +#: plugins/sudoers/log_client.c:732 #, c-format msgid "client message too large: %zu" msgstr "Client-Nachricht ist zu groß: %zu" -#: logsrvd/logsrvd.c:1113 logsrvd/logsrvd_journal.c:259 +#: logsrvd/logsrvd.c:1114 logsrvd/logsrvd_journal.c:259 #: logsrvd/logsrvd_journal.c:260 msgid "client message too large" msgstr "Client-Nachricht ist zu groß" -#: logsrvd/logsrvd.c:1131 logsrvd/logsrvd.c:1132 +#: logsrvd/logsrvd.c:1132 logsrvd/logsrvd.c:1133 msgid "invalid ClientMessage" msgstr "ungültige ClientMessage" -#: logsrvd/logsrvd.c:1432 +#: logsrvd/logsrvd.c:1442 msgid "unable to get remote IP addr" msgstr "Kann die entfernte IP-Adresse nicht finden" -#: logsrvd/logsrvd.c:1463 logsrvd/tls_client.c:203 -#: plugins/sudoers/log_client.c:281 +#: logsrvd/logsrvd.c:1473 logsrvd/tls_client.c:212 +#: plugins/sudoers/log_client.c:290 #, 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:1646 logsrvd/logsrvd.c:2007 +#: logsrvd/logsrvd.c:1656 logsrvd/logsrvd.c:2050 msgid "unable to setup listen socket" msgstr "Konnte keinen Socket zum »Lauschen« einrichten" -#: logsrvd/logsrvd.c:1766 +#: logsrvd/logsrvd.c:1776 #, c-format msgid "unexpected signal %d" msgstr "unerwartete Signal %d" -#: logsrvd/logsrvd.c:1909 +#: logsrvd/logsrvd.c:1949 msgid "sudo log server" msgstr "sudo Log-Server" -#: logsrvd/logsrvd.c:1911 logsrvd/sendlog.c:126 +#: logsrvd/logsrvd.c:1951 logsrvd/sendlog.c:126 msgid "Options:" msgstr "Optionen:" -#: logsrvd/logsrvd.c:1913 +#: logsrvd/logsrvd.c:1953 msgid "path to configuration file" msgstr "Pfad zur Konfigurationsdatei" -#: logsrvd/logsrvd.c:1915 logsrvd/sendlog.c:128 +#: logsrvd/logsrvd.c:1955 logsrvd/sendlog.c:128 msgid "display help message and exit" msgstr "Hilfe anzeigen und beenden" -#: logsrvd/logsrvd.c:1917 +#: logsrvd/logsrvd.c:1957 msgid "do not fork, run in the foreground" msgstr "Nicht zum Hintergrundprozess werden, sondern im Vordergrund laufen" -#: logsrvd/logsrvd.c:1919 +#: logsrvd/logsrvd.c:1959 msgid "percent chance connections will drop" msgstr "Wahrscheinlichkeit in Prozent für Verbindungsabbruch" -#: logsrvd/logsrvd.c:1921 logsrvd/sendlog.c:158 +#: logsrvd/logsrvd.c:1961 logsrvd/sendlog.c:158 msgid "display version information and exit" msgstr "Versionsinformation anzeigen und beenden" -#: logsrvd/logsrvd.c:1971 logsrvd/sendlog.c:1722 +#: logsrvd/logsrvd.c:2011 logsrvd/sendlog.c:1747 msgid "Protobuf-C version 1.3 or higher required" msgstr "Protobuf-C Version 1.3 oder höher ist notwendig" -#: logsrvd/logsrvd.c:1987 +#: logsrvd/logsrvd.c:2027 #, c-format msgid "invalid random drop value: %s" msgstr "ungültiger Wert für »random drop«: %s" -#: logsrvd/logsrvd.c:1990 logsrvd/sendlog.c:1776 +#: logsrvd/logsrvd.c:2030 logsrvd/sendlog.c:1801 #: plugins/sudoers/cvtsudoers.c:250 plugins/sudoers/sudoreplay.c:294 #: plugins/sudoers/visudo.c:181 #, c-format @@ -950,16 +944,16 @@ msgstr "%s Version %s\n" #: logsrvd/logsrvd_conf.c:422 plugins/sudoers/check.c:69 #: plugins/sudoers/exptilde.c:85 plugins/sudoers/iolog.c:122 -#: plugins/sudoers/sudoers.c:419 plugins/sudoers/sudoers.c:929 -#: plugins/sudoers/sudoers.c:1034 plugins/sudoers/sudoers.c:1424 +#: plugins/sudoers/sudoers.c:419 plugins/sudoers/sudoers.c:946 +#: plugins/sudoers/sudoers.c:1052 plugins/sudoers/sudoers.c:1442 #: plugins/sudoers/testsudoers.c:169 plugins/sudoers/testsudoers.c:285 -#: plugins/sudoers/testsudoers.c:459 +#: plugins/sudoers/testsudoers.c:459 plugins/sudoers/tsdump.c:131 #, c-format msgid "unknown user %s" msgstr "Unbekannter Benutzer %s" #: logsrvd/logsrvd_conf.c:439 plugins/sudoers/iolog.c:148 -#: plugins/sudoers/sudoers.c:425 plugins/sudoers/sudoers.c:1458 +#: plugins/sudoers/sudoers.c:425 plugins/sudoers/sudoers.c:1476 #: plugins/sudoers/testsudoers.c:483 #, c-format msgid "unknown group %s" @@ -970,7 +964,7 @@ msgstr "Unbekannte Gruppe %s" msgid "unable to parse iolog mode %s" msgstr "Iolog mode %s kann nicht geparst werden" -#: logsrvd/logsrvd_conf.c:474 logsrvd/logsrvd_conf.c:1243 +#: logsrvd/logsrvd_conf.c:474 logsrvd/logsrvd_conf.c:1248 #, c-format msgid "invalid value for %s: %s" msgstr "Ungültiger Wert für %s: %s" @@ -984,66 +978,66 @@ msgstr "TLS ist nicht unterstützt" msgid "%s:%s" msgstr "%s:%s" -#: logsrvd/logsrvd_conf.c:622 logsrvd/logsrvd_conf.c:1032 +#: logsrvd/logsrvd_conf.c:622 logsrvd/logsrvd_conf.c:1037 #, c-format msgid "%s: not a fully qualified path" msgstr "%s: ist kein voll qualifizierter Pfad" -#: logsrvd/logsrvd_conf.c:951 logsrvd/logsrvd_conf.c:967 -#: logsrvd/logsrvd_conf.c:1676 +#: logsrvd/logsrvd_conf.c:956 logsrvd/logsrvd_conf.c:972 +#: logsrvd/logsrvd_conf.c:1681 #, c-format msgid "unknown syslog facility %s" msgstr "Unbekannte Syslog-Facility %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 +#: logsrvd/logsrvd_conf.c:988 logsrvd/logsrvd_conf.c:1004 +#: logsrvd/logsrvd_conf.c:1020 logsrvd/logsrvd_conf.c:1685 +#: logsrvd/logsrvd_conf.c:1689 logsrvd/logsrvd_conf.c:1693 #, c-format msgid "unknown syslog priority %s" msgstr "Unbekannte Syslog-Priorität %s" -#: logsrvd/logsrvd_conf.c:1197 +#: logsrvd/logsrvd_conf.c:1202 #, c-format msgid "%s:%d unmatched '[': %s" msgstr "%s: %d »[« ohne schliessende Klammer »]«: %s" # XXX Geht das besser? -#: logsrvd/logsrvd_conf.c:1203 +#: logsrvd/logsrvd_conf.c:1208 #, c-format msgid "%s:%d garbage after ']': %s" msgstr "%s: %d unsinnige Zeichen nach »]«: %s" -#: logsrvd/logsrvd_conf.c:1215 +#: logsrvd/logsrvd_conf.c:1220 #, c-format msgid "%s:%d invalid config section: %s" msgstr "%s/%d Ungültiger Konfigurations-Abschnitt: %s" -#: logsrvd/logsrvd_conf.c:1223 +#: logsrvd/logsrvd_conf.c:1228 #, c-format msgid "%s:%d invalid configuration line: %s" msgstr "%s/%d Ungültige Konfigurationszeile: %s" -#: logsrvd/logsrvd_conf.c:1229 +#: logsrvd/logsrvd_conf.c:1234 #, c-format msgid "%s:%d expected section name: %s" msgstr "%s:%d erwartetder Section Name: %s" -#: logsrvd/logsrvd_conf.c:1251 +#: logsrvd/logsrvd_conf.c:1256 #, c-format msgid "%s:%d [%s] illegal key: %s" msgstr "%s:%d [%s] ungültiger Schlüssel: %s" -#: logsrvd/logsrvd_conf.c:1281 plugins/sudoers/cvtsudoers.c:273 -#: plugins/sudoers/logging.c:1076 +#: logsrvd/logsrvd_conf.c:1286 plugins/sudoers/cvtsudoers.c:273 +#: plugins/sudoers/logging.c:1087 #, c-format msgid "unable to open log file %s" msgstr "Die Protokolldatei kann nicht geöffnet werden %s" -#: logsrvd/logsrvd_conf.c:1763 +#: logsrvd/logsrvd_conf.c:1768 msgid "unable to initialize server TLS context" msgstr "Server-SSL-Kontext kann nicht initialisiert werden" -#: logsrvd/logsrvd_conf.c:1783 +#: logsrvd/logsrvd_conf.c:1788 msgid "unable to initialize relay TLS context" msgstr "SSL-Kontext kann nicht initialisiert werden" @@ -1147,7 +1141,7 @@ msgstr "Der Zeitstempel kann nicht formatiert werden, Länge %d" #: logsrvd/logsrvd_local.c:601 logsrvd/logsrvd_local.c:609 #: logsrvd/logsrvd_local.c:657 logsrvd/logsrvd_local.c:692 -#: plugins/sudoers/sudoreplay.c:344 toke.l:981 toke.l:984 +#: plugins/sudoers/sudoreplay.c:344 toke.l:961 toke.l:964 #, c-format msgid "%s/%s: %s" msgstr "%s/%s: %s" @@ -1181,8 +1175,8 @@ msgstr "Verbindung zum Relay-Host kann nicht aufgebaut werden" msgid "%s: invalid ServerHello, missing server_id" msgstr "%s: ungültiges ServerHello, fehlende server_id" -#: logsrvd/logsrvd_relay.c:522 logsrvd/sendlog.c:1111 -#: plugins/sudoers/log_client.c:1479 +#: logsrvd/logsrvd_relay.c:522 logsrvd/sendlog.c:1136 +#: plugins/sudoers/log_client.c:1502 msgid "invalid ServerHello" msgstr "ungültiges ServerHello" @@ -1286,7 +1280,7 @@ msgstr "Beende den Transfer nach Erreichen dieser Zeit" 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:181 plugins/sudoers/log_client.c:453 +#: logsrvd/sendlog.c:181 plugins/sudoers/log_client.c:462 #, c-format msgid "unable to look up %s:%s: %s" msgstr "Fehler beim Lookup %s:%s: %s" @@ -1295,108 +1289,108 @@ msgstr "Fehler beim Lookup %s:%s: %s" msgid "unable to get server IP addr" msgstr "Kann die Server IP-Adresse nicht finden" -#: logsrvd/sendlog.c:314 plugins/sudoers/sudoreplay.c:868 +#: logsrvd/sendlog.c:314 plugins/sudoers/sudoreplay.c:870 #, c-format msgid "unable to read %s/%s: %s" msgstr "Fehler beim Lesen %s/%s: %s" -#: logsrvd/sendlog.c:1035 plugins/sudoers/iolog.c:959 -#: plugins/sudoers/iolog.c:1034 +#: logsrvd/sendlog.c:1060 plugins/sudoers/iolog.c:967 +#: plugins/sudoers/iolog.c:1042 #, c-format msgid "unexpected I/O event %d" msgstr "unerwarteter I/O Event %d" -#: logsrvd/sendlog.c:1088 logsrvd/sendlog.c:1105 logsrvd/sendlog.c:1139 -#: plugins/sudoers/log_client.c:1129 plugins/sudoers/log_client.c:1405 -#: plugins/sudoers/log_client.c:1473 plugins/sudoers/log_client.c:1512 +#: logsrvd/sendlog.c:1113 logsrvd/sendlog.c:1130 logsrvd/sendlog.c:1164 +#: plugins/sudoers/log_client.c:1152 plugins/sudoers/log_client.c:1428 +#: plugins/sudoers/log_client.c:1496 plugins/sudoers/log_client.c:1535 #, c-format msgid "%s: unexpected state %d" msgstr "%s: unerwarteter Status %d" -#: logsrvd/sendlog.c:1175 plugins/sudoers/log_client.c:1561 +#: logsrvd/sendlog.c:1200 plugins/sudoers/log_client.c:1584 #, c-format msgid "error message received from server: %s" msgstr "Fehler beim Empfangen der Nachricht vom Server: %s" -#: logsrvd/sendlog.c:1188 plugins/sudoers/log_client.c:1574 +#: logsrvd/sendlog.c:1213 plugins/sudoers/log_client.c:1597 #, c-format msgid "abort message received from server: %s" msgstr "Abbruch-Nachricht vom Server empfangen: %s" -#: logsrvd/sendlog.c:1247 plugins/sudoers/log_client.c:1624 +#: logsrvd/sendlog.c:1272 plugins/sudoers/log_client.c:1647 #, c-format msgid "%s: unexpected type_case value %d" msgstr "%s: unerwarteter type_case Wert %d" -#: logsrvd/sendlog.c:1276 +#: logsrvd/sendlog.c:1301 msgid "timeout reading from server" msgstr "Zeitablauf beim Lesen vom Server" -#: logsrvd/sendlog.c:1327 plugins/sudoers/log_client.c:1747 +#: logsrvd/sendlog.c:1352 plugins/sudoers/log_client.c:1770 msgid "host name does not match certificate" msgstr "Der Hostname passt nicht zum Zertifikat" -#: logsrvd/sendlog.c:1361 +#: logsrvd/sendlog.c:1386 msgid "premature EOF" msgstr "unerwartetes Datei-Ende" -#: logsrvd/sendlog.c:1374 plugins/sudoers/log_client.c:1795 +#: logsrvd/sendlog.c:1399 plugins/sudoers/log_client.c:1818 #, c-format msgid "server message too large: %u" msgstr "Server-Nachricht ist zu groß: %u" -#: logsrvd/sendlog.c:1430 +#: logsrvd/sendlog.c:1455 msgid "timeout writing to server" msgstr "Zeitablauf beim Senden an den Server" -#: logsrvd/sendlog.c:1800 +#: logsrvd/sendlog.c:1825 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:1804 +#: logsrvd/sendlog.c:1829 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:1880 +#: logsrvd/sendlog.c:1905 #, c-format msgid "exited prematurely with state %d" msgstr "Vorzeitig beendet mit Status %d" -#: logsrvd/sendlog.c:1881 +#: logsrvd/sendlog.c:1906 #, c-format msgid "elapsed time sent to server [%lld, %ld]" msgstr "Abgelaufene Zeit zum Server gesendet [%lld, %ld]" -#: logsrvd/sendlog.c:1883 +#: logsrvd/sendlog.c:1908 #, c-format msgid "commit point received from server [%lld, %ld]" msgstr "Commit Punkt vom Server empfangen [%lld, %ld]" -#: logsrvd/tls_client.c:111 plugins/sudoers/log_client.c:315 +#: logsrvd/tls_client.c:120 plugins/sudoers/log_client.c:324 msgid "TLS handshake timeout occurred" msgstr "Timeout beim TLS-Handshake erreicht" -#: logsrvd/tls_client.c:131 logsrvd/tls_client.c:147 -#: plugins/sudoers/log_client.c:337 plugins/sudoers/log_client.c:353 +#: logsrvd/tls_client.c:140 logsrvd/tls_client.c:156 +#: plugins/sudoers/log_client.c:346 plugins/sudoers/log_client.c:362 msgid "unable to set event" msgstr "Konnte den Event nicht setzen" -#: logsrvd/tls_client.c:157 logsrvd/tls_client.c:161 +#: logsrvd/tls_client.c:166 logsrvd/tls_client.c:170 #, c-format msgid "TLS connection failed: %s" msgstr "TLS-Kommunikation fehlgeschlagen: %s" -#: logsrvd/tls_client.c:196 +#: logsrvd/tls_client.c:205 #, c-format msgid "unable to allocate ssl object: %s" msgstr "Kann kein SSL-Objekt anlegen: %s" -#: logsrvd/tls_client.c:210 +#: logsrvd/tls_client.c:219 #, 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:238 +#: logsrvd/tls_client.c:247 msgid "unable to initialize TLS context" msgstr "SSL-Kontext kann nicht initialisiert werden" @@ -1425,12 +1419,11 @@ msgstr "SSL-Kontext kann nicht erzeugt werden: %s" 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:272 plugins/sudoers/audit.c:452 -#: plugins/sudoers/log_client.c:962 plugins/sudoers/log_client.c:1011 -#: plugins/sudoers/log_client.c:1060 plugins/sudoers/log_client.c:1185 -#: plugins/sudoers/logging.c:614 plugins/sudoers/logging.c:732 -#: plugins/sudoers/logging.c:859 plugins/sudoers/logging.c:1031 -#: plugins/sudoers/policy.c:123 +#: plugins/sudoers/audit.c:272 plugins/sudoers/log_client.c:985 +#: plugins/sudoers/log_client.c:1034 plugins/sudoers/log_client.c:1083 +#: plugins/sudoers/log_client.c:1208 plugins/sudoers/logging.c:627 +#: plugins/sudoers/logging.c:867 plugins/sudoers/logging.c:1017 +#: plugins/sudoers/logging.c:1041 plugins/sudoers/policy.c:1055 msgid "unable to get time of day" msgstr "Die aktuelle Zeit kann nicht ausgelesen werden" @@ -1486,48 +1479,48 @@ msgstr "" "Fehler des Authentifizierungsservers:\n" "%s" -#: plugins/sudoers/auth/kerb5.c:116 +#: plugins/sudoers/auth/kerb5.c:117 #, c-format msgid "%s: unable to convert principal to string ('%s'): %s" msgstr "%s: Principal kann nicht in eine Zeichenkette umgewandelt werden (»%s«): %s" -#: plugins/sudoers/auth/kerb5.c:166 +#: plugins/sudoers/auth/kerb5.c:167 #, c-format msgid "%s: unable to parse '%s': %s" msgstr "%s: »%s« kann nicht ausgewertet werden: %s" # XXX check source? -#: plugins/sudoers/auth/kerb5.c:175 +#: plugins/sudoers/auth/kerb5.c:176 #, c-format msgid "%s: unable to resolve credential cache: %s" msgstr "%s: Anmeldedaten-Zwischenspeicher kann nicht aufgelöst werden: %s" -#: plugins/sudoers/auth/kerb5.c:226 +#: plugins/sudoers/auth/kerb5.c:227 #, c-format msgid "%s: unable to allocate options: %s" msgstr "%s: Optionen können nicht zugewiesen werden: %s" -#: plugins/sudoers/auth/kerb5.c:241 +#: plugins/sudoers/auth/kerb5.c:242 #, c-format msgid "%s: unable to get credentials: %s" msgstr "%s: Anmeldedaten können nicht bekommen werden: %s" -#: plugins/sudoers/auth/kerb5.c:254 +#: plugins/sudoers/auth/kerb5.c:255 #, c-format msgid "%s: unable to initialize credential cache: %s" msgstr "%s: Anmeldedaten-Zwischenspeicher kann nicht initialisiert werden: %s" -#: plugins/sudoers/auth/kerb5.c:257 +#: plugins/sudoers/auth/kerb5.c:258 #, c-format msgid "%s: unable to store credential in cache: %s" msgstr "%s: Anmeldedaten können nicht im Zwischenspeicher abgelegt werden: %s" -#: plugins/sudoers/auth/kerb5.c:322 +#: plugins/sudoers/auth/kerb5.c:324 #, c-format msgid "%s: unable to get host principal: %s" msgstr "%s: Rechner-Principal kann nicht bekommen werden: %s" -#: plugins/sudoers/auth/kerb5.c:336 +#: plugins/sudoers/auth/kerb5.c:338 #, c-format msgid "%s: Cannot verify TGT! Possible attack!: %s" msgstr "%s: TGT kann nicht verifiziert werden! Möglicher Angriff!: %s" @@ -1605,7 +1598,7 @@ msgstr "Unbekannter SecurID-Fehler" msgid "invalid passcode length for SecurID" msgstr "Ungültige Länge des Passcodes für SecurID" -#: plugins/sudoers/auth/sia.c:72 plugins/sudoers/auth/sia.c:130 +#: plugins/sudoers/auth/sia.c:72 plugins/sudoers/auth/sia.c:131 msgid "unable to initialize SIA session" msgstr "Die SIA-Sitzung kann nicht initialisiert werden" @@ -1642,22 +1635,22 @@ msgid "unable to commit audit record" msgstr "Audit-Satz kann nicht auf Platte geschrieben werden" #: plugins/sudoers/check.c:63 plugins/sudoers/check.c:74 -#: plugins/sudoers/lookup.c:79 plugins/sudoers/tsdump.c:119 +#: plugins/sudoers/lookup.c:79 #, c-format msgid "unknown uid %u" msgstr "Unbekannte Benutzer-ID %u" -#: plugins/sudoers/check.c:277 +#: plugins/sudoers/check.c:270 #, c-format msgid "error reading lecture file %s" msgstr "Fehler beim Lesen der Belehrungsdatei %s" -#: plugins/sudoers/check.c:280 +#: plugins/sudoers/check.c:273 #, 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:293 +#: plugins/sudoers/check.c:286 msgid "" "\n" "We trust you have received the usual lecture from the local System\n" @@ -1677,7 +1670,7 @@ msgstr "" " #3) Mit großer Macht kommt große Verantwortung.\n" "\n" -#: plugins/sudoers/check.c:301 +#: plugins/sudoers/check.c:294 msgid "" "For security reasons, the password you type will not be visible.\n" "\n" @@ -1766,13 +1759,13 @@ msgstr "Ungültiger Filter: %s" msgid "failed to parse %s file, unknown error" msgstr "Analyse der Datei %s gescheitert, unbekannter Fehler" -#: plugins/sudoers/cvtsudoers.c:1508 plugins/sudoers/sudoreplay.c:1143 +#: plugins/sudoers/cvtsudoers.c:1504 plugins/sudoers/sudoreplay.c:1145 #: plugins/sudoers/timestamp.c:353 plugins/sudoers/timestamp.c:356 #, c-format msgid "unable to write to %s" msgstr "In die Datei »%s« kann nicht geschrieben werden" -#: plugins/sudoers/cvtsudoers.c:1536 +#: plugins/sudoers/cvtsudoers.c:1532 #, c-format msgid "" "%s - convert between sudoers file formats\n" @@ -1781,7 +1774,7 @@ msgstr "" "%s – zwischen sudoers Dateiformaten konvertieren\n" "\n" -#: plugins/sudoers/cvtsudoers.c:1538 +#: plugins/sudoers/cvtsudoers.c:1534 msgid "" "\n" "Options:\n" @@ -1821,822 +1814,841 @@ msgstr "" " -V, --version Zeige Versionsinformationen an und Ende" #: plugins/sudoers/cvtsudoers_csv.c:192 plugins/sudoers/cvtsudoers_csv.c:199 -#: plugins/sudoers/cvtsudoers_ldif.c:245 plugins/sudoers/cvtsudoers_ldif.c:252 -#: plugins/sudoers/cvtsudoers_ldif.c:594 plugins/sudoers/env.c:340 -#: plugins/sudoers/env.c:347 plugins/sudoers/env.c:458 +#: plugins/sudoers/cvtsudoers_ldif.c:270 plugins/sudoers/cvtsudoers_ldif.c:277 +#: plugins/sudoers/cvtsudoers_ldif.c:628 plugins/sudoers/env.c:357 +#: plugins/sudoers/env.c:364 plugins/sudoers/env.c:475 #: plugins/sudoers/ldap.c:511 plugins/sudoers/ldap.c:629 #: plugins/sudoers/ldap.c:1003 plugins/sudoers/ldap_conf.c:219 -#: plugins/sudoers/ldap_conf.c:310 plugins/sudoers/ldap_util.c:486 -#: plugins/sudoers/linux_audit.c:93 plugins/sudoers/logging.c:479 -#: plugins/sudoers/policy.c:828 plugins/sudoers/policy.c:840 +#: plugins/sudoers/ldap_conf.c:310 plugins/sudoers/ldap_util.c:483 +#: plugins/sudoers/linux_audit.c:93 plugins/sudoers/logging.c:487 +#: plugins/sudoers/policy.c:836 plugins/sudoers/policy.c:848 #: plugins/sudoers/prompt.c:169 plugins/sudoers/serialize_list.c:62 #: plugins/sudoers/serialize_list.c:71 plugins/sudoers/strvec_join.c:62 -#: plugins/sudoers/sudoreplay.c:1340 plugins/sudoers/sudoreplay.c:1346 -#: plugins/sudoers/sudoreplay.c:1352 plugins/sudoers/testsudoers.c:306 -#: plugins/sudoers/toke_util.c:217 toke.l:995 toke.l:1277 +#: plugins/sudoers/sudoreplay.c:1342 plugins/sudoers/sudoreplay.c:1348 +#: plugins/sudoers/sudoreplay.c:1354 plugins/sudoers/testsudoers.c:306 +#: plugins/sudoers/toke_util.c:217 toke.l:975 toke.l:1257 #, c-format msgid "internal error, %s overflow" msgstr "Interner Fehler, %s-Überlauf" -#: plugins/sudoers/cvtsudoers_csv.c:454 plugins/sudoers/cvtsudoers_csv.c:468 -#: plugins/sudoers/cvtsudoers_json.c:661 plugins/sudoers/cvtsudoers_json.c:676 -#: plugins/sudoers/cvtsudoers_ldif.c:349 plugins/sudoers/cvtsudoers_ldif.c:362 +#: plugins/sudoers/cvtsudoers_csv.c:481 plugins/sudoers/cvtsudoers_csv.c:495 +#: plugins/sudoers/cvtsudoers_json.c:760 plugins/sudoers/cvtsudoers_json.c:776 +#: plugins/sudoers/cvtsudoers_ldif.c:384 plugins/sudoers/cvtsudoers_ldif.c:398 #: plugins/sudoers/ldap.c:495 msgid "unable to get GMT time" msgstr "Die GMT-Zeit kann nicht bekommen werden" -#: plugins/sudoers/cvtsudoers_csv.c:459 plugins/sudoers/cvtsudoers_csv.c:473 -#: plugins/sudoers/cvtsudoers_json.c:666 plugins/sudoers/cvtsudoers_json.c:681 -#: plugins/sudoers/cvtsudoers_ldif.c:354 plugins/sudoers/cvtsudoers_ldif.c:367 +#: plugins/sudoers/cvtsudoers_csv.c:486 plugins/sudoers/cvtsudoers_csv.c:500 +#: plugins/sudoers/cvtsudoers_json.c:765 plugins/sudoers/cvtsudoers_json.c:781 +#: plugins/sudoers/cvtsudoers_ldif.c:389 plugins/sudoers/cvtsudoers_ldif.c:403 #: plugins/sudoers/ldap.c:503 msgid "unable to format timestamp" msgstr "Der Zeitstempel kann nicht formatiert werden" -#: plugins/sudoers/cvtsudoers_json.c:481 plugins/sudoers/cvtsudoers_json.c:516 -#: plugins/sudoers/cvtsudoers_json.c:732 +#: plugins/sudoers/cvtsudoers_json.c:547 plugins/sudoers/cvtsudoers_json.c:588 +#: plugins/sudoers/cvtsudoers_json.c:841 #, c-format msgid "%s:%d:%d: unknown defaults entry \"%s\"" msgstr "%s:%d:%d: unbekannter defaults-Eintrag »%s«" -#: plugins/sudoers/cvtsudoers_ldif.c:663 +#: plugins/sudoers/cvtsudoers_ldif.c:116 +#, c-format +msgid "unable to base64 encode value \"%s\"" +msgstr "Der Wert »%s« kann nicht in base64 kodiert werden" + +#: plugins/sudoers/cvtsudoers_ldif.c:595 +#, c-format +msgid "internal error, unable insert user %s" +msgstr "Interner Fehler, kann den Benutzer »%s« nicht einfügen" + +#: plugins/sudoers/cvtsudoers_ldif.c:702 #, c-format msgid "too many sudoers entries, maximum %u" msgstr "Zu viele sudoers Einträge, Maximum ist %u" -#: plugins/sudoers/cvtsudoers_ldif.c:706 +#: plugins/sudoers/cvtsudoers_ldif.c:747 msgid "the SUDOERS_BASE environment variable is not set and the -b option was not specified." msgstr "Die Umgebunsvariable SUDOERS_BASE ist nicht gesetzt und die Option -b ist nicht angegeben." -#: plugins/sudoers/cvtsudoers_merge.c:273 -#: plugins/sudoers/cvtsudoers_merge.c:309 +#: plugins/sudoers/cvtsudoers_merge.c:275 +#: plugins/sudoers/cvtsudoers_merge.c:313 #, c-format msgid "%s:%d:%d: converting host list to ALL" msgstr "%s:%d:%d: Konvertiere die Hostliste in »ALL«" -#: plugins/sudoers/cvtsudoers_merge.c:545 +#: plugins/sudoers/cvtsudoers_merge.c:568 #, c-format msgid "unable to find alias %s" msgstr "Der Alias »%s« kann nicht gefunden werden" -#: plugins/sudoers/cvtsudoers_merge.c:548 +#: plugins/sudoers/cvtsudoers_merge.c:572 #, c-format msgid "%s:%d:%d: renaming alias %s to %s" msgstr "%s:%d:%d: Benenne »%s« in »%s« um" -#: plugins/sudoers/cvtsudoers_merge.c:605 +#: plugins/sudoers/cvtsudoers_merge.c:634 #, c-format msgid "%s:%d:%d: removing duplicate alias %s" msgstr "%s:%d:%d: doppelter Alias »%s« entfernt" -#: plugins/sudoers/cvtsudoers_merge.c:830 +#: plugins/sudoers/cvtsudoers_merge.c:868 #, c-format msgid "%s:%d:%d: conflicting Defaults entry \"%s\" host-specific in %s:%d:%d" msgstr "%s:%d:%d: widersprüchlicher »Defaults«-Eintrag \"%s\" Host-spezifisch in %s:%d:%d" -#: plugins/sudoers/cvtsudoers_merge.c:864 +#: plugins/sudoers/cvtsudoers_merge.c:904 #, c-format msgid "%s:%d:%d: made Defaults \"%s\" specific to host %s" msgstr "%s:%d:%d: Mache »Defaults« »%s« spezifisch für Host »%s«" -#: plugins/sudoers/cvtsudoers_merge.c:882 +#: plugins/sudoers/cvtsudoers_merge.c:922 #, c-format msgid "%s:%d:%d: unable to make Defaults \"%s\" host-specific" msgstr "%s:%d:%d: Kann Defaults »%s« nicht host-spezifisch machen" -#: plugins/sudoers/cvtsudoers_merge.c:892 +#: plugins/sudoers/cvtsudoers_merge.c:932 #, c-format msgid "%s:%d:%d: removing Defaults \"%s\" overridden by subsequent entries" msgstr "%s:%d:%d: entferne Defaults \"%s\" überschrieben in folgenden Einträgen" -#: plugins/sudoers/cvtsudoers_merge.c:1088 +#: plugins/sudoers/cvtsudoers_merge.c:1128 #, c-format msgid "%s:%d:%d: merging userspec into %s:%d:%d" msgstr "%s:%d:%d: Führe »userspec« zusammen in %s:%d:%d" # XXX -#: plugins/sudoers/cvtsudoers_merge.c:1182 +#: plugins/sudoers/cvtsudoers_merge.c:1224 #, c-format msgid "%s:%d:%d: removing userspec overridden by subsequent entries" msgstr "%s:%d:%d: entferne durch nachfolgende Einträge überschriebene userspec " -#: plugins/sudoers/def_data.c:56 +#: plugins/sudoers/def_data.c:58 #, c-format msgid "Syslog facility if syslog is being used for logging: %s" msgstr "Syslog Facility, wenn syslog für Protokollierung verwendet wird: %s" -#: plugins/sudoers/def_data.c:60 +#: plugins/sudoers/def_data.c:62 #, c-format msgid "Syslog priority to use when user authenticates successfully: %s" msgstr "Syslog-Priorität, wenn sich der Benutzer erfolgreich authentifiziert: %s" -#: plugins/sudoers/def_data.c:64 +#: plugins/sudoers/def_data.c:66 #, c-format msgid "Syslog priority to use when user authenticates unsuccessfully: %s" msgstr "Syslog-Priorität, wenn sich der Benutzer nicht erfolgreich authentifiziert: %s" -#: plugins/sudoers/def_data.c:68 +#: plugins/sudoers/def_data.c:70 msgid "Put OTP prompt on its own line" msgstr "Die OTP-Eingabeaufforderung (One-Time-Passwords) in eine eigene Zeile schreiben" -#: plugins/sudoers/def_data.c:72 +#: plugins/sudoers/def_data.c:74 msgid "Ignore '.' in $PATH" msgstr "».« in $PATH ignorieren" -#: plugins/sudoers/def_data.c:76 +#: plugins/sudoers/def_data.c:78 msgid "Always send mail when sudo is run" msgstr "Immer eine Mail senden, wenn sudo gestartet wird" -#: plugins/sudoers/def_data.c:80 +#: plugins/sudoers/def_data.c:82 msgid "Send mail if user authentication fails" msgstr "Eine Mail senden, wenn die Authentifizierung des Benutzers fehlschlägt" -#: plugins/sudoers/def_data.c:84 +#: plugins/sudoers/def_data.c:86 msgid "Send mail if the user is not in sudoers" msgstr "Eine Mail senden, wenn der Benutzer nicht in der sudoers-Datei steht" -#: plugins/sudoers/def_data.c:88 +#: plugins/sudoers/def_data.c:90 msgid "Send mail if the user is not in sudoers for this host" msgstr "Eine Mail senden, wenn der Benutzer nicht in der sudoers-Datei für diesen Rechner steht" -#: plugins/sudoers/def_data.c:92 +#: plugins/sudoers/def_data.c:94 msgid "Send mail if the user is not allowed to run a command" msgstr "Eine Mail senden, wenn der Benutzer nicht berechtigt ist, einen Befehl auszuführen" -#: plugins/sudoers/def_data.c:96 +#: plugins/sudoers/def_data.c:98 msgid "Send mail if the user tries to run a command" msgstr "Eine Mail senden, wenn der Benutzer versucht, einen Befehl auszuführen" -#: plugins/sudoers/def_data.c:100 +#: plugins/sudoers/def_data.c:102 msgid "Use a separate timestamp for each user/tty combo" msgstr "Getrennte Zeitstempel für jede Benutzer/tty-Kombination verwenden" -#: plugins/sudoers/def_data.c:104 +#: plugins/sudoers/def_data.c:106 msgid "Lecture user the first time they run sudo" msgstr "Den Benutzer beim ersten Aufruf von sudo belehren" -#: plugins/sudoers/def_data.c:108 +#: plugins/sudoers/def_data.c:110 #, c-format msgid "File containing the sudo lecture: %s" msgstr "Datei mit der sudo-Belehrung: %s" -#: plugins/sudoers/def_data.c:112 +#: plugins/sudoers/def_data.c:114 msgid "Require users to authenticate by default" msgstr "Standardmäßig muss sich der Benutzer authentifizieren" -#: plugins/sudoers/def_data.c:116 +#: plugins/sudoers/def_data.c:118 msgid "Root may run sudo" msgstr "Root darf sudo verwenden" -#: plugins/sudoers/def_data.c:120 +#: plugins/sudoers/def_data.c:122 msgid "Log the hostname in the (non-syslog) log file" msgstr "Den Hostnamen in der (nicht-syslog-)Protokolldatei speichern" -#: plugins/sudoers/def_data.c:124 +#: plugins/sudoers/def_data.c:126 msgid "Log the year in the (non-syslog) log file" msgstr "Das Jahr in der (nicht-syslog-)Protokolldatei speichern" -#: plugins/sudoers/def_data.c:128 +#: plugins/sudoers/def_data.c:130 msgid "If sudo is invoked with no arguments, start a shell" msgstr "Eine Shell starten, wenn sudo ohne Parameter aufgerufen wird" -#: plugins/sudoers/def_data.c:132 +#: plugins/sudoers/def_data.c:134 msgid "Set $HOME to the target user when starting a shell with -s" msgstr "Die Umgebungsvariable $HOME beim Starten einer Shell mit »-s« setzen" -#: plugins/sudoers/def_data.c:136 +#: plugins/sudoers/def_data.c:138 msgid "Always set $HOME to the target user's home directory" msgstr "Immer die Variable $HOME auf das Home-Verzeichnis des Ziel-Benutzers setzen" -#: plugins/sudoers/def_data.c:140 +#: plugins/sudoers/def_data.c:142 msgid "Allow some information gathering to give useful error messages" msgstr "Informationssammlung für nützliche Fehlermeldungen erlauben" -#: plugins/sudoers/def_data.c:144 +#: plugins/sudoers/def_data.c:146 msgid "Require fully-qualified hostnames in the sudoers file" msgstr "Vollständige Hostnamen in der sudoers-Datei erfordern" -#: plugins/sudoers/def_data.c:148 +#: plugins/sudoers/def_data.c:150 msgid "Insult the user when they enter an incorrect password" msgstr "»Beschimpfung« bei Eingabe eines falschen Passwortes" -#: plugins/sudoers/def_data.c:152 +#: plugins/sudoers/def_data.c:154 msgid "Only allow the user to run sudo if they have a tty" msgstr "Der Benutzer darf sudo nur aufrufen, wenn ein tty vorhanden ist" -#: plugins/sudoers/def_data.c:156 +#: plugins/sudoers/def_data.c:158 msgid "Visudo will honor the EDITOR environment variable" msgstr "Visudo beachtet die Umgebungsvariable »EDITOR«" -#: plugins/sudoers/def_data.c:160 -msgid "Prompt for root's password, not the users's" +#: plugins/sudoers/def_data.c:162 +msgid "Prompt for root's password, not the user's" msgstr "Nach dem root-Passwort fragen, nicht nach dem Passwort des Benutzers" -#: plugins/sudoers/def_data.c:164 -msgid "Prompt for the runas_default user's password, not the users's" +#: plugins/sudoers/def_data.c:166 +msgid "Prompt for the runas_default user's password, not the user's" msgstr "Nach dem Passwort des Benutzers »runas_default« fragen, nicht nach dem Passwort des aufrufenden Benutzers" -#: plugins/sudoers/def_data.c:168 -msgid "Prompt for the target user's password, not the users's" +#: plugins/sudoers/def_data.c:170 +msgid "Prompt for the target user's password, not the user's" msgstr "Nach dem Passwort des Ziel-Benutzers fragen, nicht nach dem Passwort des aufrufenden Benutzers" -#: plugins/sudoers/def_data.c:172 +#: plugins/sudoers/def_data.c:174 msgid "Apply defaults in the target user's login class if there is one" msgstr "Standards auf die Anmeldeklasse des Zielbenutzers anwenden, falls diese vorhanden ist" -#: plugins/sudoers/def_data.c:176 +#: plugins/sudoers/def_data.c:178 msgid "Set the LOGNAME and USER environment variables" msgstr "Die Umgebungsvariablen »LOGNAME« und »USER« setzen" -#: plugins/sudoers/def_data.c:180 +#: plugins/sudoers/def_data.c:182 msgid "Only set the effective uid to the target user, not the real uid" msgstr "Nur die effektive UID auf den Ziel-Benutzer setzen, nicht die reale UID" -#: plugins/sudoers/def_data.c:184 +#: plugins/sudoers/def_data.c:186 msgid "Don't initialize the group vector to that of the target user" msgstr "Die sekundären Gruppen nicht auf die Gruppen des Ziel-Benutzers setzen" -#: plugins/sudoers/def_data.c:188 +#: plugins/sudoers/def_data.c:190 #, c-format msgid "Length at which to wrap log file lines (0 for no wrap): %u" msgstr "Zeilenlänge der Protokolldatei für Zeilenumbruch (0 für keinen Zeilenumbruch): %u" -#: plugins/sudoers/def_data.c:192 +#: plugins/sudoers/def_data.c:194 #, c-format msgid "Authentication timestamp timeout: %.1f minutes" msgstr "Zeitlimit für den Authentifizierungszeitstempel: %.1f Minuten" -#: plugins/sudoers/def_data.c:196 +#: plugins/sudoers/def_data.c:198 #, c-format msgid "Password prompt timeout: %.1f minutes" msgstr "Zeitlimit bei der Eingabe des Passwortes: %.1f Minuten" -#: plugins/sudoers/def_data.c:200 +#: plugins/sudoers/def_data.c:202 #, c-format msgid "Number of tries to enter a password: %u" msgstr "Anzahl Versuche zur Eingabe des Passwortes: %u" -#: plugins/sudoers/def_data.c:204 +#: plugins/sudoers/def_data.c:206 #, c-format msgid "Umask to use or 0777 to use user's: 0%o" msgstr "Zu verwendende Umask oder 0777, um die Umask des Benutzers zu verwenden: 0%o" -#: plugins/sudoers/def_data.c:208 +#: plugins/sudoers/def_data.c:210 #, c-format msgid "Path to log file: %s" msgstr "Pfad zur Protokolldatei: %s" -#: plugins/sudoers/def_data.c:212 +#: plugins/sudoers/def_data.c:214 #, c-format msgid "Path to mail program: %s" msgstr "Pfad zum Mail-Programm: %s" -#: plugins/sudoers/def_data.c:216 +#: plugins/sudoers/def_data.c:218 #, c-format msgid "Flags for mail program: %s" msgstr "Parameter für das Mail-Programm: %s" -#: plugins/sudoers/def_data.c:220 +#: plugins/sudoers/def_data.c:222 #, c-format msgid "Address to send mail to: %s" msgstr "Mail-Adresse des Empfängers: %s" -#: plugins/sudoers/def_data.c:224 +#: plugins/sudoers/def_data.c:226 #, c-format msgid "Address to send mail from: %s" msgstr "Mail-Adresse des Absenders: %s" -#: plugins/sudoers/def_data.c:228 +#: plugins/sudoers/def_data.c:230 #, c-format msgid "Subject line for mail messages: %s" msgstr "Betreffzeile für Mails: %s" -#: plugins/sudoers/def_data.c:232 +#: plugins/sudoers/def_data.c:234 #, c-format msgid "Incorrect password message: %s" msgstr "Meldung bei Eingabe eines falschen Passwortes: %s" -#: plugins/sudoers/def_data.c:236 +#: plugins/sudoers/def_data.c:238 #, c-format msgid "Path to lecture status dir: %s" msgstr "Verzeichnis für den Belehrungsstatus: %s" -#: plugins/sudoers/def_data.c:240 +#: plugins/sudoers/def_data.c:242 #, c-format msgid "Path to authentication timestamp dir: %s" msgstr "Pfad zum Authentifizierungszeitstempel-Verzeichnis: %s" -#: plugins/sudoers/def_data.c:244 +#: plugins/sudoers/def_data.c:246 #, c-format msgid "Owner of the authentication timestamp dir: %s" msgstr "Besitzer des Authentifizierungszeitstempelverzeichnisses: %s" -#: plugins/sudoers/def_data.c:248 +#: plugins/sudoers/def_data.c:250 #, c-format msgid "Users in this group are exempt from password and PATH requirements: %s" msgstr "Benutzer in dieser Gruppe sind von Passwort- und PATH-Anforderungen ausgenommen: %s" -#: plugins/sudoers/def_data.c:252 +#: plugins/sudoers/def_data.c:254 #, c-format msgid "Default password prompt: %s" msgstr "Standard-Eingabeaufforderung für das Passwort: %s" -#: plugins/sudoers/def_data.c:256 +#: plugins/sudoers/def_data.c:258 msgid "If set, passprompt will override system prompt in all cases." msgstr "Überschreibt in allen Fällen bei der Passwortabfrage die Systemabfrage, falls gesetzt." -#: plugins/sudoers/def_data.c:260 +#: plugins/sudoers/def_data.c:262 #, c-format msgid "Default user to run commands as: %s" msgstr "Standardbenutzer, unter dem die Befehle ausgeführt werden: %s" -#: plugins/sudoers/def_data.c:264 +#: plugins/sudoers/def_data.c:266 #, c-format msgid "Value to override user's $PATH with: %s" msgstr "Wert, mit dem der Inhalt von $PATH des Benutzers überschrieben werden soll: %s" -#: plugins/sudoers/def_data.c:268 +#: plugins/sudoers/def_data.c:270 #, c-format msgid "Path to the editor for use by visudo: %s" msgstr "Pfad zum Editor, den visudo verwenden soll: %s" -#: plugins/sudoers/def_data.c:272 +#: plugins/sudoers/def_data.c:274 #, c-format msgid "When to require a password for 'list' pseudocommand: %s" msgstr "Wann soll ein Passwort für den Pseudobefehl »list« erforderlich sein: %s" -#: plugins/sudoers/def_data.c:276 +#: plugins/sudoers/def_data.c:278 #, c-format msgid "When to require a password for 'verify' pseudocommand: %s" msgstr "Wann soll ein Passwort für den Pseudobefehl »verify« erforderlich sein: %s" -#: plugins/sudoers/def_data.c:280 +#: plugins/sudoers/def_data.c:282 msgid "Preload the sudo_noexec library which replaces the exec functions" msgstr "Preload der »sudo_noexec« Bibliothek zum Ersetzen der »exec« Funktionen" -#: plugins/sudoers/def_data.c:284 +#: plugins/sudoers/def_data.c:286 msgid "If LDAP directory is up, do we ignore local sudoers file" msgstr "Wenn das LDAP-Verzeichnis erreichbar ist, ignorieren wir die lokale sudoers-Datei" -#: plugins/sudoers/def_data.c:288 +#: plugins/sudoers/def_data.c:290 #, c-format msgid "File descriptors >= %d will be closed before executing a command" msgstr "Datei-Deskriptoren >= %d werden geschlossen, bevor ein Befehl ausgeführt wird" -#: plugins/sudoers/def_data.c:292 +#: plugins/sudoers/def_data.c:294 msgid "If set, users may override the value of \"closefrom\" with the -C option" msgstr "Benutzer können den Wert für »closefrom« mit der der Option -C überschreiben, wenn diese Option gesetzt ist" -#: plugins/sudoers/def_data.c:296 +#: plugins/sudoers/def_data.c:298 msgid "Allow users to set arbitrary environment variables" msgstr "Benutzern das Setzen beliebiger Umgebungsvariablen erlauben" -#: plugins/sudoers/def_data.c:300 +#: plugins/sudoers/def_data.c:302 msgid "Reset the environment to a default set of variables" msgstr "Die Umgebung auf einen Standardsatz an Variablen zurücksetzen" # XXX gibt es da einen sinnvollen Begriff? -#: plugins/sudoers/def_data.c:304 +#: plugins/sudoers/def_data.c:306 msgid "Environment variables to check for safety:" msgstr "Folgende Umgebungsvariablen prüfen:" -#: plugins/sudoers/def_data.c:308 +#: plugins/sudoers/def_data.c:310 msgid "Environment variables to remove:" msgstr "Folgende Umgebungsvariablen löschen:" -#: plugins/sudoers/def_data.c:312 +#: plugins/sudoers/def_data.c:314 msgid "Environment variables to preserve:" msgstr "Folgende Umgebungsvariablen bewahren:" -#: plugins/sudoers/def_data.c:316 +#: plugins/sudoers/def_data.c:318 #, c-format msgid "SELinux role to use in the new security context: %s" msgstr "Im neuen Security-Kontext von SELinux wird diese Rolle verwendet: %s" -#: plugins/sudoers/def_data.c:320 +#: plugins/sudoers/def_data.c:322 #, c-format msgid "SELinux type to use in the new security context: %s" msgstr "Im neuen Security-Kontext von SELinux wird dieser Typ verwendet: %s" -#: plugins/sudoers/def_data.c:324 +#: plugins/sudoers/def_data.c:326 #, c-format msgid "Path to the sudo-specific environment file: %s" msgstr "Pfad zur sudo-spezifischen »environment«-Datei: %s" # XXX -#: plugins/sudoers/def_data.c:328 +#: plugins/sudoers/def_data.c:330 #, c-format msgid "Path to the restricted sudo-specific environment file: %s" msgstr "Pfad zur eingeschränkten sudo »environment«-Datei: %s" -#: plugins/sudoers/def_data.c:332 +#: plugins/sudoers/def_data.c:334 #, c-format msgid "Locale to use while parsing sudoers: %s" msgstr "Beim Auswerten der sudoers-Datei wird diese Locale verwendet: %s" -#: plugins/sudoers/def_data.c:336 +#: plugins/sudoers/def_data.c:338 msgid "Allow sudo to prompt for a password even if it would be visible" msgstr "sudo erlauben, nach einem Passwort zu fragen, auch wenn das Passwort sichtbar wird" -#: plugins/sudoers/def_data.c:340 +#: plugins/sudoers/def_data.c:342 msgid "Provide visual feedback at the password prompt when there is user input" msgstr "Sichtbare Rückmeldung bei der Passworteingabeaufforderung, wenn der Benutzer etwas eingibt" -#: plugins/sudoers/def_data.c:344 +#: plugins/sudoers/def_data.c:346 msgid "Use faster globbing that is less accurate but does not access the filesystem" msgstr "Schnelleren Musterabgleich verwenden, der zwar ungenauer ist, aber nicht auf das Dateisystem zugreift" -#: plugins/sudoers/def_data.c:348 +#: plugins/sudoers/def_data.c:350 msgid "The umask specified in sudoers will override the user's, even if it is more permissive" msgstr "Die umask in sudoers überschreibt die umask des Benutzers, selbst wenn diese mehr Berechtigungen zulässt" -#: plugins/sudoers/def_data.c:352 +#: plugins/sudoers/def_data.c:354 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 +#: plugins/sudoers/def_data.c:358 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 +#: plugins/sudoers/def_data.c:362 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 +#: plugins/sudoers/def_data.c:366 msgid "Log the output of the command being run" msgstr "Die Ausgabe des ausgeführten Befehls protokollieren" -#: plugins/sudoers/def_data.c:368 +#: plugins/sudoers/def_data.c:370 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 +#: plugins/sudoers/def_data.c:374 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 +#: plugins/sudoers/def_data.c:378 msgid "Log the terminal output of the command being run" msgstr "Die Terminalausgabe des ausgeführten Befehls protokollieren" -#: plugins/sudoers/def_data.c:380 +#: plugins/sudoers/def_data.c:382 msgid "Compress I/O logs using zlib" msgstr "Ein-/Ausgabe-Protokolle mittels zlib protokollieren" -#: plugins/sudoers/def_data.c:384 +#: plugins/sudoers/def_data.c:386 msgid "Always run commands in a pseudo-tty" msgstr "Befehle immer in einem Pseudo-TTY ausführen" -#: plugins/sudoers/def_data.c:388 +#: plugins/sudoers/def_data.c:390 #, 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:392 +#: plugins/sudoers/def_data.c:394 #, 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:396 +#: plugins/sudoers/def_data.c:398 #, 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:400 +#: plugins/sudoers/def_data.c:402 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:404 +#: plugins/sudoers/def_data.c:406 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:408 +#: plugins/sudoers/def_data.c:410 #, c-format msgid "Set of permitted privileges: %s" msgstr "Menge der erlaubten Privilegien: %s" # XXX einschränkenden? -#: plugins/sudoers/def_data.c:412 +#: plugins/sudoers/def_data.c:414 #, c-format msgid "Set of limit privileges: %s" msgstr "Menge der eingeschränkten Privilegien: %s" -#: plugins/sudoers/def_data.c:416 +#: plugins/sudoers/def_data.c:418 msgid "Run commands on a pty in the background" msgstr "Befehle mit einem Pseudo-TTY im Hintergrund starten" -#: plugins/sudoers/def_data.c:420 +#: plugins/sudoers/def_data.c:422 #, c-format msgid "PAM service name to use: %s" msgstr "Verwendeter PAM-Service-Name: %s" -#: plugins/sudoers/def_data.c:424 +#: plugins/sudoers/def_data.c:426 #, 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:428 +#: plugins/sudoers/def_data.c:430 #, 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:432 +#: plugins/sudoers/def_data.c:434 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:436 +#: plugins/sudoers/def_data.c:438 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:440 +#: plugins/sudoers/def_data.c:442 msgid "Perform PAM account validation management" msgstr "Ausführen vom PAM-Account-Management" -#: plugins/sudoers/def_data.c:444 +#: plugins/sudoers/def_data.c:446 +msgid "Do not allow PAM authentication modules to generate output" +msgstr "Erlaube PAM Authentifizierungsmodulen nicht Ausgaben zu erzeugen" + +#: plugins/sudoers/def_data.c:450 #, c-format msgid "Maximum I/O log sequence number: %s" msgstr "Maximale Sequenznummer des Ein-/Ausgabe-Protokolls: %s" -#: plugins/sudoers/def_data.c:448 +#: plugins/sudoers/def_data.c:454 msgid "Enable sudoers netgroup support" msgstr "Unterstützung für netgroups in sudoers aktivieren" -#: plugins/sudoers/def_data.c:452 +#: plugins/sudoers/def_data.c:458 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:456 +#: plugins/sudoers/def_data.c:462 msgid "Follow symbolic links when editing files with sudoedit" msgstr "Folge symbolischen Links beim Editieren von Dateien mit sudoedit" -#: plugins/sudoers/def_data.c:460 +#: plugins/sudoers/def_data.c:466 msgid "Query the group plugin for unknown system groups" msgstr "Frage das Group-Plugin nach unbekannten System-Gruppen" -#: plugins/sudoers/def_data.c:464 +#: plugins/sudoers/def_data.c:470 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:468 +#: plugins/sudoers/def_data.c:474 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:472 +#: plugins/sudoers/def_data.c:478 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:476 +#: plugins/sudoers/def_data.c:482 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:480 +#: plugins/sudoers/def_data.c:486 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:484 +#: plugins/sudoers/def_data.c:490 #, 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:488 +#: plugins/sudoers/def_data.c:494 #, 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:492 +#: plugins/sudoers/def_data.c:498 #, 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:496 +#: plugins/sudoers/def_data.c:502 #, 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:500 +#: plugins/sudoers/def_data.c:506 #, 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:504 +#: plugins/sudoers/def_data.c:510 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:508 +#: plugins/sudoers/def_data.c:514 #, 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:512 +#: plugins/sudoers/def_data.c:518 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:516 +#: plugins/sudoers/def_data.c:522 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:520 +#: plugins/sudoers/def_data.c:526 msgid "Include the process ID when logging via syslog" msgstr "Protokolliere auch die Prozess-ID beim Schreiben ins Systemlog" -#: plugins/sudoers/def_data.c:524 +#: plugins/sudoers/def_data.c:530 #, c-format msgid "Type of authentication timestamp record: %s" msgstr "Typ des Authentifizierungszeitstempelprotokolls: %s" -#: plugins/sudoers/def_data.c:528 +#: plugins/sudoers/def_data.c:534 #, c-format msgid "Authentication failure message: %s" msgstr "Fehler bei der Authentifizierung: %s" -#: plugins/sudoers/def_data.c:532 +#: plugins/sudoers/def_data.c:538 msgid "Ignore case when matching user names" msgstr "Ignoriere Groß-/Kleinschreibung beim Matchen von Benutzernamen" -#: plugins/sudoers/def_data.c:536 +#: plugins/sudoers/def_data.c:542 msgid "Ignore case when matching group names" msgstr "Ignoriere Groß-/Kleinschreibung beim Matchen von Gruppennamen" -#: plugins/sudoers/def_data.c:540 +#: plugins/sudoers/def_data.c:546 msgid "Log when a command is allowed by sudoers" msgstr "Protokolliere von sudo erlaubte Kommandos" -#: plugins/sudoers/def_data.c:544 +#: plugins/sudoers/def_data.c:550 msgid "Log when a command is denied by sudoers" msgstr "Protokolliere von sudo verweigerte Kommandos" -#: plugins/sudoers/def_data.c:548 +#: plugins/sudoers/def_data.c:554 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:552 +#: plugins/sudoers/def_data.c:558 #, c-format msgid "Sudo log server timeout in seconds: %u" msgstr "Sudo Log-Server Timeout in Secunden: %u" -#: plugins/sudoers/def_data.c:556 +#: plugins/sudoers/def_data.c:562 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:560 +#: plugins/sudoers/def_data.c:566 #, 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:564 +#: plugins/sudoers/def_data.c:570 #, c-format msgid "Path to the sudoers certificate file: %s" msgstr "Pfad zur sudoers Zertifikats-Datei: %s" -#: plugins/sudoers/def_data.c:568 +#: plugins/sudoers/def_data.c:574 #, 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:572 +#: plugins/sudoers/def_data.c:578 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:576 +#: plugins/sudoers/def_data.c:582 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:580 +#: plugins/sudoers/def_data.c:586 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:584 +#: plugins/sudoers/def_data.c:590 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:588 +#: plugins/sudoers/def_data.c:594 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:592 +#: plugins/sudoers/def_data.c:598 #, 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:596 +#: plugins/sudoers/def_data.c:602 #, 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:600 +#: plugins/sudoers/def_data.c:606 #, c-format msgid "The format of logs to produce: %s" msgstr "Das Format der zu schreibenden Logs: %s" -#: plugins/sudoers/def_data.c:604 +#: plugins/sudoers/def_data.c:610 msgid "Enable SELinux RBAC support" msgstr "Schalte SELinux RBAC Support ein" -#: plugins/sudoers/def_data.c:608 +#: plugins/sudoers/def_data.c:614 #, 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:612 +#: plugins/sudoers/def_data.c:618 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:616 +#: plugins/sudoers/def_data.c:622 msgid "Log sub-commands run by the original command" msgstr "Protokolliere von diesem Kommando gestartete Kind-Prozesse" -#: plugins/sudoers/def_data.c:620 +#: plugins/sudoers/def_data.c:626 msgid "Log the exit status of commands" msgstr "Den Exitcode des ausgeführten Befehls protokollieren" # XXX Check! -#: plugins/sudoers/def_data.c:624 +#: plugins/sudoers/def_data.c:630 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:628 +#: plugins/sudoers/def_data.c:634 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:632 +#: plugins/sudoers/def_data.c:638 #, 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:636 +#: plugins/sudoers/def_data.c:642 #, 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:640 +#: plugins/sudoers/def_data.c:646 #, 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:644 +#: plugins/sudoers/def_data.c:650 #, 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:648 +#: plugins/sudoers/def_data.c:654 #, 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:652 +#: plugins/sudoers/def_data.c:658 #, 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:656 +#: plugins/sudoers/def_data.c:662 #, 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:660 +#: plugins/sudoers/def_data.c:666 #, 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:664 +#: plugins/sudoers/def_data.c:670 #, 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:668 +#: plugins/sudoers/def_data.c:674 #, 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:672 +#: plugins/sudoers/def_data.c:678 #, 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:676 +#: plugins/sudoers/def_data.c:682 msgid "Attempt authentication even when in non-interactive mode" msgstr "Authentifzierung auch im nicht-interaktiven Modus versuchen" -#: plugins/sudoers/def_data.c:680 +#: plugins/sudoers/def_data.c:686 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:684 +#: plugins/sudoers/def_data.c:690 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:688 +#: plugins/sudoers/def_data.c:694 #, 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:692 +#: plugins/sudoers/def_data.c:698 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 +#: plugins/sudoers/def_data.c:702 #, 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" +#: plugins/sudoers/def_data.c:706 +#, c-format +msgid "Command denial message: %s" +msgstr "Meldung bei verweigertem Kommando: %s" + #: plugins/sudoers/defaults.c:207 #, c-format msgid "unknown defaults entry \"%s\"" @@ -2667,64 +2679,64 @@ 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:1176 plugins/sudoers/policy.c:213 -#: plugins/sudoers/policy.c:222 +#: plugins/sudoers/defaults.c:1189 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:1182 +#: plugins/sudoers/defaults.c:1195 #, 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:1189 +#: plugins/sudoers/defaults.c:1202 #, c-format msgid "values for \"%s\" must start with a '/'" msgstr "Werte für »%s« müssen mit einem »/« beginnen" -#: plugins/sudoers/display.c:160 +#: plugins/sudoers/display.c:154 #, c-format msgid "LDAP Role: %s\n" msgstr "LDAP-Rolle: %s\n" -#: plugins/sudoers/display.c:163 +#: plugins/sudoers/display.c:157 #, c-format msgid "Sudoers entry: %s\n" msgstr "Sudoers-Eintrag: %s\n" -#: plugins/sudoers/display.c:166 +#: plugins/sudoers/display.c:160 msgid " RunAsUsers: " msgstr " RunAsUsers: " -#: plugins/sudoers/display.c:181 +#: plugins/sudoers/display.c:175 msgid " RunAsGroups: " msgstr " RunAsGroups: " -#: plugins/sudoers/display.c:191 +#: plugins/sudoers/display.c:185 msgid " Options: " msgstr " Optionen: " -#: plugins/sudoers/display.c:255 +#: plugins/sudoers/display.c:249 msgid " Commands:\n" msgstr " Befehle:\n" -#: plugins/sudoers/display.c:478 +#: plugins/sudoers/display.c:472 #, c-format msgid "Matching Defaults entries for %s on %s:\n" msgstr "Passende Defaults-Einträge für %s auf %s:\n" -#: plugins/sudoers/display.c:496 +#: plugins/sudoers/display.c:490 #, c-format msgid "Runas and Command-specific defaults for %s:\n" msgstr "Runas und befehlsspezifische Standardwerte für %s:\n" -#: plugins/sudoers/display.c:514 +#: plugins/sudoers/display.c:508 #, 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/display.c:530 +#: plugins/sudoers/display.c:524 #, 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" @@ -2738,15 +2750,15 @@ msgstr "Ignoriere Editor: %.*s" msgid "editor arguments may not contain \"--\"" msgstr "Editor Argumente dürfen »--« nicht enthalten" -#: plugins/sudoers/env.c:426 +#: plugins/sudoers/env.c:443 msgid "sudo_putenv: corrupted envp, length mismatch" msgstr "sudo_putenv: envp ist beschädigt, die Längen passen nicht" -#: plugins/sudoers/env.c:1119 +#: plugins/sudoers/env.c:1137 msgid "unable to rebuild the environment" msgstr "Das Environment kann nicht neu erstellt werden" -#: plugins/sudoers/env.c:1199 +#: plugins/sudoers/env.c:1217 #, 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" @@ -2790,37 +2802,37 @@ msgstr "»%s« ist keine gültige Netzmaske" msgid "Local IP address and netmask pairs:\n" msgstr "Lokale IP-Adresse und Netzmaske:\n" -#: plugins/sudoers/iolog.c:694 +#: plugins/sudoers/iolog.c:702 msgid "unable to update sequence file" msgstr "Kann die Sequenz-Datei nicht aktualisieren" -#: plugins/sudoers/iolog.c:728 plugins/sudoers/iolog.c:917 -#: plugins/sudoers/iolog.c:1080 plugins/sudoers/iolog.c:1087 -#: plugins/sudoers/iolog.c:1209 plugins/sudoers/iolog.c:1216 -#: plugins/sudoers/iolog.c:1316 plugins/sudoers/iolog.c:1323 +#: plugins/sudoers/iolog.c:736 plugins/sudoers/iolog.c:925 +#: plugins/sudoers/iolog.c:1088 plugins/sudoers/iolog.c:1095 +#: plugins/sudoers/iolog.c:1217 plugins/sudoers/iolog.c:1224 +#: plugins/sudoers/iolog.c:1324 plugins/sudoers/iolog.c:1331 #, c-format msgid "unable to write to I/O log file: %s" msgstr "In die I/O Logdatei kann nicht geschrieben werden: %s" -#: plugins/sudoers/iolog.c:736 +#: plugins/sudoers/iolog.c:744 #, c-format msgid "unable to create %s/%s" msgstr "Die Datei %s%s kann nicht erstellt werden" -#: plugins/sudoers/iolog.c:965 +#: plugins/sudoers/iolog.c:973 #, 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:1065 plugins/sudoers/iolog.c:1194 -#: plugins/sudoers/iolog.c:1300 plugins/sudoers/timestamp.c:897 -#: plugins/sudoers/timestamp.c:989 plugins/sudoers/visudo.c:555 +#: plugins/sudoers/iolog.c:1073 plugins/sudoers/iolog.c:1202 +#: plugins/sudoers/iolog.c:1308 plugins/sudoers/timestamp.c:900 +#: plugins/sudoers/timestamp.c:992 plugins/sudoers/visudo.c:555 #: plugins/sudoers/visudo.c:561 msgid "unable to read the clock" msgstr "Die Uhrzeit kann nicht ausgelesen werden" -#: plugins/sudoers/iolog.c:1292 plugins/sudoers/log_client.c:1203 -#: plugins/sudoers/log_client.c:1213 plugins/sudoers/log_client.c:1217 +#: plugins/sudoers/iolog.c:1300 plugins/sudoers/log_client.c:1226 +#: plugins/sudoers/log_client.c:1236 plugins/sudoers/log_client.c:1240 #, c-format msgid "%s: internal error, invalid signal %d" msgstr "%s: Interner Fehler, ungültiges Signal %d" @@ -2867,15 +2879,15 @@ msgstr "LDAP-Adresstyp wird nicht unterstützt: %s" msgid "unable to mix ldap and ldaps URIs" msgstr "ldap- und ldaps-Adressen können nicht zusammen verwendet werden" -#: 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 +#: plugins/sudoers/ldap_util.c:496 plugins/sudoers/ldap_util.c:503 +#: plugins/sudoers/ldap_util.c:511 plugins/sudoers/ldap_util.c:519 +#: plugins/sudoers/ldap_util.c:527 plugins/sudoers/ldap_util.c:535 +#: plugins/sudoers/ldap_util.c:543 plugins/sudoers/ldap_util.c:551 #, c-format msgid "duplicate sudoOption: %s%s%s" msgstr "doppelte sudoOption: %s%s%s" -#: plugins/sudoers/ldap_util.c:568 plugins/sudoers/ldap_util.c:570 +#: plugins/sudoers/ldap_util.c:569 plugins/sudoers/ldap_util.c:571 #, c-format msgid "unable to convert sudoOption: %s%s%s" msgstr "sudoOption kann nicht konvertiert werden: %s%s%s" @@ -2888,63 +2900,63 @@ 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:125 plugins/sudoers/log_client.c:412 -#: plugins/sudoers/log_client.c:1450 plugins/sudoers/log_client.c:2076 +#: plugins/sudoers/log_client.c:125 plugins/sudoers/log_client.c:421 +#: plugins/sudoers/log_client.c:1473 plugins/sudoers/log_client.c:2101 msgid "error in event loop" msgstr "Fehler in der Event-Schleife" -#: plugins/sudoers/log_client.c:205 +#: plugins/sudoers/log_client.c:214 #, 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:230 +#: plugins/sudoers/log_client.c:239 #, c-format msgid "unable to load certificate authority bundle %s" msgstr "Kann das CA-Bundle »%s« nicht laden" -#: plugins/sudoers/log_client.c:252 +#: plugins/sudoers/log_client.c:261 #, c-format msgid "unable to load certificate %s" msgstr "Laden von Zertifikat »%s« fehlgeschlagen" -#: plugins/sudoers/log_client.c:266 +#: plugins/sudoers/log_client.c:275 #, c-format msgid "unable to load private key %s" msgstr "Laden des privaten Schlüssels »%s« fehlgeschlagen" -#: plugins/sudoers/log_client.c:275 +#: plugins/sudoers/log_client.c:284 #, c-format msgid "Unable to allocate ssl object: %s" msgstr "Kann kein SSL-Objekt anlegen: %s" -#: plugins/sudoers/log_client.c:364 plugins/sudoers/log_client.c:369 +#: plugins/sudoers/log_client.c:373 plugins/sudoers/log_client.c:378 #, c-format msgid "TLS connection to %s:%s failed: %s" msgstr "TLS Verbindung zu %s:%s fehlgeschlagen: %s" -#: plugins/sudoers/log_client.c:545 +#: plugins/sudoers/log_client.c:554 msgid "TLS initialization was unsuccessful" msgstr "TLS Initialisierung war nicht erfolgreich" -#: plugins/sudoers/log_client.c:555 +#: plugins/sudoers/log_client.c:564 msgid "TLS handshake was unsuccessful" msgstr "TLS Handshake war nicht erfolgreich" -#: plugins/sudoers/log_client.c:1221 +#: plugins/sudoers/log_client.c:1244 #, c-format msgid "%s: internal error, invalid exit status %d" msgstr "%s: Interner Fehler, ungültiger Exit-Status %d" -#: plugins/sudoers/log_client.c:1757 plugins/sudoers/log_client.c:1782 +#: plugins/sudoers/log_client.c:1780 plugins/sudoers/log_client.c:1805 msgid "lost connection to log server" msgstr "Verbindung zum Logserver verloren" -#: plugins/sudoers/log_client.c:1859 +#: plugins/sudoers/log_client.c:1882 msgid "missing write buffer" msgstr "Schreib-Puffer fehlt" -#: plugins/sudoers/log_client.c:2015 +#: plugins/sudoers/log_client.c:2040 msgid "unable to connect to log server" msgstr "Verbindung zum Logserver kann nicht aufgebaut werden" @@ -2957,44 +2969,57 @@ msgid "user NOT authorized on host" msgstr "Der Benutzer ist NICHT auf dem Rechner autorisiert" #: plugins/sudoers/logging.c:299 +msgid "setid command rejected in intercept mode" +msgstr "setid Kommand verweigert im Intercept Modus" + +#: plugins/sudoers/logging.c:301 msgid "command not allowed" msgstr "Der Befehl ist nicht erlaubt" -#: plugins/sudoers/logging.c:320 +#: plugins/sudoers/logging.c:322 #, 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:323 +#: plugins/sudoers/logging.c:325 #, 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:326 +#: plugins/sudoers/logging.c:328 plugins/sudoers/parser_warnx.c:59 +#, c-format +msgid "%s: %s\n" +msgstr "%s: %s\n" + +#: plugins/sudoers/logging.c:329 +msgid "setid commands are not permitted in intercept mode" +msgstr "setid Commandos sind im Intercept Modus nicht erlaubt" + +#: plugins/sudoers/logging.c:331 #, 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:339 +#: plugins/sudoers/logging.c:344 #, c-format msgid "Sorry, user %s is not allowed to execute '%s%s%s%s' as %s%s%s on %s.\n" msgstr "Leider darf der Benutzer %s »%s%s%s%s« als %s%s%s auf %s nicht ausführen.\n" -#: plugins/sudoers/logging.c:350 +#: plugins/sudoers/logging.c:358 msgid "This incident has been reported to the administrator.\n" msgstr "Dieser Vorfall wurde an den Administrator gemeldet.\n" -#: plugins/sudoers/logging.c:387 plugins/sudoers/sudoers.c:547 -#: plugins/sudoers/sudoers.c:549 plugins/sudoers/sudoers.c:551 -#: plugins/sudoers/sudoers.c:553 plugins/sudoers/sudoers.c:777 -#: plugins/sudoers/sudoers.c:779 +#: plugins/sudoers/logging.c:395 plugins/sudoers/sudoers.c:564 +#: plugins/sudoers/sudoers.c:566 plugins/sudoers/sudoers.c:568 +#: plugins/sudoers/sudoers.c:570 plugins/sudoers/sudoers.c:794 +#: plugins/sudoers/sudoers.c:796 #, c-format msgid "%s: command not found" msgstr "%s: Befehl nicht gefunden" -#: plugins/sudoers/logging.c:389 plugins/sudoers/sudoers.c:543 +#: plugins/sudoers/logging.c:397 plugins/sudoers/sudoers.c:560 #, c-format msgid "" "ignoring \"%s\" found in '.'\n" @@ -3003,31 +3028,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:409 +#: plugins/sudoers/logging.c:417 #, 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:500 +#: plugins/sudoers/logging.c:508 msgid "authentication failure" msgstr "Fehler bei der Authentifizierung" -#: plugins/sudoers/logging.c:539 plugins/sudoers/logging.c:558 +#: plugins/sudoers/logging.c:552 plugins/sudoers/logging.c:571 msgid "a password is required" msgstr "Ein Passwort ist notwendig" -#: plugins/sudoers/logging.c:881 +#: plugins/sudoers/logging.c:889 msgid "problem parsing sudoers" msgstr "Problem beim Auswerten der sudoers-Datei" -#: plugins/sudoers/logging.c:922 plugins/sudoers/logging.c:930 +#: plugins/sudoers/logging.c:930 plugins/sudoers/logging.c:938 #, c-format msgid "%s:%d:%d: %s" msgstr "%s:%d:%d: %s" -#: plugins/sudoers/logging.c:1108 +#: plugins/sudoers/logging.c:1119 #, c-format msgid "unable to write log file %s" msgstr "In die Logdatei %s kann nicht geschrieben werden" @@ -3057,11 +3082,6 @@ msgstr "Ungültiges LDIF-Attribut: %s" msgid "%s:%d:%d: %s\n" msgstr "%s:%d:%d: %s\n" -#: plugins/sudoers/parser_warnx.c:59 -#, c-format -msgid "%s: %s\n" -msgstr "%s: %s\n" - #: plugins/sudoers/pivot.c:71 msgid "unable to restore root directory" msgstr "Das Wurzelverzeichnis kann nicht wieder eingestellt werden" @@ -3075,59 +3095,59 @@ msgstr "Das aktuelle Arbeitsverzeichnis kann nicht wieder eingerichtet werden" msgid "invalid %.*s set by sudo front-end" msgstr "ungültige Option »%.*s« durch das sudo-Frontend angegeben" -#: plugins/sudoers/policy.c:364 plugins/sudoers/testsudoers.c:329 +#: plugins/sudoers/policy.c:347 plugins/sudoers/testsudoers.c:329 msgid "unable to parse network address list" msgstr "Die Netzwerkadressliste kann nicht eingelesen werden" -#: plugins/sudoers/policy.c:556 +#: plugins/sudoers/policy.c:555 msgid "user name not set by sudo front-end" msgstr "Benutzername nicht durch das sudo-Frontend angegeben" -#: plugins/sudoers/policy.c:560 +#: plugins/sudoers/policy.c:559 msgid "user-ID not set by sudo front-end" msgstr "User-ID nicht durch das sudo-Frontend angegeben" -#: plugins/sudoers/policy.c:564 +#: plugins/sudoers/policy.c:563 msgid "group-ID not set by sudo front-end" msgstr "Gruppen-ID nicht durch das sudo-Frontend angegeben" -#: plugins/sudoers/policy.c:568 +#: plugins/sudoers/policy.c:567 msgid "host name not set by sudo front-end" msgstr "Hostname nicht durch das sudo-Frontend angegeben" -#: plugins/sudoers/policy.c:757 +#: plugins/sudoers/policy.c:765 #, c-format msgid "invalid working directory: %s" msgstr "Ungültiges Arbeitsverzeichnis: %s" -#: plugins/sudoers/policy.c:944 +#: plugins/sudoers/policy.c:952 #, c-format msgid "invalid chroot directory: %s" msgstr "Ungültiges »chroot« Verzeichnis: %s" -#: plugins/sudoers/policy.c:1153 plugins/sudoers/visudo.c:919 +#: plugins/sudoers/policy.c:1163 plugins/sudoers/visudo.c:919 #: plugins/sudoers/visudo.c:1218 #, c-format msgid "unable to execute %s" msgstr "%s kann nicht ausgeführt werden" -#: plugins/sudoers/policy.c:1225 plugins/sudoers/policy.c:1260 -#: plugins/sudoers/policy.c:1282 plugins/sudoers/policy.c:1300 +#: plugins/sudoers/policy.c:1232 plugins/sudoers/policy.c:1267 +#: plugins/sudoers/policy.c:1289 plugins/sudoers/policy.c:1307 #, 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:1323 +#: plugins/sudoers/policy.c:1330 #, c-format msgid "Sudoers policy plugin version %s\n" msgstr "Sudoers-Policy-Plugin Version %s\n" -#: plugins/sudoers/policy.c:1325 +#: plugins/sudoers/policy.c:1332 #, c-format msgid "Sudoers file grammar version %d\n" msgstr "Sudoers-Datei-Grammatik-Version %d\n" -#: plugins/sudoers/policy.c:1329 +#: plugins/sudoers/policy.c:1336 #, c-format msgid "" "\n" @@ -3136,27 +3156,27 @@ msgstr "" "\n" "Sudoers-Pfad: %s\n" -#: plugins/sudoers/policy.c:1332 +#: plugins/sudoers/policy.c:1339 #, c-format msgid "nsswitch path: %s\n" msgstr "nsswitch-Pfad: %s\n" -#: plugins/sudoers/policy.c:1335 +#: plugins/sudoers/policy.c:1342 #, c-format msgid "ldap.conf path: %s\n" msgstr "ldap.conf-Pfad: %s\n" -#: plugins/sudoers/policy.c:1337 +#: plugins/sudoers/policy.c:1344 #, c-format msgid "ldap.secret path: %s\n" msgstr "ldap.secret-Pfad: %s\n" -#: plugins/sudoers/policy.c:1370 +#: plugins/sudoers/policy.c:1377 #, 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:1388 +#: plugins/sudoers/policy.c:1395 #, 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)" @@ -3203,24 +3223,24 @@ msgstr "Die Gruppe %s kann nicht zwischengespeichert werden" msgid "unable to cache group %s, already exists" msgstr "Die Gruppe %s kann nicht in den Zwischenspeicher aufgenommen werden, sie existiert bereits" -#: plugins/sudoers/pwutil.c:900 plugins/sudoers/pwutil.c:985 -#: plugins/sudoers/pwutil.c:1039 plugins/sudoers/pwutil.c:1095 +#: plugins/sudoers/pwutil.c:900 plugins/sudoers/pwutil.c:988 +#: plugins/sudoers/pwutil.c:1042 plugins/sudoers/pwutil.c:1101 #, c-format msgid "unable to cache group list for %s, already exists" msgstr "Die Gruppen-Liste für %s kann nicht in den Zwischenspeicher aufgenommen werden, sie existiert bereits" -#: plugins/sudoers/pwutil.c:906 plugins/sudoers/pwutil.c:990 -#: plugins/sudoers/pwutil.c:1045 plugins/sudoers/pwutil.c:1100 +#: plugins/sudoers/pwutil.c:906 plugins/sudoers/pwutil.c:993 +#: plugins/sudoers/pwutil.c:1048 plugins/sudoers/pwutil.c:1106 #, c-format msgid "unable to cache group list for %s" msgstr "Die Gruppenliste für %s können nicht zwischengespeichert werden" -#: plugins/sudoers/pwutil.c:979 +#: plugins/sudoers/pwutil.c:982 #, c-format msgid "unable to parse groups for %s" msgstr "Die Gruppen für %s können nicht eingelesen werden" -#: plugins/sudoers/pwutil.c:1089 +#: plugins/sudoers/pwutil.c:1095 #, c-format msgid "unable to parse gids for %s" msgstr "Die Gruppen für %s können nicht geparst werden" @@ -3349,82 +3369,82 @@ msgstr "Der Benutzer darf das Verzeichnis nicht auf %s ändern" 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:542 +#: plugins/sudoers/sudoers.c:559 msgid "command in current directory" msgstr "Befehl ist im aktuellen Verzeichnis" -#: plugins/sudoers/sudoers.c:557 +#: plugins/sudoers/sudoers.c:574 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:559 +#: plugins/sudoers/sudoers.c:576 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:561 +#: plugins/sudoers/sudoers.c:578 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:570 +#: plugins/sudoers/sudoers.c:587 msgid "user not allowed to set a command timeout" msgstr "Der Benutzer darf keinen Kommand-Timeout angeben" -#: plugins/sudoers/sudoers.c:572 +#: plugins/sudoers/sudoers.c:589 msgid "sorry, you are not allowed set a command timeout" msgstr "Sie dürfen keinen Timeout angeben" -#: plugins/sudoers/sudoers.c:580 +#: plugins/sudoers/sudoers.c:597 msgid "user not allowed to preserve the environment" msgstr "Der Benutzer darf das Environment nicht erhalten" -#: plugins/sudoers/sudoers.c:582 +#: plugins/sudoers/sudoers.c:599 msgid "sorry, you are not allowed to preserve the environment" msgstr "Sie dürfen das Environment nicht erhalten" -#: plugins/sudoers/sudoers.c:618 +#: plugins/sudoers/sudoers.c:635 msgid "no command specified" msgstr "Kein Kommando angegeben" -#: plugins/sudoers/sudoers.c:759 +#: plugins/sudoers/sudoers.c:776 msgid "error setting user-specified environment variables" msgstr "Fehler beim Setzen benutzerspezidischer Umgebungsvariablen" -#: plugins/sudoers/sudoers.c:1211 +#: plugins/sudoers/sudoers.c:1229 msgid "sudoedit doesn't need to be run via sudo" msgstr "»sudoedit« muss nicht mittels »sudo« aufgerufen werden" -#: plugins/sudoers/sudoers.c:1296 plugins/sudoers/sudoreplay.c:1613 -#: plugins/sudoers/tsdump.c:138 +#: plugins/sudoers/sudoers.c:1314 plugins/sudoers/sudoreplay.c:1615 +#: plugins/sudoers/tsdump.c:151 #, c-format msgid "unable to read %s" msgstr "Die Datei »%s« kann nicht gelesen werden" -#: plugins/sudoers/sudoers.c:1321 plugins/sudoers/visudo.c:1123 +#: plugins/sudoers/sudoers.c:1339 plugins/sudoers/visudo.c:1123 #, c-format msgid "%s is not a regular file" msgstr "%s ist keine reguläre Datei" -#: plugins/sudoers/sudoers.c:1325 plugins/sudoers/timestamp.c:272 toke.l:1355 +#: plugins/sudoers/sudoers.c:1343 plugins/sudoers/timestamp.c:272 toke.l:1335 #, 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:1330 plugins/sudoers/timestamp.c:279 toke.l:1360 +#: plugins/sudoers/sudoers.c:1348 plugins/sudoers/timestamp.c:279 toke.l:1340 #, c-format msgid "%s is world writable" msgstr "%s ist für alle beschreibbar (world writable)" -#: plugins/sudoers/sudoers.c:1334 plugins/sudoers/timestamp.c:284 toke.l:1363 +#: plugins/sudoers/sudoers.c:1352 plugins/sudoers/timestamp.c:284 toke.l:1343 #, 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:1363 +#: plugins/sudoers/sudoers.c:1381 #, c-format msgid "only root can use \"-c %s\"" msgstr "Nur root kann »-c %s« verwenden" -#: plugins/sudoers/sudoers.c:1382 +#: plugins/sudoers/sudoers.c:1400 #, c-format msgid "unknown login class %s" msgstr "Unbekannte Anmeldeklasse »%s«" @@ -3469,75 +3489,75 @@ msgstr "%s/Zeit: %s" msgid "Replaying sudo session: %s" msgstr "Sudo-Sitzung wird abgespielt: %s" -#: plugins/sudoers/sudoreplay.c:634 +#: plugins/sudoers/sudoreplay.c:633 plugins/sudoers/sudoreplay.c:636 msgid "unable to set tty to raw mode" msgstr "TTY konnte nicht in den Raw-Modus versetzt werden" -#: plugins/sudoers/sudoreplay.c:685 +#: plugins/sudoers/sudoreplay.c:687 msgid "Warning: your terminal is too small to properly replay the log." msgstr "Warnung: Ihr Terminal ist zu klein, um das Protokoll korrekt wiederzugeben." -#: plugins/sudoers/sudoreplay.c:686 +#: plugins/sudoers/sudoreplay.c:688 #, c-format msgid "Log geometry is %d x %d, your terminal's geometry is %d x %d." msgstr "Protokollgeometrie ist %d x %d, die Geometrie Ihres Terminals ist %d x %d." -#: plugins/sudoers/sudoreplay.c:714 +#: plugins/sudoers/sudoreplay.c:716 msgid "Replay finished, press any key to restore the terminal." msgstr "Wiedergabe beendet, eine Taste drücken um das Terminal wiederherzustellen." -#: plugins/sudoers/sudoreplay.c:1217 plugins/sudoers/sudoreplay.c:1247 +#: plugins/sudoers/sudoreplay.c:1219 plugins/sudoers/sudoreplay.c:1249 #, c-format msgid "ambiguous expression \"%s\"" msgstr "Mehrdeutiger Ausdruck »%s«" -#: plugins/sudoers/sudoreplay.c:1269 +#: plugins/sudoers/sudoreplay.c:1271 msgid "unmatched ')' in expression" msgstr "»)« ohne öffnende Klammer im Ausdruck" -#: plugins/sudoers/sudoreplay.c:1273 +#: plugins/sudoers/sudoreplay.c:1275 #, c-format msgid "unknown search term \"%s\"" msgstr "Unbekannter Suchbegriff »%s«" -#: plugins/sudoers/sudoreplay.c:1288 +#: plugins/sudoers/sudoreplay.c:1290 #, c-format msgid "%s requires an argument" msgstr "%s erfordert ein Argument" -#: plugins/sudoers/sudoreplay.c:1298 +#: plugins/sudoers/sudoreplay.c:1300 #, c-format msgid "could not parse date \"%s\"" msgstr "Datum »%s« konnte nicht analysiert werden" -#: plugins/sudoers/sudoreplay.c:1307 +#: plugins/sudoers/sudoreplay.c:1309 msgid "unmatched '(' in expression" msgstr "»(« ohne schließende Klammer im Ausdruck" -#: plugins/sudoers/sudoreplay.c:1309 +#: plugins/sudoers/sudoreplay.c:1311 msgid "illegal trailing \"or\"" msgstr "Ungültiges nachgestelltes »or«" -#: plugins/sudoers/sudoreplay.c:1311 +#: plugins/sudoers/sudoreplay.c:1313 msgid "illegal trailing \"!\"" msgstr "Ungültiges nachgestelltes »!«" -#: plugins/sudoers/sudoreplay.c:1417 +#: plugins/sudoers/sudoreplay.c:1419 #, c-format msgid "unknown search type %d" msgstr "Unbekannter Suchtyp %d" -#: plugins/sudoers/sudoreplay.c:1679 +#: plugins/sudoers/sudoreplay.c:1681 #, 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:1681 +#: plugins/sudoers/sudoreplay.c:1683 #, 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:1695 +#: plugins/sudoers/sudoreplay.c:1697 #, c-format msgid "" "%s - replay sudo session logs\n" @@ -3546,7 +3566,7 @@ msgstr "" "%s – sudo-Sitzungsprotokolle abspielen\n" "\n" -#: plugins/sudoers/sudoreplay.c:1697 +#: plugins/sudoers/sudoreplay.c:1699 msgid "" "\n" "Options:\n" @@ -3628,26 +3648,26 @@ msgstr "" "\n" "Befehl nicht erkannt" -#: plugins/sudoers/timestamp.c:364 plugins/sudoers/timestamp.c:711 +#: plugins/sudoers/timestamp.c:364 plugins/sudoers/timestamp.c:714 #, 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:908 +#: plugins/sudoers/timestamp.c:911 msgid "ignoring time stamp from the future" msgstr "Zeitstempel aus der Zukunft wird ignoriert" -#: plugins/sudoers/timestamp.c:931 +#: plugins/sudoers/timestamp.c:934 #, 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:1067 +#: plugins/sudoers/timestamp.c:1070 #, c-format msgid "unable to lock time stamp file %s" msgstr "Die Zeitstempeldatei »%s« kann nicht gesperrt werden" -#: plugins/sudoers/timestamp.c:1114 +#: plugins/sudoers/timestamp.c:1117 #, c-format msgid "%s:%d:%d timestampowner: unknown user %s" msgstr "%s:%d:%d: timstampowner: unbekannter Benutzer »%s«" @@ -3850,18 +3870,18 @@ msgstr "Ungültiger Zeilenfortsetzung" msgid "invalid IPv6 address" msgstr "Ungültiges IPv6 Adresse: %s" -#: toke.l:863 +#: toke.l:843 msgid "unexpected line break in string" msgstr "unerwarteter Zeilenumbruch in Zeichenkette" -#: toke.l:982 +#: toke.l:962 msgid "ignoring editor backup file" msgstr "Ignoriere die Backup Datei des Editors" -#: toke.l:985 +#: toke.l:965 msgid "ignoring file name containing '.'" msgstr "Ignoriere Dateiname mit '.'" -#: toke.l:1310 +#: toke.l:1290 msgid "too many levels of includes" msgstr "Zu viele geschachtelte include-Einträge" diff --git a/plugins/sudoers/po/eo.mo b/plugins/sudoers/po/eo.mo index f2a75c643..169571a9d 100644 Binary files a/plugins/sudoers/po/eo.mo and b/plugins/sudoers/po/eo.mo differ diff --git a/plugins/sudoers/po/eo.po b/plugins/sudoers/po/eo.po index 26f8085a8..ac2ce9d0d 100644 --- a/plugins/sudoers/po/eo.po +++ b/plugins/sudoers/po/eo.po @@ -1,14 +1,14 @@ # Esperanto translations for sudo package. # This file is distributed under the same license as the sudo package. -# Keith Bowes , 2012, 2019-2023. +# Keith Bowes , 2012, 2019-2024. # Felipe Castro , 2013, 2014, 2015, 2016, 2017, 2018, 2019. # msgid "" msgstr "" -"Project-Id-Version: sudoers 1.9.15b1\n" +"Project-Id-Version: sudoers 1.9.16b1\n" "Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n" -"POT-Creation-Date: 2023-10-19 10:02-0600\n" -"PO-Revision-Date: 2023-10-22 12:12-0400\n" +"POT-Creation-Date: 2024-06-08 09:06-0600\n" +"PO-Revision-Date: 2024-06-16 13:37-0400\n" "Last-Translator: Keith Bowes \n" "Language-Team: Esperanto \n" "Language: eo\n" @@ -19,7 +19,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 2.0.7\n" -#: confstr.sh:1 gram.y:1257 plugins/sudoers/logging.c:911 +#: confstr.sh:1 gram.y:1240 plugins/sudoers/logging.c:919 msgid "syntax error" msgstr "sintaksa eraro" @@ -44,16 +44,16 @@ msgid "Sorry, try again." msgstr "Malĝuste, reprovu." #: gram.y:238 gram.y:305 gram.y:314 gram.y:323 gram.y:333 gram.y:343 gram.y:367 -#: gram.y:394 gram.y:403 gram.y:411 gram.y:420 gram.y:429 gram.y:503 gram.y:513 -#: gram.y:525 gram.y:573 gram.y:582 gram.y:591 gram.y:600 gram.y:733 gram.y:742 -#: gram.y:757 gram.y:777 gram.y:796 gram.y:959 gram.y:964 gram.y:972 gram.y:986 -#: gram.y:992 gram.y:1004 gram.y:1010 gram.y:1135 gram.y:1144 gram.y:1152 -#: gram.y:1161 gram.y:1170 gram.y:1199 gram.y:1208 gram.y:1216 gram.y:1317 -#: gram.y:1447 gram.y:1829 gram.y:1840 gram.y:1922 lib/eventlog/eventlog.c:236 -#: lib/eventlog/eventlog.c:313 lib/eventlog/eventlog.c:765 -#: lib/eventlog/eventlog.c:842 lib/eventlog/eventlog.c:1175 -#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:484 -#: lib/eventlog/parse_json.c:514 lib/iolog/iolog_filter.c:142 +#: gram.y:394 gram.y:403 gram.y:411 gram.y:420 gram.y:429 gram.y:502 gram.y:512 +#: gram.y:524 gram.y:566 gram.y:575 gram.y:584 gram.y:593 gram.y:726 gram.y:735 +#: gram.y:750 gram.y:770 gram.y:789 gram.y:942 gram.y:947 gram.y:955 gram.y:969 +#: gram.y:975 gram.y:987 gram.y:993 gram.y:1118 gram.y:1127 gram.y:1135 +#: gram.y:1144 gram.y:1153 gram.y:1182 gram.y:1191 gram.y:1199 gram.y:1300 +#: gram.y:1430 gram.y:1811 gram.y:1822 gram.y:1898 lib/eventlog/eventlog.c:236 +#: lib/eventlog/eventlog.c:313 lib/eventlog/eventlog.c:778 +#: lib/eventlog/eventlog.c:855 lib/eventlog/eventlog.c:1189 +#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:501 +#: lib/eventlog/parse_json.c:531 lib/iolog/iolog_filter.c:142 #: lib/iolog/iolog_filter.c:202 lib/iolog/iolog_filter.c:233 #: lib/iolog/iolog_legacy.c:101 lib/iolog/iolog_legacy.c:112 #: lib/iolog/iolog_legacy.c:124 lib/iolog/iolog_legacy.c:134 @@ -64,13 +64,13 @@ msgstr "Malĝuste, reprovu." #: logsrvd/iolog_writer.c:218 logsrvd/iolog_writer.c:228 #: logsrvd/iolog_writer.c:257 logsrvd/iolog_writer.c:278 #: logsrvd/iolog_writer.c:290 logsrvd/iolog_writer.c:300 -#: logsrvd/iolog_writer.c:310 logsrvd/iolog_writer.c:320 -#: logsrvd/iolog_writer.c:330 logsrvd/iolog_writer.c:342 -#: logsrvd/iolog_writer.c:377 logsrvd/iolog_writer.c:383 -#: logsrvd/iolog_writer.c:390 logsrvd/iolog_writer.c:396 -#: logsrvd/iolog_writer.c:580 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:323 -#: logsrvd/logsrvd.c:1057 logsrvd/logsrvd.c:1120 logsrvd/logsrvd.c:1589 -#: logsrvd/logsrvd.c:1594 logsrvd/logsrvd.c:1781 logsrvd/logsrvd.c:2003 +#: logsrvd/iolog_writer.c:318 logsrvd/iolog_writer.c:328 +#: logsrvd/iolog_writer.c:338 logsrvd/iolog_writer.c:350 +#: logsrvd/iolog_writer.c:385 logsrvd/iolog_writer.c:391 +#: logsrvd/iolog_writer.c:398 logsrvd/iolog_writer.c:404 +#: logsrvd/iolog_writer.c:588 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:324 +#: logsrvd/logsrvd.c:1058 logsrvd/logsrvd.c:1121 logsrvd/logsrvd.c:1599 +#: logsrvd/logsrvd.c:1604 logsrvd/logsrvd.c:1791 logsrvd/logsrvd.c:2046 #: 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 @@ -78,11 +78,11 @@ msgstr "Malĝuste, reprovu." #: 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_conf.c:829 logsrvd/logsrvd_conf.c:1041 +#: logsrvd/logsrvd_conf.c:1058 logsrvd/logsrvd_conf.c:1453 +#: logsrvd/logsrvd_conf.c:1600 logsrvd/logsrvd_conf.c:1626 +#: logsrvd/logsrvd_conf.c:1638 logsrvd/logsrvd_conf.c:1645 +#: logsrvd/logsrvd_conf.c:1651 logsrvd/logsrvd_conf.c:1748 #: logsrvd/logsrvd_journal.c:76 logsrvd/logsrvd_journal.c:216 #: logsrvd/logsrvd_journal.c:217 logsrvd/logsrvd_journal.c:274 #: logsrvd/logsrvd_journal.c:279 logsrvd/logsrvd_journal.c:439 @@ -95,10 +95,10 @@ msgstr "Malĝuste, reprovu." #: logsrvd/logsrvd_queue.c:266 logsrvd/logsrvd_relay.c:446 #: logsrvd/logsrvd_relay.c:748 logsrvd/logsrvd_relay.c:855 #: logsrvd/sendlog.c:256 logsrvd/sendlog.c:265 logsrvd/sendlog.c:297 -#: logsrvd/sendlog.c:303 logsrvd/sendlog.c:352 logsrvd/sendlog.c:630 -#: logsrvd/sendlog.c:1822 plugins/sudoers/audit.c:118 -#: plugins/sudoers/auth/bsdauth.c:154 plugins/sudoers/auth/kerb5.c:122 -#: plugins/sudoers/auth/kerb5.c:150 plugins/sudoers/auth/pam.c:697 +#: logsrvd/sendlog.c:303 logsrvd/sendlog.c:352 logsrvd/sendlog.c:651 +#: logsrvd/sendlog.c:1847 plugins/sudoers/audit.c:118 +#: plugins/sudoers/auth/bsdauth.c:154 plugins/sudoers/auth/kerb5.c:123 +#: plugins/sudoers/auth/kerb5.c:151 plugins/sudoers/auth/pam.c:697 #: plugins/sudoers/auth/rfc1938.c:112 plugins/sudoers/auth/sia.c:61 #: plugins/sudoers/canon_path.c:129 plugins/sudoers/canon_path.c:161 #: plugins/sudoers/check_aliases.c:128 plugins/sudoers/check_util.c:56 @@ -108,33 +108,30 @@ msgstr "Malĝuste, reprovu." #: plugins/sudoers/cvtsudoers.c:379 plugins/sudoers/cvtsudoers.c:399 #: plugins/sudoers/cvtsudoers.c:545 plugins/sudoers/cvtsudoers.c:698 #: plugins/sudoers/cvtsudoers.c:716 plugins/sudoers/cvtsudoers.c:891 -#: plugins/sudoers/cvtsudoers.c:899 plugins/sudoers/cvtsudoers.c:1395 -#: plugins/sudoers/cvtsudoers.c:1399 plugins/sudoers/cvtsudoers.c:1501 -#: plugins/sudoers/cvtsudoers_csv.c:183 plugins/sudoers/cvtsudoers_csv.c:247 -#: plugins/sudoers/cvtsudoers_json.c:76 plugins/sudoers/cvtsudoers_ldif.c:152 -#: plugins/sudoers/cvtsudoers_ldif.c:195 plugins/sudoers/cvtsudoers_ldif.c:236 -#: plugins/sudoers/cvtsudoers_ldif.c:302 plugins/sudoers/cvtsudoers_ldif.c:378 -#: plugins/sudoers/cvtsudoers_ldif.c:432 plugins/sudoers/cvtsudoers_ldif.c:440 -#: plugins/sudoers/cvtsudoers_ldif.c:451 plugins/sudoers/cvtsudoers_ldif.c:458 -#: plugins/sudoers/cvtsudoers_ldif.c:470 plugins/sudoers/cvtsudoers_ldif.c:483 -#: plugins/sudoers/cvtsudoers_ldif.c:491 plugins/sudoers/cvtsudoers_ldif.c:638 -#: 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:455 -#: plugins/sudoers/defaults.c:689 plugins/sudoers/defaults.c:1051 -#: plugins/sudoers/defaults.c:1235 plugins/sudoers/editor.c:198 -#: plugins/sudoers/env.c:263 plugins/sudoers/exptilde.c:92 +#: plugins/sudoers/cvtsudoers.c:899 plugins/sudoers/cvtsudoers.c:1393 +#: plugins/sudoers/cvtsudoers.c:1397 plugins/sudoers/cvtsudoers.c:1497 +#: plugins/sudoers/cvtsudoers_csv.c:182 plugins/sudoers/cvtsudoers_csv.c:255 +#: plugins/sudoers/cvtsudoers_json.c:604 plugins/sudoers/cvtsudoers_json.c:639 +#: plugins/sudoers/cvtsudoers_json.c:1016 +#: plugins/sudoers/cvtsudoers_json.c:1041 plugins/sudoers/cvtsudoers_ldif.c:112 +#: plugins/sudoers/cvtsudoers_ldif.c:144 plugins/sudoers/cvtsudoers_ldif.c:260 +#: plugins/sudoers/cvtsudoers_ldif.c:573 plugins/sudoers/cvtsudoers_ldif.c:586 +#: plugins/sudoers/cvtsudoers_ldif.c:591 plugins/sudoers/cvtsudoers_ldif.c:761 +#: plugins/sudoers/cvtsudoers_merge.c:57 plugins/sudoers/cvtsudoers_merge.c:357 +#: plugins/sudoers/cvtsudoers_merge.c:405 +#: plugins/sudoers/cvtsudoers_merge.c:454 +#: plugins/sudoers/cvtsudoers_merge.c:476 +#: plugins/sudoers/cvtsudoers_merge.c:588 +#: plugins/sudoers/cvtsudoers_merge.c:664 +#: plugins/sudoers/cvtsudoers_merge.c:1197 +#: plugins/sudoers/cvtsudoers_merge.c:1281 plugins/sudoers/defaults.c:455 +#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1062 +#: plugins/sudoers/defaults.c:1248 plugins/sudoers/editor.c:198 +#: plugins/sudoers/env.c:280 plugins/sudoers/exptilde.c:92 #: plugins/sudoers/filedigest.c:66 plugins/sudoers/filedigest.c:70 #: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:212 -#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268 -#: plugins/sudoers/iolog.c:675 plugins/sudoers/iolog.c:703 +#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:270 +#: plugins/sudoers/iolog.c:683 plugins/sudoers/iolog.c:711 #: plugins/sudoers/ldap.c:161 plugins/sudoers/ldap.c:448 #: plugins/sudoers/ldap.c:625 plugins/sudoers/ldap.c:789 #: plugins/sudoers/ldap.c:1214 plugins/sudoers/ldap.c:1642 @@ -144,23 +141,23 @@ msgstr "Malĝuste, reprovu." #: plugins/sudoers/ldap_conf.c:299 plugins/sudoers/ldap_conf.c:335 #: plugins/sudoers/ldap_conf.c:441 plugins/sudoers/ldap_conf.c:456 #: plugins/sudoers/ldap_conf.c:565 plugins/sudoers/ldap_conf.c:598 -#: plugins/sudoers/ldap_conf.c:694 plugins/sudoers/ldap_conf.c:776 +#: plugins/sudoers/ldap_conf.c:696 plugins/sudoers/ldap_conf.c:778 #: 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:717 plugins/sudoers/log_client.c:739 -#: plugins/sudoers/log_client.c:744 plugins/sudoers/log_client.c:1426 -#: plugins/sudoers/log_client.c:1547 plugins/sudoers/log_client.c:1670 -#: plugins/sudoers/log_client.c:1993 plugins/sudoers/log_client.c:2052 +#: plugins/sudoers/ldap_util.c:615 plugins/sudoers/linux_audit.c:86 +#: plugins/sudoers/log_client.c:117 plugins/sudoers/log_client.c:411 +#: plugins/sudoers/log_client.c:726 plugins/sudoers/log_client.c:748 +#: plugins/sudoers/log_client.c:753 plugins/sudoers/log_client.c:1449 +#: plugins/sudoers/log_client.c:1570 plugins/sudoers/log_client.c:1693 +#: plugins/sudoers/log_client.c:2018 plugins/sudoers/log_client.c:2077 #: plugins/sudoers/logging.c:110 plugins/sudoers/logging.c:190 -#: plugins/sudoers/logging.c:475 plugins/sudoers/logging.c:711 -#: plugins/sudoers/logging.c:872 plugins/sudoers/lookup.c:338 -#: plugins/sudoers/lookup.c:355 plugins/sudoers/lookup.c:374 -#: plugins/sudoers/lookup.c:393 plugins/sudoers/lookup.c:410 -#: plugins/sudoers/lookup.c:433 plugins/sudoers/lookup.c:444 -#: plugins/sudoers/match_command.c:302 plugins/sudoers/match_command.c:574 -#: plugins/sudoers/match_command.c:641 plugins/sudoers/match_command.c:737 -#: plugins/sudoers/match_command.c:785 plugins/sudoers/match_digest.c:88 +#: plugins/sudoers/logging.c:483 plugins/sudoers/logging.c:723 +#: plugins/sudoers/logging.c:880 plugins/sudoers/lookup.c:331 +#: plugins/sudoers/lookup.c:348 plugins/sudoers/lookup.c:366 +#: plugins/sudoers/lookup.c:384 plugins/sudoers/lookup.c:401 +#: plugins/sudoers/lookup.c:423 plugins/sudoers/lookup.c:434 +#: plugins/sudoers/match_command.c:280 plugins/sudoers/match_command.c:544 +#: plugins/sudoers/match_command.c:608 plugins/sudoers/match_command.c:702 +#: plugins/sudoers/match_command.c:750 plugins/sudoers/match_digest.c:88 #: 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 @@ -171,107 +168,107 @@ msgstr "Malĝuste, reprovu." #: 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:646 plugins/sudoers/policy.c:1061 +#: plugins/sudoers/policy.c:654 plugins/sudoers/policy.c:1071 #: plugins/sudoers/prompt.c:94 plugins/sudoers/pwutil.c:219 #: plugins/sudoers/pwutil.c:290 plugins/sudoers/pwutil.c:368 #: plugins/sudoers/pwutil.c:542 plugins/sudoers/pwutil.c:607 #: plugins/sudoers/pwutil.c:679 plugins/sudoers/pwutil.c:877 -#: plugins/sudoers/pwutil.c:967 plugins/sudoers/pwutil.c:1015 -#: plugins/sudoers/pwutil.c:1076 plugins/sudoers/sethost.c:85 +#: plugins/sudoers/pwutil.c:970 plugins/sudoers/pwutil.c:1018 +#: plugins/sudoers/pwutil.c:1082 plugins/sudoers/sethost.c:89 #: plugins/sudoers/sssd.c:145 plugins/sudoers/sssd.c:186 #: plugins/sudoers/sssd.c:415 plugins/sudoers/sssd.c:480 #: plugins/sudoers/sssd.c:507 plugins/sudoers/sssd.c:570 #: plugins/sudoers/sssd.c:765 plugins/sudoers/strvec_join.c:53 #: plugins/sudoers/sudoers.c:405 plugins/sudoers/sudoers.c:412 -#: plugins/sudoers/sudoers.c:656 plugins/sudoers/sudoers.c:666 -#: plugins/sudoers/sudoers.c:811 plugins/sudoers/sudoers.c:877 -#: plugins/sudoers/sudoers.c:936 plugins/sudoers/sudoers.c:985 -#: plugins/sudoers/sudoers.c:1144 plugins/sudoers/sudoers.c:1213 -#: plugins/sudoers/sudoers.c:1307 plugins/sudoers/sudoers_cb.c:150 +#: plugins/sudoers/sudoers.c:673 plugins/sudoers/sudoers.c:683 +#: plugins/sudoers/sudoers.c:828 plugins/sudoers/sudoers.c:894 +#: plugins/sudoers/sudoers.c:953 plugins/sudoers/sudoers.c:1002 +#: plugins/sudoers/sudoers.c:1162 plugins/sudoers/sudoers.c:1231 +#: plugins/sudoers/sudoers.c:1325 plugins/sudoers/sudoers_cb.c:150 #: plugins/sudoers/sudoreplay.c:559 plugins/sudoers/sudoreplay.c:562 -#: plugins/sudoers/sudoreplay.c:1279 plugins/sudoers/sudoreplay.c:1335 -#: plugins/sudoers/sudoreplay.c:1531 plugins/sudoers/sudoreplay.c:1535 +#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1337 +#: plugins/sudoers/sudoreplay.c:1533 plugins/sudoers/sudoreplay.c:1537 #: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:256 #: plugins/sudoers/testsudoers.c:265 plugins/sudoers/testsudoers.c:275 #: plugins/sudoers/testsudoers.c:282 plugins/sudoers/testsudoers.c:302 -#: plugins/sudoers/testsudoers.c:758 plugins/sudoers/timestamp.c:469 -#: plugins/sudoers/timestamp.c:513 plugins/sudoers/timestamp.c:1042 -#: plugins/sudoers/timestamp.c:1216 plugins/sudoers/toke_util.c:79 +#: plugins/sudoers/testsudoers.c:756 plugins/sudoers/timestamp.c:468 +#: plugins/sudoers/timestamp.c:514 plugins/sudoers/timestamp.c:1045 +#: plugins/sudoers/timestamp.c:1248 plugins/sudoers/toke_util.c:79 #: plugins/sudoers/toke_util.c:108 plugins/sudoers/toke_util.c:134 #: plugins/sudoers/toke_util.c:164 plugins/sudoers/toke_util.c:204 -#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:151 +#: plugins/sudoers/tsdump.c:136 plugins/sudoers/visudo.c:151 #: plugins/sudoers/visudo.c:258 plugins/sudoers/visudo.c:383 #: plugins/sudoers/visudo.c:389 plugins/sudoers/visudo.c:501 #: plugins/sudoers/visudo.c:1073 plugins/sudoers/visudo.c:1095 -#: plugins/sudoers/visudo.c:1189 toke.l:1031 toke.l:1194 toke.l:1213 -#: toke.l:1240 toke.l:1320 +#: plugins/sudoers/visudo.c:1189 toke.l:1011 toke.l:1174 toke.l:1193 +#: toke.l:1220 toke.l:1300 msgid "unable to allocate memory" msgstr "ne eblas rezervi memoron" -#: gram.y:624 +#: gram.y:617 msgid "a digest requires a path name" msgstr "resumo postulas vojnomon" -#: gram.y:646 +#: gram.y:639 msgid "values for \"CWD\" must start with a '/', '~', or '*'" msgstr "valoroj por \"CWD\" devas komenciĝi per '/', '~' aŭ '*'" -#: gram.y:652 +#: gram.y:645 msgid "\"CWD\" path too long" msgstr "\"CWD\"-vojo tro grandas" -#: gram.y:662 +#: gram.y:655 msgid "values for \"CHROOT\" must start with a '/', '~', or '*'" msgstr "valoroj por \"CHROOT\" devas komenciĝi per '/', '~' aŭ '*'" -#: gram.y:668 +#: gram.y:661 msgid "\"CHROOT\" path too long" msgstr "\"CHROOT\"-vojo tro grandas" -#: gram.y:817 +#: gram.y:810 #, c-format msgid "syntax error, reserved word %s used as an alias name" msgstr "sintakseraro: rezervita vorto %s uzata kiel kromnomo" -#: gram.y:840 +#: gram.y:833 msgid "invalid notbefore value" msgstr "malvalida valoro notafter" -#: gram.y:849 +#: gram.y:842 msgid "invalid notafter value" msgstr "validiga valoro notafter" -#: gram.y:859 plugins/sudoers/policy.c:390 +#: gram.y:852 plugins/sudoers/policy.c:373 msgid "timeout value too large" msgstr "eksvalidiĝo-valoro tro grandas" -#: gram.y:861 plugins/sudoers/policy.c:392 +#: gram.y:854 plugins/sudoers/policy.c:375 msgid "invalid timeout value" msgstr "malvalida eksvalidiĝo-valoro" -#: gram.y:982 plugins/sudoers/sudoers.c:1162 +#: gram.y:965 plugins/sudoers/sudoers.c:1180 msgid "command too long" msgstr "komando tro longas" -#: gram.y:1016 +#: gram.y:999 msgid "expected a fully-qualified path name" msgstr "atendas tute kvalifikitan vojnomon" -#: gram.y:1261 +#: gram.y:1244 #, c-format msgid "%s:%d:%zu: %s\n" msgstr "%s:%d:%zu: %s\n" -#: gram.y:1315 +#: gram.y:1298 #, c-format msgid "Alias \"%s\" already defined" msgstr "Kromnomo \"%s\" jam ekzistas" -#: gram.y:1829 gram.y:1840 gram.y:1922 lib/eventlog/eventlog.c:236 -#: lib/eventlog/eventlog.c:765 lib/eventlog/eventlog.c:838 -#: lib/eventlog/eventlog.c:841 lib/eventlog/eventlog.c:1175 -#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:483 -#: lib/eventlog/parse_json.c:514 lib/iolog/iolog_filter.c:142 +#: gram.y:1811 gram.y:1822 gram.y:1898 lib/eventlog/eventlog.c:236 +#: lib/eventlog/eventlog.c:778 lib/eventlog/eventlog.c:851 +#: lib/eventlog/eventlog.c:854 lib/eventlog/eventlog.c:1189 +#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:500 +#: lib/eventlog/parse_json.c:531 lib/iolog/iolog_filter.c:142 #: lib/iolog/iolog_filter.c:202 lib/iolog/iolog_filter.c:232 #: lib/iolog/iolog_legacy.c:101 lib/iolog/iolog_legacy.c:112 #: lib/iolog/iolog_legacy.c:124 lib/iolog/iolog_legacy.c:134 @@ -284,16 +281,16 @@ msgstr "Kromnomo \"%s\" jam ekzistas" #: logsrvd/iolog_writer.c:246 logsrvd/iolog_writer.c:256 #: logsrvd/iolog_writer.c:267 logsrvd/iolog_writer.c:277 #: logsrvd/iolog_writer.c:289 logsrvd/iolog_writer.c:299 -#: logsrvd/iolog_writer.c:309 logsrvd/iolog_writer.c:319 -#: logsrvd/iolog_writer.c:329 logsrvd/iolog_writer.c:341 -#: logsrvd/iolog_writer.c:377 logsrvd/iolog_writer.c:383 -#: logsrvd/iolog_writer.c:390 logsrvd/iolog_writer.c:396 -#: logsrvd/iolog_writer.c:580 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:323 -#: logsrvd/logsrvd.c:461 logsrvd/logsrvd.c:498 logsrvd/logsrvd.c:530 -#: logsrvd/logsrvd.c:584 logsrvd/logsrvd.c:619 logsrvd/logsrvd.c:668 -#: logsrvd/logsrvd.c:704 logsrvd/logsrvd.c:740 logsrvd/logsrvd.c:1131 -#: logsrvd/logsrvd.c:1446 logsrvd/logsrvd.c:1453 logsrvd/logsrvd.c:1589 -#: logsrvd/logsrvd.c:1594 logsrvd/logsrvd.c:1781 logsrvd/logsrvd.c:2003 +#: logsrvd/iolog_writer.c:317 logsrvd/iolog_writer.c:327 +#: logsrvd/iolog_writer.c:337 logsrvd/iolog_writer.c:349 +#: logsrvd/iolog_writer.c:385 logsrvd/iolog_writer.c:391 +#: logsrvd/iolog_writer.c:398 logsrvd/iolog_writer.c:404 +#: logsrvd/iolog_writer.c:588 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:324 +#: logsrvd/logsrvd.c:462 logsrvd/logsrvd.c:499 logsrvd/logsrvd.c:531 +#: logsrvd/logsrvd.c:585 logsrvd/logsrvd.c:620 logsrvd/logsrvd.c:669 +#: logsrvd/logsrvd.c:705 logsrvd/logsrvd.c:741 logsrvd/logsrvd.c:1132 +#: logsrvd/logsrvd.c:1456 logsrvd/logsrvd.c:1463 logsrvd/logsrvd.c:1599 +#: logsrvd/logsrvd.c:1604 logsrvd/logsrvd.c:1791 logsrvd/logsrvd.c:2046 #: 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 @@ -301,11 +298,11 @@ msgstr "Kromnomo \"%s\" jam ekzistas" #: 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_conf.c:829 logsrvd/logsrvd_conf.c:1041 +#: logsrvd/logsrvd_conf.c:1058 logsrvd/logsrvd_conf.c:1453 +#: logsrvd/logsrvd_conf.c:1600 logsrvd/logsrvd_conf.c:1626 +#: logsrvd/logsrvd_conf.c:1638 logsrvd/logsrvd_conf.c:1645 +#: logsrvd/logsrvd_conf.c:1651 logsrvd/logsrvd_conf.c:1747 #: logsrvd/logsrvd_journal.c:76 logsrvd/logsrvd_journal.c:125 #: logsrvd/logsrvd_journal.c:216 logsrvd/logsrvd_journal.c:246 #: logsrvd/logsrvd_journal.c:250 logsrvd/logsrvd_journal.c:258 @@ -316,8 +313,8 @@ msgstr "Kromnomo \"%s\" jam ekzistas" #: logsrvd/logsrvd_queue.c:158 logsrvd/logsrvd_queue.c:189 #: logsrvd/logsrvd_queue.c:266 logsrvd/sendlog.c:256 logsrvd/sendlog.c:265 #: logsrvd/sendlog.c:297 logsrvd/sendlog.c:303 logsrvd/sendlog.c:352 -#: logsrvd/sendlog.c:630 logsrvd/sendlog.c:1523 logsrvd/sendlog.c:1530 -#: logsrvd/sendlog.c:1753 logsrvd/sendlog.c:1822 logsrvd/tls_init.c:305 +#: logsrvd/sendlog.c:651 logsrvd/sendlog.c:1548 logsrvd/sendlog.c:1555 +#: logsrvd/sendlog.c:1778 logsrvd/sendlog.c:1847 logsrvd/tls_init.c:305 #: logsrvd/tls_init.c:329 logsrvd/tls_init.c:340 plugins/sudoers/audit.c:118 #: plugins/sudoers/auth/pam.c:518 plugins/sudoers/auth/pam.c:697 #: plugins/sudoers/auth/rfc1938.c:112 plugins/sudoers/canon_path.c:129 @@ -328,34 +325,31 @@ msgstr "Kromnomo \"%s\" jam ekzistas" #: plugins/sudoers/cvtsudoers.c:337 plugins/sudoers/cvtsudoers.c:544 #: plugins/sudoers/cvtsudoers.c:697 plugins/sudoers/cvtsudoers.c:715 #: plugins/sudoers/cvtsudoers.c:891 plugins/sudoers/cvtsudoers.c:898 -#: plugins/sudoers/cvtsudoers.c:1395 plugins/sudoers/cvtsudoers.c:1399 -#: plugins/sudoers/cvtsudoers.c:1501 plugins/sudoers/cvtsudoers_csv.c:182 -#: plugins/sudoers/cvtsudoers_csv.c:246 plugins/sudoers/cvtsudoers_json.c:75 -#: plugins/sudoers/cvtsudoers_ldif.c:151 plugins/sudoers/cvtsudoers_ldif.c:194 -#: plugins/sudoers/cvtsudoers_ldif.c:235 plugins/sudoers/cvtsudoers_ldif.c:301 -#: plugins/sudoers/cvtsudoers_ldif.c:377 plugins/sudoers/cvtsudoers_ldif.c:431 -#: plugins/sudoers/cvtsudoers_ldif.c:439 plugins/sudoers/cvtsudoers_ldif.c:450 -#: plugins/sudoers/cvtsudoers_ldif.c:457 plugins/sudoers/cvtsudoers_ldif.c:469 -#: plugins/sudoers/cvtsudoers_ldif.c:482 plugins/sudoers/cvtsudoers_ldif.c:490 -#: plugins/sudoers/cvtsudoers_ldif.c:637 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:455 -#: plugins/sudoers/defaults.c:689 plugins/sudoers/defaults.c:1051 -#: plugins/sudoers/defaults.c:1235 plugins/sudoers/editor.c:198 -#: plugins/sudoers/env.c:263 plugins/sudoers/exptilde.c:92 +#: plugins/sudoers/cvtsudoers.c:1393 plugins/sudoers/cvtsudoers.c:1397 +#: plugins/sudoers/cvtsudoers.c:1497 plugins/sudoers/cvtsudoers_csv.c:182 +#: plugins/sudoers/cvtsudoers_csv.c:255 plugins/sudoers/cvtsudoers_json.c:604 +#: plugins/sudoers/cvtsudoers_json.c:639 plugins/sudoers/cvtsudoers_json.c:1016 +#: plugins/sudoers/cvtsudoers_json.c:1041 plugins/sudoers/cvtsudoers_ldif.c:112 +#: plugins/sudoers/cvtsudoers_ldif.c:144 plugins/sudoers/cvtsudoers_ldif.c:260 +#: plugins/sudoers/cvtsudoers_ldif.c:573 plugins/sudoers/cvtsudoers_ldif.c:586 +#: plugins/sudoers/cvtsudoers_ldif.c:591 plugins/sudoers/cvtsudoers_ldif.c:761 +#: plugins/sudoers/cvtsudoers_merge.c:57 plugins/sudoers/cvtsudoers_merge.c:357 +#: plugins/sudoers/cvtsudoers_merge.c:405 +#: plugins/sudoers/cvtsudoers_merge.c:453 +#: plugins/sudoers/cvtsudoers_merge.c:475 +#: plugins/sudoers/cvtsudoers_merge.c:583 +#: plugins/sudoers/cvtsudoers_merge.c:588 +#: plugins/sudoers/cvtsudoers_merge.c:661 +#: plugins/sudoers/cvtsudoers_merge.c:664 +#: plugins/sudoers/cvtsudoers_merge.c:1196 +#: plugins/sudoers/cvtsudoers_merge.c:1281 plugins/sudoers/defaults.c:455 +#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1062 +#: plugins/sudoers/defaults.c:1248 plugins/sudoers/editor.c:198 +#: plugins/sudoers/env.c:280 plugins/sudoers/exptilde.c:92 #: plugins/sudoers/filedigest.c:66 plugins/sudoers/filedigest.c:70 #: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:211 -#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268 -#: plugins/sudoers/iolog.c:675 plugins/sudoers/iolog.c:703 +#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:270 +#: plugins/sudoers/iolog.c:683 plugins/sudoers/iolog.c:711 #: plugins/sudoers/ldap.c:161 plugins/sudoers/ldap.c:448 #: plugins/sudoers/ldap.c:625 plugins/sudoers/ldap.c:789 #: plugins/sudoers/ldap.c:1214 plugins/sudoers/ldap.c:1642 @@ -365,26 +359,26 @@ msgstr "Kromnomo \"%s\" jam ekzistas" #: plugins/sudoers/ldap_conf.c:299 plugins/sudoers/ldap_conf.c:335 #: plugins/sudoers/ldap_conf.c:441 plugins/sudoers/ldap_conf.c:456 #: plugins/sudoers/ldap_conf.c:565 plugins/sudoers/ldap_conf.c:598 -#: plugins/sudoers/ldap_conf.c:693 plugins/sudoers/ldap_conf.c:776 +#: plugins/sudoers/ldap_conf.c:695 plugins/sudoers/ldap_conf.c:778 #: 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:717 -#: plugins/sudoers/log_client.c:739 plugins/sudoers/log_client.c:744 -#: plugins/sudoers/log_client.c:1426 plugins/sudoers/log_client.c:1547 -#: plugins/sudoers/log_client.c:1670 plugins/sudoers/log_client.c:1993 -#: plugins/sudoers/log_client.c:2052 plugins/sudoers/logging.c:110 +#: plugins/sudoers/ldap_util.c:615 plugins/sudoers/linux_audit.c:86 +#: plugins/sudoers/log_client.c:117 plugins/sudoers/log_client.c:237 +#: plugins/sudoers/log_client.c:259 plugins/sudoers/log_client.c:273 +#: plugins/sudoers/log_client.c:411 plugins/sudoers/log_client.c:726 +#: plugins/sudoers/log_client.c:748 plugins/sudoers/log_client.c:753 +#: plugins/sudoers/log_client.c:1449 plugins/sudoers/log_client.c:1570 +#: plugins/sudoers/log_client.c:1693 plugins/sudoers/log_client.c:2018 +#: plugins/sudoers/log_client.c:2077 plugins/sudoers/logging.c:110 #: plugins/sudoers/logging.c:189 plugins/sudoers/logging.c:190 -#: plugins/sudoers/logging.c:475 plugins/sudoers/logging.c:711 -#: plugins/sudoers/logging.c:755 plugins/sudoers/logging.c:872 -#: plugins/sudoers/logging.c:925 plugins/sudoers/logging.c:932 -#: plugins/sudoers/lookup.c:337 plugins/sudoers/lookup.c:354 -#: plugins/sudoers/lookup.c:373 plugins/sudoers/lookup.c:392 -#: plugins/sudoers/lookup.c:409 plugins/sudoers/lookup.c:432 -#: plugins/sudoers/lookup.c:443 plugins/sudoers/match_command.c:301 -#: plugins/sudoers/match_command.c:573 plugins/sudoers/match_command.c:640 -#: plugins/sudoers/match_command.c:737 plugins/sudoers/match_command.c:784 +#: plugins/sudoers/logging.c:483 plugins/sudoers/logging.c:723 +#: plugins/sudoers/logging.c:763 plugins/sudoers/logging.c:880 +#: plugins/sudoers/logging.c:933 plugins/sudoers/logging.c:940 +#: plugins/sudoers/lookup.c:330 plugins/sudoers/lookup.c:347 +#: plugins/sudoers/lookup.c:365 plugins/sudoers/lookup.c:383 +#: plugins/sudoers/lookup.c:400 plugins/sudoers/lookup.c:422 +#: plugins/sudoers/lookup.c:433 plugins/sudoers/match_command.c:279 +#: plugins/sudoers/match_command.c:543 plugins/sudoers/match_command.c:607 +#: plugins/sudoers/match_command.c:702 plugins/sudoers/match_command.c:749 #: plugins/sudoers/match_digest.c:88 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 @@ -395,52 +389,52 @@ msgstr "Kromnomo \"%s\" jam ekzistas" #: plugins/sudoers/parse_ldif.c:595 plugins/sudoers/parse_ldif.c:624 #: plugins/sudoers/parse_ldif.c:649 plugins/sudoers/parse_ldif.c:707 #: plugins/sudoers/parse_ldif.c:724 plugins/sudoers/parse_ldif.c:752 -#: plugins/sudoers/parse_ldif.c:759 plugins/sudoers/policy.c:157 -#: plugins/sudoers/policy.c:166 plugins/sudoers/policy.c:175 -#: plugins/sudoers/policy.c:204 plugins/sudoers/policy.c:374 -#: plugins/sudoers/policy.c:390 plugins/sudoers/policy.c:392 -#: plugins/sudoers/policy.c:430 plugins/sudoers/policy.c:439 -#: plugins/sudoers/policy.c:448 plugins/sudoers/policy.c:457 -#: plugins/sudoers/policy.c:493 plugins/sudoers/policy.c:502 -#: plugins/sudoers/policy.c:511 plugins/sudoers/policy.c:520 -#: plugins/sudoers/policy.c:529 plugins/sudoers/policy.c:538 -#: plugins/sudoers/policy.c:547 plugins/sudoers/policy.c:646 -#: plugins/sudoers/policy.c:1061 plugins/sudoers/prompt.c:94 +#: plugins/sudoers/parse_ldif.c:759 plugins/sudoers/policy.c:152 +#: plugins/sudoers/policy.c:161 plugins/sudoers/policy.c:170 +#: plugins/sudoers/policy.c:199 plugins/sudoers/policy.c:357 +#: plugins/sudoers/policy.c:373 plugins/sudoers/policy.c:375 +#: plugins/sudoers/policy.c:414 plugins/sudoers/policy.c:423 +#: plugins/sudoers/policy.c:432 plugins/sudoers/policy.c:441 +#: plugins/sudoers/policy.c:492 plugins/sudoers/policy.c:501 +#: plugins/sudoers/policy.c:510 plugins/sudoers/policy.c:519 +#: plugins/sudoers/policy.c:528 plugins/sudoers/policy.c:537 +#: plugins/sudoers/policy.c:546 plugins/sudoers/policy.c:654 +#: plugins/sudoers/policy.c:1071 plugins/sudoers/prompt.c:94 #: plugins/sudoers/pwutil.c:219 plugins/sudoers/pwutil.c:290 #: plugins/sudoers/pwutil.c:368 plugins/sudoers/pwutil.c:542 #: plugins/sudoers/pwutil.c:607 plugins/sudoers/pwutil.c:679 -#: plugins/sudoers/pwutil.c:877 plugins/sudoers/pwutil.c:967 -#: plugins/sudoers/pwutil.c:1015 plugins/sudoers/pwutil.c:1076 +#: plugins/sudoers/pwutil.c:877 plugins/sudoers/pwutil.c:970 +#: plugins/sudoers/pwutil.c:1018 plugins/sudoers/pwutil.c:1082 #: plugins/sudoers/set_perms.c:374 plugins/sudoers/set_perms.c:723 #: plugins/sudoers/set_perms.c:1096 plugins/sudoers/set_perms.c:1409 -#: plugins/sudoers/set_perms.c:1579 plugins/sudoers/sethost.c:85 +#: plugins/sudoers/set_perms.c:1579 plugins/sudoers/sethost.c:89 #: plugins/sudoers/sssd.c:144 plugins/sudoers/sssd.c:186 #: plugins/sudoers/sssd.c:415 plugins/sudoers/sssd.c:480 #: plugins/sudoers/sssd.c:507 plugins/sudoers/sssd.c:570 #: plugins/sudoers/sssd.c:765 plugins/sudoers/strvec_join.c:53 #: plugins/sudoers/sudoers.c:405 plugins/sudoers/sudoers.c:412 -#: plugins/sudoers/sudoers.c:656 plugins/sudoers/sudoers.c:666 -#: plugins/sudoers/sudoers.c:811 plugins/sudoers/sudoers.c:877 -#: plugins/sudoers/sudoers.c:936 plugins/sudoers/sudoers.c:985 -#: plugins/sudoers/sudoers.c:1144 plugins/sudoers/sudoers.c:1213 -#: plugins/sudoers/sudoers.c:1306 plugins/sudoers/sudoers_cb.c:150 +#: plugins/sudoers/sudoers.c:673 plugins/sudoers/sudoers.c:683 +#: plugins/sudoers/sudoers.c:828 plugins/sudoers/sudoers.c:894 +#: plugins/sudoers/sudoers.c:953 plugins/sudoers/sudoers.c:1002 +#: plugins/sudoers/sudoers.c:1162 plugins/sudoers/sudoers.c:1231 +#: plugins/sudoers/sudoers.c:1324 plugins/sudoers/sudoers_cb.c:150 #: plugins/sudoers/sudoreplay.c:559 plugins/sudoers/sudoreplay.c:562 -#: plugins/sudoers/sudoreplay.c:1279 plugins/sudoers/sudoreplay.c:1335 -#: plugins/sudoers/sudoreplay.c:1531 plugins/sudoers/sudoreplay.c:1535 +#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1337 +#: plugins/sudoers/sudoreplay.c:1533 plugins/sudoers/sudoreplay.c:1537 #: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:255 #: plugins/sudoers/testsudoers.c:264 plugins/sudoers/testsudoers.c:275 #: plugins/sudoers/testsudoers.c:282 plugins/sudoers/testsudoers.c:302 -#: plugins/sudoers/testsudoers.c:758 plugins/sudoers/timestamp.c:469 -#: plugins/sudoers/timestamp.c:513 plugins/sudoers/timestamp.c:1042 -#: plugins/sudoers/timestamp.c:1216 plugins/sudoers/toke_util.c:79 +#: plugins/sudoers/testsudoers.c:756 plugins/sudoers/timestamp.c:468 +#: plugins/sudoers/timestamp.c:514 plugins/sudoers/timestamp.c:1045 +#: plugins/sudoers/timestamp.c:1248 plugins/sudoers/toke_util.c:79 #: plugins/sudoers/toke_util.c:108 plugins/sudoers/toke_util.c:134 #: plugins/sudoers/toke_util.c:163 plugins/sudoers/toke_util.c:204 -#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:151 +#: plugins/sudoers/tsdump.c:136 plugins/sudoers/visudo.c:151 #: plugins/sudoers/visudo.c:258 plugins/sudoers/visudo.c:383 #: plugins/sudoers/visudo.c:389 plugins/sudoers/visudo.c:501 #: plugins/sudoers/visudo.c:1073 plugins/sudoers/visudo.c:1094 -#: plugins/sudoers/visudo.c:1189 toke.l:1031 toke.l:1194 toke.l:1213 -#: toke.l:1240 toke.l:1309 toke.l:1320 +#: plugins/sudoers/visudo.c:1189 toke.l:1011 toke.l:1174 toke.l:1193 +#: toke.l:1220 toke.l:1289 toke.l:1300 #, c-format msgid "%s: %s" msgstr "%s: %s" @@ -469,12 +463,12 @@ msgstr "ne eblas forki: %m" msgid "unable to open pipe: %m" msgstr "ne eblas malfermi tubon: %m" -#: lib/eventlog/eventlog.c:1000 +#: lib/eventlog/eventlog.c:1013 #, c-format msgid "%8s : %s" msgstr "%8s: %s" -#: lib/eventlog/eventlog.c:1029 +#: lib/eventlog/eventlog.c:1042 #, c-format msgid "%8s : (command continued) %s" msgstr "%8s : (komando daŭrigis) %s" @@ -488,73 +482,73 @@ msgstr "atendita JSON_STRING, %d ricevita" msgid "JSON_ARRAY too large" msgstr "JSON_ARRAY tro grandas" -#: lib/eventlog/parse_json.c:506 +#: lib/eventlog/parse_json.c:523 msgid "missing double quote in name" msgstr "mankas duobla citilo en nomo" -#: lib/eventlog/parse_json.c:624 +#: lib/eventlog/parse_json.c:641 msgid "missing JSON_OBJECT" msgstr "mankanta JSON_OBJECT" -#: lib/eventlog/parse_json.c:628 +#: lib/eventlog/parse_json.c:645 #, c-format msgid "expected JSON_OBJECT, got %d" msgstr "atendita JSON_OBJECT, %d ricevita" -#: lib/eventlog/parse_json.c:762 +#: lib/eventlog/parse_json.c:779 #, c-format msgid "json stack exhausted (max %u frames)" msgstr "json-stako eluzita (maksimume %u kandroj)" -#: lib/eventlog/parse_json.c:840 +#: lib/eventlog/parse_json.c:857 msgid "objects must consist of name:value pairs" msgstr "objektoj devas konsisti el paroj nomo:valoro" -#: lib/eventlog/parse_json.c:845 lib/eventlog/parse_json.c:876 -#: lib/eventlog/parse_json.c:920 lib/eventlog/parse_json.c:942 -#: lib/eventlog/parse_json.c:964 lib/eventlog/parse_json.c:986 -#: lib/eventlog/parse_json.c:1008 +#: lib/eventlog/parse_json.c:862 lib/eventlog/parse_json.c:893 +#: lib/eventlog/parse_json.c:937 lib/eventlog/parse_json.c:959 +#: lib/eventlog/parse_json.c:981 lib/eventlog/parse_json.c:1003 +#: lib/eventlog/parse_json.c:1025 msgid "missing separator between values" msgstr "mankanta apartigilo inter valoroj" -#: lib/eventlog/parse_json.c:860 lib/eventlog/parse_json.c:1034 +#: lib/eventlog/parse_json.c:877 lib/eventlog/parse_json.c:1051 msgid "unmatched close brace" msgstr "'}' sen kongruanta '{'" -#: lib/eventlog/parse_json.c:871 +#: lib/eventlog/parse_json.c:888 msgid "unexpected array" msgstr "neatendita tabelo" -#: lib/eventlog/parse_json.c:891 lib/eventlog/parse_json.c:1037 +#: lib/eventlog/parse_json.c:908 lib/eventlog/parse_json.c:1054 msgid "unmatched close bracket" msgstr "']' sen kongruanta '['" -#: lib/eventlog/parse_json.c:902 +#: lib/eventlog/parse_json.c:919 msgid "unexpected string" msgstr "neatendita ĉeno" -#: lib/eventlog/parse_json.c:913 +#: lib/eventlog/parse_json.c:930 msgid "missing colon after name" msgstr "mankas dupunkto post nomo" -#: lib/eventlog/parse_json.c:934 lib/eventlog/parse_json.c:956 +#: lib/eventlog/parse_json.c:951 lib/eventlog/parse_json.c:973 msgid "unexpected boolean" msgstr "neatendita bulea valoro" -#: lib/eventlog/parse_json.c:978 +#: lib/eventlog/parse_json.c:995 msgid "unexpected null" msgstr "neatendita nulo" -#: lib/eventlog/parse_json.c:999 +#: lib/eventlog/parse_json.c:1016 msgid "unexpected number" msgstr "neatendita nombro" -#: lib/eventlog/parse_json.c:1045 +#: lib/eventlog/parse_json.c:1062 msgid "parse error" msgstr "analiza eraro" -#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1290 -#: plugins/sudoers/sudoreplay.c:1291 plugins/sudoers/sudoreplay.c:1587 +#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1303 +#: plugins/sudoers/sudoreplay.c:1293 plugins/sudoers/sudoreplay.c:1589 #, c-format msgid "invalid regular expression \"%s\": %s" msgstr "malvalida regulesprimo \"%s\": %s" @@ -594,8 +588,8 @@ msgstr "%s: mankas kampo de runa grupo" msgid "%s exists but is not a directory (0%o)" msgstr "%s ekzistas sed ne dosierujo (0%o)" -#: lib/iolog/iolog_mkdirs.c:124 lib/iolog/iolog_mkdtemp.c:80 -#: logsrvd/iolog_writer.c:795 plugins/sudoers/timestamp.c:218 +#: lib/iolog/iolog_mkdirs.c:125 lib/iolog/iolog_mkdtemp.c:80 +#: logsrvd/iolog_writer.c:803 plugins/sudoers/timestamp.c:218 #, c-format msgid "unable to mkdir %s" msgstr "ne eblas mkdir-i: %s" @@ -633,90 +627,90 @@ msgstr "%s: protokoleraro: erara tipo per %s" msgid "%s: protocol error: NULL value found in %s" msgstr "%s: protokoleraro: nul-valoro trovita en %s" -#: logsrvd/iolog_writer.c:141 plugins/sudoers/logging.c:1024 -#: plugins/sudoers/policy.c:613 +#: logsrvd/iolog_writer.c:141 plugins/sudoers/logging.c:1035 +#: plugins/sudoers/policy.c:621 msgid "unable to generate UUID" msgstr "ne eblas genero de UUID" -#: logsrvd/iolog_writer.c:354 logsrvd/iolog_writer.c:359 -#: logsrvd/iolog_writer.c:364 logsrvd/iolog_writer.c:369 +#: logsrvd/iolog_writer.c:362 logsrvd/iolog_writer.c:367 +#: logsrvd/iolog_writer.c:372 logsrvd/iolog_writer.c:377 #, c-format msgid "%s: protocol error: %s missing from AcceptMessage" msgstr "%s: protokola eraro: %s estas malhavata de AcceptMessage" -#: logsrvd/iolog_writer.c:430 +#: logsrvd/iolog_writer.c:438 #, c-format msgid "%s: unable to format session id" msgstr "%s: ne eblas formati seancan identigilon" -#: logsrvd/iolog_writer.c:444 logsrvd/iolog_writer.c:458 -#: logsrvd/iolog_writer.c:472 logsrvd/iolog_writer.c:487 -#: logsrvd/iolog_writer.c:501 logsrvd/iolog_writer.c:515 +#: logsrvd/iolog_writer.c:452 logsrvd/iolog_writer.c:466 +#: logsrvd/iolog_writer.c:480 logsrvd/iolog_writer.c:495 +#: logsrvd/iolog_writer.c:509 logsrvd/iolog_writer.c:523 #, c-format msgid "%s: %s is not set" msgstr "%s: %s ne estas valorizita" -#: logsrvd/iolog_writer.c:551 logsrvd/iolog_writer.c:558 +#: logsrvd/iolog_writer.c:559 logsrvd/iolog_writer.c:566 #, c-format msgid "unable to expand iolog path %s" msgstr "ne eblas etendi iolog-vojn %s" -#: logsrvd/iolog_writer.c:576 +#: logsrvd/iolog_writer.c:584 #, c-format msgid "unable to create iolog path %s" msgstr "ne eblas krei iolog-vojon %s" -#: logsrvd/iolog_writer.c:606 +#: logsrvd/iolog_writer.c:614 #, c-format msgid "invalid iofd %d" msgstr "nevalida eneliga dosierpriskribilo %d" -#: logsrvd/iolog_writer.c:626 +#: logsrvd/iolog_writer.c:634 #, c-format msgid "error closing iofd %u: %s" msgstr "eraro dum fermi eneligan dosierpriskribilon %u: %s" -#: logsrvd/iolog_writer.c:647 +#: logsrvd/iolog_writer.c:655 #, c-format msgid "error flushing iofd %u: %s" msgstr "eraro dum elbufrigi eneligan eneligan priskribilon %u: %s" -#: logsrvd/iolog_writer.c:765 +#: logsrvd/iolog_writer.c:773 #, c-format msgid "invalid I/O log %s: %s referenced but not present" msgstr "nevalida eneliga protokolo %s: %s estas referencita sed ne difinita" -#: logsrvd/iolog_writer.c:777 logsrvd/logsrvd_journal.c:391 +#: logsrvd/iolog_writer.c:785 logsrvd/logsrvd_journal.c:391 #, c-format msgid "%s: unable to find resume point [%lld, %ld]" msgstr "%s: ne eblas trovi daŭrigan punkton [%lld, %ld]" -#: logsrvd/iolog_writer.c:799 logsrvd/logsrvd_journal.c:434 +#: logsrvd/iolog_writer.c:807 logsrvd/logsrvd_journal.c:434 #: logsrvd/logsrvd_queue.c:115 logsrvd/tls_init.c:256 -#: plugins/sudoers/check.c:285 plugins/sudoers/cvtsudoers.c:758 -#: plugins/sudoers/cvtsudoers.c:780 plugins/sudoers/cvtsudoers.c:1461 -#: plugins/sudoers/cvtsudoers_csv.c:697 plugins/sudoers/cvtsudoers_json.c:902 -#: plugins/sudoers/cvtsudoers_ldif.c:711 plugins/sudoers/sudoers.c:1291 -#: plugins/sudoers/sudoers.c:1317 plugins/sudoers/sudoreplay.c:1497 -#: plugins/sudoers/timestamp.c:478 plugins/sudoers/tsdump.c:128 +#: plugins/sudoers/check.c:278 plugins/sudoers/cvtsudoers.c:758 +#: plugins/sudoers/cvtsudoers.c:780 plugins/sudoers/cvtsudoers.c:1457 +#: plugins/sudoers/cvtsudoers_csv.c:722 plugins/sudoers/cvtsudoers_json.c:1034 +#: plugins/sudoers/cvtsudoers_ldif.c:753 plugins/sudoers/sudoers.c:1309 +#: plugins/sudoers/sudoers.c:1335 plugins/sudoers/sudoreplay.c:1499 +#: plugins/sudoers/timestamp.c:477 plugins/sudoers/tsdump.c:141 #: plugins/sudoers/visudo.c:990 #, c-format msgid "unable to open %s" msgstr "ne eblas malfermi: %s" -#: logsrvd/iolog_writer.c:811 logsrvd/logsrv_util.c:111 +#: logsrvd/iolog_writer.c:819 logsrvd/logsrv_util.c:111 #: logsrvd/logsrv_util.c:118 plugins/sudoers/sudoreplay.c:355 #: plugins/sudoers/sudoreplay.c:361 #, c-format msgid "unable to open %s/%s" msgstr "ne eblas malfermi: %s/%s" -#: logsrvd/iolog_writer.c:824 +#: logsrvd/iolog_writer.c:832 #, c-format msgid "unable to copy %s/%s to %s/%s: %s" msgstr "ne eblas kopii de %s/%s al %s/%s: %s" -#: logsrvd/iolog_writer.c:853 logsrvd/logsrvd_journal.c:198 +#: logsrvd/iolog_writer.c:861 logsrvd/logsrvd_journal.c:198 #, c-format msgid "unable to rename %s to %s" msgstr "ne eblas alinomo de %s al %s" @@ -736,209 +730,209 @@ msgstr "mankas eneliga protokolo %s/%s" msgid "%s/%s: unable to seek forward %zu" msgstr "%s/%s: ne eblas serĉi antaŭen: %zu" -#: logsrvd/logsrvd.c:271 logsrvd/logsrvd_queue.c:135 +#: logsrvd/logsrvd.c:272 logsrvd/logsrvd_queue.c:135 msgid "unable to connect to relay" msgstr "ne eblas konektiĝi al relajso" -#: logsrvd/logsrvd.c:338 logsrvd/logsrvd_relay.c:847 +#: logsrvd/logsrvd.c:339 logsrvd/logsrvd_relay.c:847 #, c-format msgid "server message too large: %zu" msgstr "servila mesaĝo tro granda: %zu" -#: logsrvd/logsrvd.c:430 logsrvd/logsrvd.c:553 logsrvd/logsrvd.c:639 -#: logsrvd/logsrvd.c:881 logsrvd/logsrvd.c:895 logsrvd/logsrvd.c:1056 -#: logsrvd/logsrvd.c:1181 logsrvd/logsrvd.c:1354 logsrvd/logsrvd.c:1372 -#: logsrvd/logsrvd.c:1471 logsrvd/logsrvd.c:1596 logsrvd/logsrvd.c:1783 +#: logsrvd/logsrvd.c:431 logsrvd/logsrvd.c:554 logsrvd/logsrvd.c:640 +#: logsrvd/logsrvd.c:882 logsrvd/logsrvd.c:896 logsrvd/logsrvd.c:1057 +#: logsrvd/logsrvd.c:1182 logsrvd/logsrvd.c:1364 logsrvd/logsrvd.c:1382 +#: logsrvd/logsrvd.c:1481 logsrvd/logsrvd.c:1606 logsrvd/logsrvd.c:1793 #: logsrvd/logsrvd_journal.c:503 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:391 logsrvd/logsrvd_relay.c:583 #: logsrvd/logsrvd_relay.c:747 logsrvd/logsrvd_relay.c:1137 -#: logsrvd/sendlog.c:1308 logsrvd/tls_client.c:136 logsrvd/tls_client.c:152 -#: logsrvd/tls_client.c:216 plugins/sudoers/audit.c:281 -#: plugins/sudoers/iolog.c:1041 plugins/sudoers/iolog.c:1175 -#: plugins/sudoers/iolog.c:1274 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:613 -#: plugins/sudoers/log_client.c:620 plugins/sudoers/log_client.c:1114 -#: plugins/sudoers/log_client.c:1395 plugins/sudoers/log_client.c:1436 -#: plugins/sudoers/log_client.c:1444 plugins/sudoers/log_client.c:1603 -#: plugins/sudoers/log_client.c:1728 plugins/sudoers/log_client.c:2060 -#: plugins/sudoers/log_client.c:2068 plugins/sudoers/logging.c:148 +#: logsrvd/sendlog.c:1333 logsrvd/tls_client.c:145 logsrvd/tls_client.c:161 +#: logsrvd/tls_client.c:225 plugins/sudoers/audit.c:281 +#: plugins/sudoers/iolog.c:1049 plugins/sudoers/iolog.c:1183 +#: plugins/sudoers/iolog.c:1282 plugins/sudoers/log_client.c:121 +#: plugins/sudoers/log_client.c:352 plugins/sudoers/log_client.c:368 +#: plugins/sudoers/log_client.c:416 plugins/sudoers/log_client.c:622 +#: plugins/sudoers/log_client.c:629 plugins/sudoers/log_client.c:1137 +#: plugins/sudoers/log_client.c:1418 plugins/sudoers/log_client.c:1459 +#: plugins/sudoers/log_client.c:1467 plugins/sudoers/log_client.c:1626 +#: plugins/sudoers/log_client.c:1751 plugins/sudoers/log_client.c:2085 +#: plugins/sudoers/log_client.c:2093 plugins/sudoers/logging.c:148 #: plugins/sudoers/logging.c:206 plugins/sudoers/sudoreplay.c:519 -#: plugins/sudoers/sudoreplay.c:566 plugins/sudoers/sudoreplay.c:808 -#: plugins/sudoers/sudoreplay.c:920 plugins/sudoers/sudoreplay.c:1011 -#: plugins/sudoers/sudoreplay.c:1026 plugins/sudoers/sudoreplay.c:1033 -#: plugins/sudoers/sudoreplay.c:1040 plugins/sudoers/sudoreplay.c:1047 -#: plugins/sudoers/sudoreplay.c:1054 plugins/sudoers/sudoreplay.c:1182 +#: plugins/sudoers/sudoreplay.c:566 plugins/sudoers/sudoreplay.c:810 +#: plugins/sudoers/sudoreplay.c:922 plugins/sudoers/sudoreplay.c:1013 +#: plugins/sudoers/sudoreplay.c:1028 plugins/sudoers/sudoreplay.c:1035 +#: plugins/sudoers/sudoreplay.c:1042 plugins/sudoers/sudoreplay.c:1049 +#: plugins/sudoers/sudoreplay.c:1056 plugins/sudoers/sudoreplay.c:1184 msgid "unable to add event to queue" msgstr "ne eblas aldoni eventon al atendovico" -#: logsrvd/logsrvd.c:454 logsrvd/logsrvd.c:491 logsrvd/logsrvd.c:523 -#: logsrvd/logsrvd.c:577 logsrvd/logsrvd.c:656 logsrvd/logsrvd.c:692 -#: logsrvd/logsrvd.c:728 logsrvd/logsrvd.c:764 logsrvd/logsrvd_relay.c:512 +#: logsrvd/logsrvd.c:455 logsrvd/logsrvd.c:492 logsrvd/logsrvd.c:524 +#: logsrvd/logsrvd.c:578 logsrvd/logsrvd.c:657 logsrvd/logsrvd.c:693 +#: logsrvd/logsrvd.c:729 logsrvd/logsrvd.c:765 logsrvd/logsrvd_relay.c:512 #: logsrvd/logsrvd_relay.c:545 #, c-format msgid "unexpected state %d for %s" msgstr "neatendita stato %d por %s" -#: logsrvd/logsrvd.c:455 logsrvd/logsrvd.c:492 logsrvd/logsrvd.c:524 -#: logsrvd/logsrvd.c:578 logsrvd/logsrvd.c:657 logsrvd/logsrvd.c:693 -#: logsrvd/logsrvd.c:729 logsrvd/logsrvd.c:765 logsrvd/logsrvd_relay.c:514 +#: logsrvd/logsrvd.c:456 logsrvd/logsrvd.c:493 logsrvd/logsrvd.c:525 +#: logsrvd/logsrvd.c:579 logsrvd/logsrvd.c:658 logsrvd/logsrvd.c:694 +#: logsrvd/logsrvd.c:730 logsrvd/logsrvd.c:766 logsrvd/logsrvd_relay.c:514 #: logsrvd/logsrvd_relay.c:547 msgid "state machine error" msgstr "statmaŝina eraro" -#: logsrvd/logsrvd.c:461 logsrvd/logsrvd.c:462 +#: logsrvd/logsrvd.c:462 logsrvd/logsrvd.c:463 msgid "invalid AcceptMessage" msgstr "nevalida AcceptMessage" -#: logsrvd/logsrvd.c:498 logsrvd/logsrvd.c:499 +#: logsrvd/logsrvd.c:499 logsrvd/logsrvd.c:500 msgid "invalid RejectMessage" msgstr "nevalida RejectMessage" -#: logsrvd/logsrvd.c:530 logsrvd/logsrvd.c:531 +#: logsrvd/logsrvd.c:531 logsrvd/logsrvd.c:532 msgid "invalid ExitMessage" msgstr "nevalida ExitMessage" -#: logsrvd/logsrvd.c:584 logsrvd/logsrvd.c:585 +#: logsrvd/logsrvd.c:585 logsrvd/logsrvd.c:586 msgid "invalid RestartMessage" msgstr "nevalida RestartMessage" -#: logsrvd/logsrvd.c:619 logsrvd/logsrvd.c:620 +#: logsrvd/logsrvd.c:620 logsrvd/logsrvd.c:621 msgid "invalid AlertMessage" msgstr "nevalida AlertMessage" -#: logsrvd/logsrvd.c:661 logsrvd/logsrvd.c:697 logsrvd/logsrvd.c:733 +#: logsrvd/logsrvd.c:662 logsrvd/logsrvd.c:698 logsrvd/logsrvd.c:734 #, c-format msgid "%s: unexpected IoBuffer" msgstr "%s: neatendita IoBuffer" -#: logsrvd/logsrvd.c:662 logsrvd/logsrvd.c:698 logsrvd/logsrvd.c:734 +#: logsrvd/logsrvd.c:663 logsrvd/logsrvd.c:699 logsrvd/logsrvd.c:735 msgid "protocol error" msgstr "protokolo-eraro" -#: logsrvd/logsrvd.c:668 logsrvd/logsrvd.c:669 +#: logsrvd/logsrvd.c:669 logsrvd/logsrvd.c:670 msgid "invalid IoBuffer" msgstr "malvalida IoBuffer" -#: logsrvd/logsrvd.c:704 logsrvd/logsrvd.c:705 +#: logsrvd/logsrvd.c:705 logsrvd/logsrvd.c:706 msgid "invalid ChangeWindowSize" msgstr "nevalida ChangeWindowSize" -#: logsrvd/logsrvd.c:740 logsrvd/logsrvd.c:741 +#: logsrvd/logsrvd.c:741 logsrvd/logsrvd.c:742 msgid "invalid CommandSuspend" msgstr "nevalida CommandSuspend" -#: logsrvd/logsrvd.c:790 logsrvd/logsrvd_journal.c:302 -#: logsrvd/logsrvd_relay.c:654 logsrvd/sendlog.c:1207 -#: plugins/sudoers/log_client.c:1593 +#: logsrvd/logsrvd.c:791 logsrvd/logsrvd_journal.c:302 +#: logsrvd/logsrvd_relay.c:654 logsrvd/sendlog.c:1232 +#: plugins/sudoers/log_client.c:1616 #, c-format msgid "unable to unpack %s size %zu" msgstr "ne malpakeblas %s, grando %zu" -#: logsrvd/logsrvd.c:835 logsrvd/logsrvd_journal.c:376 +#: logsrvd/logsrvd.c:836 logsrvd/logsrvd_journal.c:376 #: logsrvd/logsrvd_relay.c:678 #, c-format msgid "unexpected type_case value %d in %s from %s" msgstr "neatendita valoro %d de type_case en %s el %s" -#: logsrvd/logsrvd.c:837 +#: logsrvd/logsrvd.c:838 msgid "unrecognized ClientMessage type" msgstr "nekonata ClientMessage-tipo" -#: logsrvd/logsrvd.c:927 +#: logsrvd/logsrvd.c:928 #, c-format msgid "timed out writing to client %s" msgstr "eksvalidiĝo dum skribado al kliento %s" -#: logsrvd/logsrvd.c:932 logsrvd/logsrvd_relay.c:919 logsrvd/sendlog.c:1413 +#: logsrvd/logsrvd.c:933 logsrvd/logsrvd_relay.c:919 logsrvd/sendlog.c:1438 #, c-format msgid "missing write buffer for client %s" msgstr "mankanta skribobufo por kliento %s" -#: logsrvd/logsrvd.c:1027 +#: logsrvd/logsrvd.c:1028 #, c-format msgid "timed out reading from client %s" msgstr "eksvalidiĝo dum legado el kliento %s" -#: logsrvd/logsrvd.c:1068 logsrvd/logsrvd_relay.c:782 +#: logsrvd/logsrvd.c:1069 logsrvd/logsrvd_relay.c:782 #, c-format msgid "EOF from %s without proper TLS shutdown" msgstr "Dosierfino de %s sen konvena TLS-finiĝo" -#: logsrvd/logsrvd.c:1112 logsrvd/logsrvd_relay.c:205 logsrvd/sendlog.c:336 -#: plugins/sudoers/log_client.c:723 +#: logsrvd/logsrvd.c:1113 logsrvd/logsrvd_relay.c:205 logsrvd/sendlog.c:336 +#: plugins/sudoers/log_client.c:732 #, c-format msgid "client message too large: %zu" msgstr "klienta mesaĝo tro grandas: %zu" -#: logsrvd/logsrvd.c:1113 logsrvd/logsrvd_journal.c:259 +#: logsrvd/logsrvd.c:1114 logsrvd/logsrvd_journal.c:259 #: logsrvd/logsrvd_journal.c:260 msgid "client message too large" msgstr "klienta mesaĝo tro grandas" -#: logsrvd/logsrvd.c:1131 logsrvd/logsrvd.c:1132 +#: logsrvd/logsrvd.c:1132 logsrvd/logsrvd.c:1133 msgid "invalid ClientMessage" msgstr "nevalida ClientMessage" -#: logsrvd/logsrvd.c:1432 +#: logsrvd/logsrvd.c:1442 msgid "unable to get remote IP addr" msgstr "ne eblas atingi foran IP-adreson" -#: logsrvd/logsrvd.c:1463 logsrvd/tls_client.c:203 -#: plugins/sudoers/log_client.c:281 +#: logsrvd/logsrvd.c:1473 logsrvd/tls_client.c:212 +#: plugins/sudoers/log_client.c:290 #, c-format msgid "Unable to attach user data to the ssl object: %s" msgstr "Ne eblas almeti uzanto-datumojn al la SSL-objekto: %s" -#: logsrvd/logsrvd.c:1646 logsrvd/logsrvd.c:2007 +#: logsrvd/logsrvd.c:1656 logsrvd/logsrvd.c:2050 msgid "unable to setup listen socket" msgstr "ne eblas agordi aŭskultan ŝtopilingon" -#: logsrvd/logsrvd.c:1766 +#: logsrvd/logsrvd.c:1776 #, c-format msgid "unexpected signal %d" msgstr "neatendita signalo %d" -#: logsrvd/logsrvd.c:1909 +#: logsrvd/logsrvd.c:1949 msgid "sudo log server" msgstr "protokolo-servilo de sudo" -#: logsrvd/logsrvd.c:1911 logsrvd/sendlog.c:126 +#: logsrvd/logsrvd.c:1951 logsrvd/sendlog.c:126 msgid "Options:" msgstr "Modifiloj:" -#: logsrvd/logsrvd.c:1913 +#: logsrvd/logsrvd.c:1953 msgid "path to configuration file" msgstr "vojo al la agordo-dosiero" -#: logsrvd/logsrvd.c:1915 logsrvd/sendlog.c:128 +#: logsrvd/logsrvd.c:1955 logsrvd/sendlog.c:128 msgid "display help message and exit" msgstr "montri helpan mesaĝon kaj finiĝi" -#: logsrvd/logsrvd.c:1917 +#: logsrvd/logsrvd.c:1957 msgid "do not fork, run in the foreground" msgstr "ne disforkiĝi, plenumiĝi en la malfono" -#: logsrvd/logsrvd.c:1919 +#: logsrvd/logsrvd.c:1959 msgid "percent chance connections will drop" msgstr "elcenta ŝanco, ke konektoj malkonektiĝos" -#: logsrvd/logsrvd.c:1921 logsrvd/sendlog.c:158 +#: logsrvd/logsrvd.c:1961 logsrvd/sendlog.c:158 msgid "display version information and exit" msgstr "montri eldonan informon kaj finiĝi" -#: logsrvd/logsrvd.c:1971 logsrvd/sendlog.c:1722 +#: logsrvd/logsrvd.c:2011 logsrvd/sendlog.c:1747 msgid "Protobuf-C version 1.3 or higher required" msgstr "Protobuf-C, eldono 1.3 aŭ pli postulata" -#: logsrvd/logsrvd.c:1987 +#: logsrvd/logsrvd.c:2027 #, c-format msgid "invalid random drop value: %s" msgstr "validiga hazarda interrompiĝo-valoro: %s" -#: logsrvd/logsrvd.c:1990 logsrvd/sendlog.c:1776 +#: logsrvd/logsrvd.c:2030 logsrvd/sendlog.c:1801 #: plugins/sudoers/cvtsudoers.c:250 plugins/sudoers/sudoreplay.c:294 #: plugins/sudoers/visudo.c:181 #, c-format @@ -947,16 +941,16 @@ msgstr "%s eldono %s\n" #: logsrvd/logsrvd_conf.c:422 plugins/sudoers/check.c:69 #: plugins/sudoers/exptilde.c:85 plugins/sudoers/iolog.c:122 -#: plugins/sudoers/sudoers.c:419 plugins/sudoers/sudoers.c:929 -#: plugins/sudoers/sudoers.c:1034 plugins/sudoers/sudoers.c:1424 +#: plugins/sudoers/sudoers.c:419 plugins/sudoers/sudoers.c:946 +#: plugins/sudoers/sudoers.c:1052 plugins/sudoers/sudoers.c:1442 #: plugins/sudoers/testsudoers.c:169 plugins/sudoers/testsudoers.c:285 -#: plugins/sudoers/testsudoers.c:459 +#: plugins/sudoers/testsudoers.c:459 plugins/sudoers/tsdump.c:131 #, c-format msgid "unknown user %s" msgstr "nekonata uzanto %s" #: logsrvd/logsrvd_conf.c:439 plugins/sudoers/iolog.c:148 -#: plugins/sudoers/sudoers.c:425 plugins/sudoers/sudoers.c:1458 +#: plugins/sudoers/sudoers.c:425 plugins/sudoers/sudoers.c:1476 #: plugins/sudoers/testsudoers.c:483 #, c-format msgid "unknown group %s" @@ -967,7 +961,7 @@ msgstr "nekonata grupo %s" msgid "unable to parse iolog mode %s" msgstr "ne eblas analizi iolog-reĝimon %s" -#: logsrvd/logsrvd_conf.c:474 logsrvd/logsrvd_conf.c:1243 +#: logsrvd/logsrvd_conf.c:474 logsrvd/logsrvd_conf.c:1248 #, c-format msgid "invalid value for %s: %s" msgstr "nevalida valoro por %s: %s" @@ -981,65 +975,65 @@ msgstr "TLS ne regata" msgid "%s:%s" msgstr "%s:%s" -#: logsrvd/logsrvd_conf.c:622 logsrvd/logsrvd_conf.c:1032 +#: logsrvd/logsrvd_conf.c:622 logsrvd/logsrvd_conf.c:1037 #, c-format msgid "%s: not a fully qualified path" msgstr "%s: ne tute kvalifikita vojo" -#: logsrvd/logsrvd_conf.c:951 logsrvd/logsrvd_conf.c:967 -#: logsrvd/logsrvd_conf.c:1676 +#: logsrvd/logsrvd_conf.c:956 logsrvd/logsrvd_conf.c:972 +#: logsrvd/logsrvd_conf.c:1681 #, c-format msgid "unknown syslog facility %s" msgstr "nekonata syslog-instalaĵo: %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 +#: logsrvd/logsrvd_conf.c:988 logsrvd/logsrvd_conf.c:1004 +#: logsrvd/logsrvd_conf.c:1020 logsrvd/logsrvd_conf.c:1685 +#: logsrvd/logsrvd_conf.c:1689 logsrvd/logsrvd_conf.c:1693 #, c-format msgid "unknown syslog priority %s" msgstr "nekonata syslog-prioritato: %s" -#: logsrvd/logsrvd_conf.c:1197 +#: logsrvd/logsrvd_conf.c:1202 #, c-format msgid "%s:%d unmatched '[': %s" msgstr "%s:%d '[' sen kongruanta ']': %s" -#: logsrvd/logsrvd_conf.c:1203 +#: logsrvd/logsrvd_conf.c:1208 #, c-format msgid "%s:%d garbage after ']': %s" msgstr "%s:%d '[' rubo post ']': %s" -#: logsrvd/logsrvd_conf.c:1215 +#: logsrvd/logsrvd_conf.c:1220 #, c-format msgid "%s:%d invalid config section: %s" msgstr "%s:%d nevalida agordo-sekcio: %s" -#: logsrvd/logsrvd_conf.c:1223 +#: logsrvd/logsrvd_conf.c:1228 #, c-format msgid "%s:%d invalid configuration line: %s" msgstr "%s:%d nevalida agordo-dosiera linio: %s" -#: logsrvd/logsrvd_conf.c:1229 +#: logsrvd/logsrvd_conf.c:1234 #, c-format msgid "%s:%d expected section name: %s" msgstr "%s:%d atendas sekcian nomon: %s" -#: logsrvd/logsrvd_conf.c:1251 +#: logsrvd/logsrvd_conf.c:1256 #, c-format msgid "%s:%d [%s] illegal key: %s" msgstr "%s:%d [%s] nevalida ŝlosilo: %s" -#: logsrvd/logsrvd_conf.c:1281 plugins/sudoers/cvtsudoers.c:273 -#: plugins/sudoers/logging.c:1076 +#: logsrvd/logsrvd_conf.c:1286 plugins/sudoers/cvtsudoers.c:273 +#: plugins/sudoers/logging.c:1087 #, c-format msgid "unable to open log file %s" msgstr "ne eblas malfermi protokolon %s" -#: logsrvd/logsrvd_conf.c:1763 +#: logsrvd/logsrvd_conf.c:1768 msgid "unable to initialize server TLS context" msgstr "ne eblas ekigi servilan TLS-kuntekston" -#: logsrvd/logsrvd_conf.c:1783 +#: logsrvd/logsrvd_conf.c:1788 msgid "unable to initialize relay TLS context" msgstr "ne eblas ekigi relajsan SSL-kuntekston" @@ -1143,7 +1137,7 @@ msgstr "ne eblas aranĝi tempo-bufron, longo %d" #: logsrvd/logsrvd_local.c:601 logsrvd/logsrvd_local.c:609 #: logsrvd/logsrvd_local.c:657 logsrvd/logsrvd_local.c:692 -#: plugins/sudoers/sudoreplay.c:344 toke.l:981 toke.l:984 +#: plugins/sudoers/sudoreplay.c:344 toke.l:961 toke.l:964 #, c-format msgid "%s/%s: %s" msgstr "%s/%s: %s" @@ -1177,8 +1171,8 @@ msgstr "ne eblas konektiĝi al relajsa retnodo" msgid "%s: invalid ServerHello, missing server_id" msgstr "%s: nevalida ServerHello, server_id mankas" -#: logsrvd/logsrvd_relay.c:522 logsrvd/sendlog.c:1111 -#: plugins/sudoers/log_client.c:1479 +#: logsrvd/logsrvd_relay.c:522 logsrvd/sendlog.c:1136 +#: plugins/sudoers/log_client.c:1502 msgid "invalid ServerHello" msgstr "nevalida ServerHello" @@ -1282,7 +1276,7 @@ msgstr "haltigi transigon post atingo de ĉi tiu tempo" msgid "test audit server by sending selected I/O log n times in parallel" msgstr "provi revizian servilon per sendado de elektita eneliga logo n-foje paralele" -#: logsrvd/sendlog.c:181 plugins/sudoers/log_client.c:453 +#: logsrvd/sendlog.c:181 plugins/sudoers/log_client.c:462 #, c-format msgid "unable to look up %s:%s: %s" msgstr "ne eblas serĉi je %s:%s %s" @@ -1291,108 +1285,108 @@ msgstr "ne eblas serĉi je %s:%s %s" msgid "unable to get server IP addr" msgstr "ne eblas atingi servilan IP-adreson" -#: logsrvd/sendlog.c:314 plugins/sudoers/sudoreplay.c:868 +#: logsrvd/sendlog.c:314 plugins/sudoers/sudoreplay.c:870 #, c-format msgid "unable to read %s/%s: %s" msgstr "ne eblas legi je %s/%s: %s" -#: logsrvd/sendlog.c:1035 plugins/sudoers/iolog.c:959 -#: plugins/sudoers/iolog.c:1034 +#: logsrvd/sendlog.c:1060 plugins/sudoers/iolog.c:967 +#: plugins/sudoers/iolog.c:1042 #, c-format msgid "unexpected I/O event %d" msgstr "neatendita eneliga evento %d" -#: logsrvd/sendlog.c:1088 logsrvd/sendlog.c:1105 logsrvd/sendlog.c:1139 -#: plugins/sudoers/log_client.c:1129 plugins/sudoers/log_client.c:1405 -#: plugins/sudoers/log_client.c:1473 plugins/sudoers/log_client.c:1512 +#: logsrvd/sendlog.c:1113 logsrvd/sendlog.c:1130 logsrvd/sendlog.c:1164 +#: plugins/sudoers/log_client.c:1152 plugins/sudoers/log_client.c:1428 +#: plugins/sudoers/log_client.c:1496 plugins/sudoers/log_client.c:1535 #, c-format msgid "%s: unexpected state %d" msgstr "%s: neatendita stato %d" -#: logsrvd/sendlog.c:1175 plugins/sudoers/log_client.c:1561 +#: logsrvd/sendlog.c:1200 plugins/sudoers/log_client.c:1584 #, c-format msgid "error message received from server: %s" msgstr "erarmesaĝo ricevita el servilo: %s" -#: logsrvd/sendlog.c:1188 plugins/sudoers/log_client.c:1574 +#: logsrvd/sendlog.c:1213 plugins/sudoers/log_client.c:1597 #, c-format msgid "abort message received from server: %s" msgstr "abortiga mesaĝo ricevita el servilo: %s" -#: logsrvd/sendlog.c:1247 plugins/sudoers/log_client.c:1624 +#: logsrvd/sendlog.c:1272 plugins/sudoers/log_client.c:1647 #, c-format msgid "%s: unexpected type_case value %d" msgstr "%s neatendita valoro %d de type_case" -#: logsrvd/sendlog.c:1276 +#: logsrvd/sendlog.c:1301 msgid "timeout reading from server" msgstr "eksvalidiĝo dum legado el servilo" -#: logsrvd/sendlog.c:1327 plugins/sudoers/log_client.c:1747 +#: logsrvd/sendlog.c:1352 plugins/sudoers/log_client.c:1770 msgid "host name does not match certificate" msgstr "retnodnomo ne kongruas kun atestilo" -#: logsrvd/sendlog.c:1361 +#: logsrvd/sendlog.c:1386 msgid "premature EOF" msgstr "trofrua dosierfino" -#: logsrvd/sendlog.c:1374 plugins/sudoers/log_client.c:1795 +#: logsrvd/sendlog.c:1399 plugins/sudoers/log_client.c:1818 #, c-format msgid "server message too large: %u" msgstr "servila mesaĝo tro granda: %u" -#: logsrvd/sendlog.c:1430 +#: logsrvd/sendlog.c:1455 msgid "timeout writing to server" msgstr "eksvalidiĝo dum skribado al servilo" -#: logsrvd/sendlog.c:1800 +#: logsrvd/sendlog.c:1825 msgid "both restart point and iolog ID must be specified" msgstr "kaj restartiga punkto kaj iolog-identigilo estas specifendaj" -#: logsrvd/sendlog.c:1804 +#: logsrvd/sendlog.c:1829 msgid "a restart point may not be set when no I/O is sent" msgstr "ne rajtas estigi restartigan punkton kiam neniu eneligaĵo estas sendita" -#: logsrvd/sendlog.c:1880 +#: logsrvd/sendlog.c:1905 #, c-format msgid "exited prematurely with state %d" msgstr "trofrue finiĝis kun stato %d" -#: logsrvd/sendlog.c:1881 +#: logsrvd/sendlog.c:1906 #, c-format msgid "elapsed time sent to server [%lld, %ld]" msgstr "pasinta tempo sentita al servilo [%lld, %ld]" -#: logsrvd/sendlog.c:1883 +#: logsrvd/sendlog.c:1908 #, c-format msgid "commit point received from server [%lld, %ld]" msgstr "kunsendita punkto ricevita el servilo [%lld, %ld]" -#: logsrvd/tls_client.c:111 plugins/sudoers/log_client.c:315 +#: logsrvd/tls_client.c:120 plugins/sudoers/log_client.c:324 msgid "TLS handshake timeout occurred" msgstr "Eksvalidiĝo de TLS-manpremo okazis" -#: logsrvd/tls_client.c:131 logsrvd/tls_client.c:147 -#: plugins/sudoers/log_client.c:337 plugins/sudoers/log_client.c:353 +#: logsrvd/tls_client.c:140 logsrvd/tls_client.c:156 +#: plugins/sudoers/log_client.c:346 plugins/sudoers/log_client.c:362 msgid "unable to set event" msgstr "ne eblas apliki eventon" -#: logsrvd/tls_client.c:157 logsrvd/tls_client.c:161 +#: logsrvd/tls_client.c:166 logsrvd/tls_client.c:170 #, c-format msgid "TLS connection failed: %s" msgstr "TLS-konekto malsukcesis: %s" -#: logsrvd/tls_client.c:196 +#: logsrvd/tls_client.c:205 #, c-format msgid "unable to allocate ssl object: %s" msgstr "ne eblas generi SSL-objekton: %s" -#: logsrvd/tls_client.c:210 +#: logsrvd/tls_client.c:219 #, c-format msgid "Unable to attach socket to the ssl object: %s" msgstr "Ne eblas almeti ŝtopilingon al la SSL-objekton: %s" -#: logsrvd/tls_client.c:238 +#: logsrvd/tls_client.c:247 msgid "unable to initialize TLS context" msgstr "ne eblas ekigi TLS-kuntekston" @@ -1421,12 +1415,11 @@ msgstr "ne eblas krei TLS-kuntekston: %s" msgid "unable to set minimum protocol version to TLS 1.2: %s" msgstr "ne ablas elekti minimuman eldonon de TLS al 1.2: %s" -#: plugins/sudoers/audit.c:272 plugins/sudoers/audit.c:452 -#: plugins/sudoers/log_client.c:962 plugins/sudoers/log_client.c:1011 -#: plugins/sudoers/log_client.c:1060 plugins/sudoers/log_client.c:1185 -#: plugins/sudoers/logging.c:614 plugins/sudoers/logging.c:732 -#: plugins/sudoers/logging.c:859 plugins/sudoers/logging.c:1031 -#: plugins/sudoers/policy.c:123 +#: plugins/sudoers/audit.c:272 plugins/sudoers/log_client.c:985 +#: plugins/sudoers/log_client.c:1034 plugins/sudoers/log_client.c:1083 +#: plugins/sudoers/log_client.c:1208 plugins/sudoers/logging.c:627 +#: plugins/sudoers/logging.c:867 plugins/sudoers/logging.c:1017 +#: plugins/sudoers/logging.c:1041 plugins/sudoers/policy.c:1055 msgid "unable to get time of day" msgstr "ne eblas akiri la tempon de la tago" @@ -1482,47 +1475,47 @@ msgstr "" "eraro de aŭtentikiga servilo:\n" "%s" -#: plugins/sudoers/auth/kerb5.c:116 +#: plugins/sudoers/auth/kerb5.c:117 #, c-format msgid "%s: unable to convert principal to string ('%s'): %s" msgstr "%s ne eblas konverti ĉefon al ĉeno ('%s'): %s" -#: plugins/sudoers/auth/kerb5.c:166 +#: plugins/sudoers/auth/kerb5.c:167 #, c-format msgid "%s: unable to parse '%s': %s" msgstr "%s: ne eblas analizi: '%s': %s" -#: plugins/sudoers/auth/kerb5.c:175 +#: plugins/sudoers/auth/kerb5.c:176 #, c-format msgid "%s: unable to resolve credential cache: %s" msgstr "%s: ne eblas trovi ccache-on: %s" -#: plugins/sudoers/auth/kerb5.c:226 +#: plugins/sudoers/auth/kerb5.c:227 #, c-format msgid "%s: unable to allocate options: %s" msgstr "%s: ne eblas generi elektojn: %s" -#: plugins/sudoers/auth/kerb5.c:241 +#: plugins/sudoers/auth/kerb5.c:242 #, c-format msgid "%s: unable to get credentials: %s" msgstr "%s: ne eblas akiri atestilojn: %s" -#: plugins/sudoers/auth/kerb5.c:254 +#: plugins/sudoers/auth/kerb5.c:255 #, c-format msgid "%s: unable to initialize credential cache: %s" msgstr "%s: ne eblas ekigi atestilan kaŝmemoron: %s" -#: plugins/sudoers/auth/kerb5.c:257 +#: plugins/sudoers/auth/kerb5.c:258 #, c-format msgid "%s: unable to store credential in cache: %s" msgstr "%s: ne eblas konservi atestilon en kaŝmemoro: %s" -#: plugins/sudoers/auth/kerb5.c:322 +#: plugins/sudoers/auth/kerb5.c:324 #, c-format msgid "%s: unable to get host principal: %s" msgstr "%s: ne eblas atingi gastiganton ĉefan: %s" -#: plugins/sudoers/auth/kerb5.c:336 +#: plugins/sudoers/auth/kerb5.c:338 #, c-format msgid "%s: Cannot verify TGT! Possible attack!: %s" msgstr "%s: Ne eblas kontroli TGT! Ebla atako!: %s" @@ -1600,7 +1593,7 @@ msgstr "nekonata SecurID-eraro" msgid "invalid passcode length for SecurID" msgstr "malvalida paskoda longo por SecurID" -#: plugins/sudoers/auth/sia.c:72 plugins/sudoers/auth/sia.c:130 +#: plugins/sudoers/auth/sia.c:72 plugins/sudoers/auth/sia.c:131 msgid "unable to initialize SIA session" msgstr "ne eblas ekigi SIA-seascon" @@ -1637,22 +1630,22 @@ msgid "unable to commit audit record" msgstr "ne eblis konservi revizian rikordon" #: plugins/sudoers/check.c:63 plugins/sudoers/check.c:74 -#: plugins/sudoers/lookup.c:79 plugins/sudoers/tsdump.c:119 +#: plugins/sudoers/lookup.c:79 #, c-format msgid "unknown uid %u" msgstr "nekonata uid %u" -#: plugins/sudoers/check.c:277 +#: plugins/sudoers/check.c:270 #, c-format msgid "error reading lecture file %s" msgstr "eraro dum legi prelegan dosieron %s" -#: plugins/sudoers/check.c:280 +#: plugins/sudoers/check.c:273 #, c-format msgid "ignoring lecture file %s: not a regular file" msgstr "ignoranta prelegan dosieron %s: ne regula dosiero" -#: plugins/sudoers/check.c:293 +#: plugins/sudoers/check.c:286 msgid "" "\n" "We trust you have received the usual lecture from the local System\n" @@ -1672,7 +1665,7 @@ msgstr "" " #3) Granda povo devigas grandan responson.\n" "\n" -#: plugins/sudoers/check.c:301 +#: plugins/sudoers/check.c:294 msgid "" "For security reasons, the password you type will not be visible.\n" "\n" @@ -1761,13 +1754,13 @@ msgstr "malvalida filtro: %s" msgid "failed to parse %s file, unknown error" msgstr "malsukcesis analizi dosieron %s, nekonata eraro" -#: plugins/sudoers/cvtsudoers.c:1508 plugins/sudoers/sudoreplay.c:1143 +#: plugins/sudoers/cvtsudoers.c:1504 plugins/sudoers/sudoreplay.c:1145 #: plugins/sudoers/timestamp.c:353 plugins/sudoers/timestamp.c:356 #, c-format msgid "unable to write to %s" msgstr "ne eblas skribi al %s" -#: plugins/sudoers/cvtsudoers.c:1536 +#: plugins/sudoers/cvtsudoers.c:1532 #, c-format msgid "" "%s - convert between sudoers file formats\n" @@ -1776,7 +1769,7 @@ msgstr "" "%s - konverti inter dosierformoj de sudoers\n" "\n" -#: plugins/sudoers/cvtsudoers.c:1538 +#: plugins/sudoers/cvtsudoers.c:1534 msgid "" "\n" "Options:\n" @@ -1817,817 +1810,836 @@ msgstr "" " -V, --version montri informon pri versio kaj eliri" #: plugins/sudoers/cvtsudoers_csv.c:192 plugins/sudoers/cvtsudoers_csv.c:199 -#: plugins/sudoers/cvtsudoers_ldif.c:245 plugins/sudoers/cvtsudoers_ldif.c:252 -#: plugins/sudoers/cvtsudoers_ldif.c:594 plugins/sudoers/env.c:340 -#: plugins/sudoers/env.c:347 plugins/sudoers/env.c:458 +#: plugins/sudoers/cvtsudoers_ldif.c:270 plugins/sudoers/cvtsudoers_ldif.c:277 +#: plugins/sudoers/cvtsudoers_ldif.c:628 plugins/sudoers/env.c:357 +#: plugins/sudoers/env.c:364 plugins/sudoers/env.c:475 #: plugins/sudoers/ldap.c:511 plugins/sudoers/ldap.c:629 #: plugins/sudoers/ldap.c:1003 plugins/sudoers/ldap_conf.c:219 -#: plugins/sudoers/ldap_conf.c:310 plugins/sudoers/ldap_util.c:486 -#: plugins/sudoers/linux_audit.c:93 plugins/sudoers/logging.c:479 -#: plugins/sudoers/policy.c:828 plugins/sudoers/policy.c:840 +#: plugins/sudoers/ldap_conf.c:310 plugins/sudoers/ldap_util.c:483 +#: plugins/sudoers/linux_audit.c:93 plugins/sudoers/logging.c:487 +#: plugins/sudoers/policy.c:836 plugins/sudoers/policy.c:848 #: plugins/sudoers/prompt.c:169 plugins/sudoers/serialize_list.c:62 #: plugins/sudoers/serialize_list.c:71 plugins/sudoers/strvec_join.c:62 -#: plugins/sudoers/sudoreplay.c:1340 plugins/sudoers/sudoreplay.c:1346 -#: plugins/sudoers/sudoreplay.c:1352 plugins/sudoers/testsudoers.c:306 -#: plugins/sudoers/toke_util.c:217 toke.l:995 toke.l:1277 +#: plugins/sudoers/sudoreplay.c:1342 plugins/sudoers/sudoreplay.c:1348 +#: plugins/sudoers/sudoreplay.c:1354 plugins/sudoers/testsudoers.c:306 +#: plugins/sudoers/toke_util.c:217 toke.l:975 toke.l:1257 #, c-format msgid "internal error, %s overflow" msgstr "interna eraro, troo en %s" -#: plugins/sudoers/cvtsudoers_csv.c:454 plugins/sudoers/cvtsudoers_csv.c:468 -#: plugins/sudoers/cvtsudoers_json.c:661 plugins/sudoers/cvtsudoers_json.c:676 -#: plugins/sudoers/cvtsudoers_ldif.c:349 plugins/sudoers/cvtsudoers_ldif.c:362 +#: plugins/sudoers/cvtsudoers_csv.c:481 plugins/sudoers/cvtsudoers_csv.c:495 +#: plugins/sudoers/cvtsudoers_json.c:760 plugins/sudoers/cvtsudoers_json.c:776 +#: plugins/sudoers/cvtsudoers_ldif.c:384 plugins/sudoers/cvtsudoers_ldif.c:398 #: plugins/sudoers/ldap.c:495 msgid "unable to get GMT time" msgstr "ne eblas atingi GMT-tempon" -#: plugins/sudoers/cvtsudoers_csv.c:459 plugins/sudoers/cvtsudoers_csv.c:473 -#: plugins/sudoers/cvtsudoers_json.c:666 plugins/sudoers/cvtsudoers_json.c:681 -#: plugins/sudoers/cvtsudoers_ldif.c:354 plugins/sudoers/cvtsudoers_ldif.c:367 +#: plugins/sudoers/cvtsudoers_csv.c:486 plugins/sudoers/cvtsudoers_csv.c:500 +#: plugins/sudoers/cvtsudoers_json.c:765 plugins/sudoers/cvtsudoers_json.c:781 +#: plugins/sudoers/cvtsudoers_ldif.c:389 plugins/sudoers/cvtsudoers_ldif.c:403 #: plugins/sudoers/ldap.c:503 msgid "unable to format timestamp" msgstr "ne eblas aranĝi tempo-indikilon" -#: plugins/sudoers/cvtsudoers_json.c:481 plugins/sudoers/cvtsudoers_json.c:516 -#: plugins/sudoers/cvtsudoers_json.c:732 +#: plugins/sudoers/cvtsudoers_json.c:547 plugins/sudoers/cvtsudoers_json.c:588 +#: plugins/sudoers/cvtsudoers_json.c:841 #, c-format msgid "%s:%d:%d: unknown defaults entry \"%s\"" msgstr "%s:%d:%d: nekonata ero de defaults \"%s\"" -#: plugins/sudoers/cvtsudoers_ldif.c:663 +#: plugins/sudoers/cvtsudoers_ldif.c:116 +#, c-format +msgid "unable to base64 encode value \"%s\"" +msgstr "ne eblas kodi valoron \"%s\" laŭ base64" + +#: plugins/sudoers/cvtsudoers_ldif.c:595 +#, c-format +msgid "internal error, unable insert user %s" +msgstr "interna eraro, ne eblas enmeti uzulon %s" + +#: plugins/sudoers/cvtsudoers_ldif.c:702 #, c-format msgid "too many sudoers entries, maximum %u" msgstr "tro multaj enigoj de sudoers, maksimume %u" -#: plugins/sudoers/cvtsudoers_ldif.c:706 +#: plugins/sudoers/cvtsudoers_ldif.c:747 msgid "the SUDOERS_BASE environment variable is not set and the -b option was not specified." msgstr "la medivariablo SUDOERS_BASE ne estas difinita kaj la modifilo -b ne estis indikata." -#: plugins/sudoers/cvtsudoers_merge.c:273 -#: plugins/sudoers/cvtsudoers_merge.c:309 +#: plugins/sudoers/cvtsudoers_merge.c:275 +#: plugins/sudoers/cvtsudoers_merge.c:313 #, c-format msgid "%s:%d:%d: converting host list to ALL" msgstr "%s:%d:%d: konvertis gastigoliston al ALL" -#: plugins/sudoers/cvtsudoers_merge.c:545 +#: plugins/sudoers/cvtsudoers_merge.c:568 #, c-format msgid "unable to find alias %s" msgstr "ne eblas trovi alinomon: %s" -#: plugins/sudoers/cvtsudoers_merge.c:548 +#: plugins/sudoers/cvtsudoers_merge.c:572 #, c-format msgid "%s:%d:%d: renaming alias %s to %s" msgstr "%s:%d:%d: alinomo ŝanĝiĝinta de %s al %s" -#: plugins/sudoers/cvtsudoers_merge.c:605 +#: plugins/sudoers/cvtsudoers_merge.c:634 #, c-format msgid "%s:%d:%d: removing duplicate alias %s" msgstr "%s:%d:%d: forigas duobligitan alinomon %s" -#: plugins/sudoers/cvtsudoers_merge.c:830 +#: plugins/sudoers/cvtsudoers_merge.c:868 #, c-format msgid "%s:%d:%d: conflicting Defaults entry \"%s\" host-specific in %s:%d:%d" msgstr "%s:%d:%d: konflikta ero Defafaults \"%s\" estas retnodo-specifa en %s:%d:%d" -#: plugins/sudoers/cvtsudoers_merge.c:864 +#: plugins/sudoers/cvtsudoers_merge.c:904 #, c-format msgid "%s:%d:%d: made Defaults \"%s\" specific to host %s" msgstr "%s:%d:%d: Defaults-ero \"%s\" nun specifa por retnodo %s" -#: plugins/sudoers/cvtsudoers_merge.c:882 +#: plugins/sudoers/cvtsudoers_merge.c:922 #, c-format msgid "%s:%d:%d: unable to make Defaults \"%s\" host-specific" msgstr "%s:%d:%d ne eblas fari, ke Defaults \"%s\" estu retnodo-specifa" -#: plugins/sudoers/cvtsudoers_merge.c:892 +#: plugins/sudoers/cvtsudoers_merge.c:932 #, c-format msgid "%s:%d:%d: removing Defaults \"%s\" overridden by subsequent entries" msgstr "%s:%d:%d forigias Default-eron \"%s\" superregita de sinsekvaj eroj" -#: plugins/sudoers/cvtsudoers_merge.c:1088 +#: plugins/sudoers/cvtsudoers_merge.c:1128 #, c-format msgid "%s:%d:%d: merging userspec into %s:%d:%d" msgstr "%s:%d:%d: kunfundis userspec-on en %s:%d:%d" -#: plugins/sudoers/cvtsudoers_merge.c:1182 +#: plugins/sudoers/cvtsudoers_merge.c:1224 #, c-format msgid "%s:%d:%d: removing userspec overridden by subsequent entries" msgstr "%s:%d:%d:forigo de userspec superregita de sinsekvaj eroj" -#: plugins/sudoers/def_data.c:56 +#: plugins/sudoers/def_data.c:58 #, c-format msgid "Syslog facility if syslog is being used for logging: %s" msgstr "Syslog-trajto se syslog estas uzata por protokoli: %s" -#: plugins/sudoers/def_data.c:60 +#: plugins/sudoers/def_data.c:62 #, c-format msgid "Syslog priority to use when user authenticates successfully: %s" msgstr "Syslog-prioritato por uzi, kiam uzanto sukcese aŭtentikiĝas: %s" -#: plugins/sudoers/def_data.c:64 +#: plugins/sudoers/def_data.c:66 #, c-format msgid "Syslog priority to use when user authenticates unsuccessfully: %s" msgstr "Syslog-prioritato por uzi kiam uzanto malsukcese aŭtentikigas: %s" -#: plugins/sudoers/def_data.c:68 +#: plugins/sudoers/def_data.c:70 msgid "Put OTP prompt on its own line" msgstr "Meti OTP-demandilon en sia propra linio" -#: plugins/sudoers/def_data.c:72 +#: plugins/sudoers/def_data.c:74 msgid "Ignore '.' in $PATH" msgstr "Ignori '.' en $PATH" -#: plugins/sudoers/def_data.c:76 +#: plugins/sudoers/def_data.c:78 msgid "Always send mail when sudo is run" msgstr "Ĉiam sendi retmesaĝon kiam sudo plenumiĝas" -#: plugins/sudoers/def_data.c:80 +#: plugins/sudoers/def_data.c:82 msgid "Send mail if user authentication fails" msgstr "Sendi retmesaĝon se uzanto-aŭtentikiĝo malsukcesas" -#: plugins/sudoers/def_data.c:84 +#: plugins/sudoers/def_data.c:86 msgid "Send mail if the user is not in sudoers" msgstr "Sendi retmesaĝon se la uzanto ne estas en sudoers" -#: plugins/sudoers/def_data.c:88 +#: plugins/sudoers/def_data.c:90 msgid "Send mail if the user is not in sudoers for this host" msgstr "Sendi retmesaĝon se la uzanto ne estas en sudoers por la gastiganto" -#: plugins/sudoers/def_data.c:92 +#: plugins/sudoers/def_data.c:94 msgid "Send mail if the user is not allowed to run a command" msgstr "Sendi retmesaĝon se la uzanto ne estas permesata plenumigi komandon" -#: plugins/sudoers/def_data.c:96 +#: plugins/sudoers/def_data.c:98 msgid "Send mail if the user tries to run a command" msgstr "Sendi retmesaĝon se la uzanto provi plenumigi komandon" -#: plugins/sudoers/def_data.c:100 +#: plugins/sudoers/def_data.c:102 msgid "Use a separate timestamp for each user/tty combo" msgstr "Uzi apartan tempo-indikilon por ĉiu uzanto/tty-kombino" -#: plugins/sudoers/def_data.c:104 +#: plugins/sudoers/def_data.c:106 msgid "Lecture user the first time they run sudo" msgstr "Averti uzanton dum la unua fojo ĝi plenumigas je sudo" -#: plugins/sudoers/def_data.c:108 +#: plugins/sudoers/def_data.c:110 #, c-format msgid "File containing the sudo lecture: %s" msgstr "Dosiero havanta la sudo-averton: %s" -#: plugins/sudoers/def_data.c:112 +#: plugins/sudoers/def_data.c:114 msgid "Require users to authenticate by default" msgstr "Postulas, ke uzantoj aŭtentikiĝu aŭtomate" -#: plugins/sudoers/def_data.c:116 +#: plugins/sudoers/def_data.c:118 msgid "Root may run sudo" msgstr "Ĉefuzanto rajtas plenumigi: sudo" -#: plugins/sudoers/def_data.c:120 +#: plugins/sudoers/def_data.c:122 msgid "Log the hostname in the (non-syslog) log file" msgstr "Protokoli la gastignomon en la (ne syslog) protokolo" -#: plugins/sudoers/def_data.c:124 +#: plugins/sudoers/def_data.c:126 msgid "Log the year in the (non-syslog) log file" msgstr "Protokoli la jaron en la (ne syslog) protokolo" -#: plugins/sudoers/def_data.c:128 +#: plugins/sudoers/def_data.c:130 msgid "If sudo is invoked with no arguments, start a shell" msgstr "Se sudo estas vokata kun neniuj parametroj, komencu ŝelon" -#: plugins/sudoers/def_data.c:132 +#: plugins/sudoers/def_data.c:134 msgid "Set $HOME to the target user when starting a shell with -s" msgstr "Valorizi medivariablon $HOME al la cela uzanto dum komenci ŝelon kun -s" -#: plugins/sudoers/def_data.c:136 +#: plugins/sudoers/def_data.c:138 msgid "Always set $HOME to the target user's home directory" msgstr "Ĉiam valorizi medivariablon $HOME al la hejma dosierujo de la cela uzanto" -#: plugins/sudoers/def_data.c:140 +#: plugins/sudoers/def_data.c:142 msgid "Allow some information gathering to give useful error messages" msgstr "Permesi, ke iu informokolektado por doni utilajn eraromesaĝojn" -#: plugins/sudoers/def_data.c:144 +#: plugins/sudoers/def_data.c:146 msgid "Require fully-qualified hostnames in the sudoers file" msgstr "Postuli tute kvalifikitajn gastiganto-nomojn en la dosiero sudoers" -#: plugins/sudoers/def_data.c:148 +#: plugins/sudoers/def_data.c:150 msgid "Insult the user when they enter an incorrect password" msgstr "Insulti la uzanton, kiam si enmetas malĝustan pasvorton" -#: plugins/sudoers/def_data.c:152 +#: plugins/sudoers/def_data.c:154 msgid "Only allow the user to run sudo if they have a tty" msgstr "Nur permesi, ke uzanto plenumigu sudo-on se si havas tty-on" -#: plugins/sudoers/def_data.c:156 +#: plugins/sudoers/def_data.c:158 msgid "Visudo will honor the EDITOR environment variable" msgstr "Visudo honoru la medivariablon EDITOR" -#: plugins/sudoers/def_data.c:160 -msgid "Prompt for root's password, not the users's" +#: plugins/sudoers/def_data.c:162 +msgid "Prompt for root's password, not the user's" msgstr "Peti la ĉefuzantan pasvorton, ne la uzanto-pasvorton" -#: plugins/sudoers/def_data.c:164 -msgid "Prompt for the runas_default user's password, not the users's" +#: plugins/sudoers/def_data.c:166 +msgid "Prompt for the runas_default user's password, not the user's" msgstr "Peti la pasvorton de runas_default, ne de la uzanto" -#: plugins/sudoers/def_data.c:168 -msgid "Prompt for the target user's password, not the users's" +#: plugins/sudoers/def_data.c:170 +msgid "Prompt for the target user's password, not the user's" msgstr "Peti la pasvorton de la cela uzanto, ne la nuna uzanto" -#: plugins/sudoers/def_data.c:172 +#: plugins/sudoers/def_data.c:174 msgid "Apply defaults in the target user's login class if there is one" msgstr "Apliki aŭtomataĵojn en la ensaluta klaso de la cela uzanto, se ĝi ekzistas" -#: plugins/sudoers/def_data.c:176 +#: plugins/sudoers/def_data.c:178 msgid "Set the LOGNAME and USER environment variables" msgstr "Valorizi la medivariablojn LOGNAME kaj USER" -#: plugins/sudoers/def_data.c:180 +#: plugins/sudoers/def_data.c:182 msgid "Only set the effective uid to the target user, not the real uid" msgstr "Nur valorizi la efikan uid-on al la cela uzanto, ne la realan uid-on" -#: plugins/sudoers/def_data.c:184 +#: plugins/sudoers/def_data.c:186 msgid "Don't initialize the group vector to that of the target user" msgstr "Ne ekigi la grupon vektoron al tio de la cela uzanto" -#: plugins/sudoers/def_data.c:188 +#: plugins/sudoers/def_data.c:190 #, c-format msgid "Length at which to wrap log file lines (0 for no wrap): %u" msgstr "Longo je kiu linfaldi la protokol-dosieraj linioj (0 por senfalda): %u" -#: plugins/sudoers/def_data.c:192 +#: plugins/sudoers/def_data.c:194 #, c-format msgid "Authentication timestamp timeout: %.1f minutes" msgstr "Eksvalidiĝo de la aŭtentikiga tempo-indikilo: %.1f minutoj" -#: plugins/sudoers/def_data.c:196 +#: plugins/sudoers/def_data.c:198 #, c-format msgid "Password prompt timeout: %.1f minutes" msgstr "Eksvalidiĝo de la pasvortilo: %.1f minutoj" -#: plugins/sudoers/def_data.c:200 +#: plugins/sudoers/def_data.c:202 #, c-format msgid "Number of tries to enter a password: %u" msgstr "Nombro da provoj por enmeti pasvorton: %u" -#: plugins/sudoers/def_data.c:204 +#: plugins/sudoers/def_data.c:206 #, c-format msgid "Umask to use or 0777 to use user's: 0%o" msgstr "Umask uzi aŭ 07777 por uzi uzanton: 0%o" -#: plugins/sudoers/def_data.c:208 +#: plugins/sudoers/def_data.c:210 #, c-format msgid "Path to log file: %s" msgstr "Vojo al protokolo: %s" -#: plugins/sudoers/def_data.c:212 +#: plugins/sudoers/def_data.c:214 #, c-format msgid "Path to mail program: %s" msgstr "Vojo al retpoŝtilo: %s" -#: plugins/sudoers/def_data.c:216 +#: plugins/sudoers/def_data.c:218 #, c-format msgid "Flags for mail program: %s" msgstr "Parametroj por retpoŝtilo: %s" -#: plugins/sudoers/def_data.c:220 +#: plugins/sudoers/def_data.c:222 #, c-format msgid "Address to send mail to: %s" msgstr "Retpoŝtadreso adresata: %s" -#: plugins/sudoers/def_data.c:224 +#: plugins/sudoers/def_data.c:226 #, c-format msgid "Address to send mail from: %s" msgstr "Retpoŝtadreso adresanta: %s" -#: plugins/sudoers/def_data.c:228 +#: plugins/sudoers/def_data.c:230 #, c-format msgid "Subject line for mail messages: %s" msgstr "Subjekta linio por ĉiuj mesaĝoj: %s" -#: plugins/sudoers/def_data.c:232 +#: plugins/sudoers/def_data.c:234 #, c-format msgid "Incorrect password message: %s" msgstr "Neĝusta pasvorta mesaĝo: %s" -#: plugins/sudoers/def_data.c:236 +#: plugins/sudoers/def_data.c:238 #, c-format msgid "Path to lecture status dir: %s" msgstr "Vojo al dosierujo de prelega stato: %s" -#: plugins/sudoers/def_data.c:240 +#: plugins/sudoers/def_data.c:242 #, c-format msgid "Path to authentication timestamp dir: %s" msgstr "Vojo al dosierujo de aŭtentikiga tempo-indikilo: %s" -#: plugins/sudoers/def_data.c:244 +#: plugins/sudoers/def_data.c:246 #, c-format msgid "Owner of the authentication timestamp dir: %s" msgstr "Estro de la dosierujo de aŭtentikiga tempo-indikilo: %s" -#: plugins/sudoers/def_data.c:248 +#: plugins/sudoers/def_data.c:250 #, c-format msgid "Users in this group are exempt from password and PATH requirements: %s" msgstr "Uzantoj en la grupo en devas plenumi la postulojn de pasvorto kaj PATH: %s" -#: plugins/sudoers/def_data.c:252 +#: plugins/sudoers/def_data.c:254 #, c-format msgid "Default password prompt: %s" msgstr "Defaŭlta pasvorta peto: %s" -#: plugins/sudoers/def_data.c:256 +#: plugins/sudoers/def_data.c:258 msgid "If set, passprompt will override system prompt in all cases." msgstr "Se aktivigita, passprompt superregas sistemajn invitojn ĉiuokaze." -#: plugins/sudoers/def_data.c:260 +#: plugins/sudoers/def_data.c:262 #, c-format msgid "Default user to run commands as: %s" msgstr "Defaŭlta uzanto por plenumigi komandojn: %s" -#: plugins/sudoers/def_data.c:264 +#: plugins/sudoers/def_data.c:266 #, c-format msgid "Value to override user's $PATH with: %s" msgstr "Valoro per kiu superregi la PATH-on de uzanto: %s" -#: plugins/sudoers/def_data.c:268 +#: plugins/sudoers/def_data.c:270 #, c-format msgid "Path to the editor for use by visudo: %s" msgstr "Vojo al la tekstoredaktilo uzota de visudo: %s" -#: plugins/sudoers/def_data.c:272 +#: plugins/sudoers/def_data.c:274 #, c-format msgid "When to require a password for 'list' pseudocommand: %s" msgstr "Kiam postuli pasvorton por la pseŭdokomando 'list' : %s" -#: plugins/sudoers/def_data.c:276 +#: plugins/sudoers/def_data.c:278 #, c-format msgid "When to require a password for 'verify' pseudocommand: %s" msgstr "Kiam postuli pasvorton por la pseŭdokamando 'verify' : %s" -#: plugins/sudoers/def_data.c:280 +#: plugins/sudoers/def_data.c:282 msgid "Preload the sudo_noexec library which replaces the exec functions" msgstr "Antaŭŝargi la bibliotekon sudo_noexec, kiu anstataŭas la exec-funkciojn" -#: plugins/sudoers/def_data.c:284 +#: plugins/sudoers/def_data.c:286 msgid "If LDAP directory is up, do we ignore local sudoers file" msgstr "Se LDAP-dosierujo estas aktiva, ni ignoru la lokan suders-dosieron" -#: plugins/sudoers/def_data.c:288 +#: plugins/sudoers/def_data.c:290 #, c-format msgid "File descriptors >= %d will be closed before executing a command" msgstr "Dosiero-priskribiloj >= %d fermiĝos antaŭ ol plenumigi komandon" -#: plugins/sudoers/def_data.c:292 +#: plugins/sudoers/def_data.c:294 msgid "If set, users may override the value of \"closefrom\" with the -C option" msgstr "Se elektita, uzantoj rajtas superregi la valoron de \"closefrom\" per la parametro -C" -#: plugins/sudoers/def_data.c:296 +#: plugins/sudoers/def_data.c:298 msgid "Allow users to set arbitrary environment variables" msgstr "Permesi, ke uzantoj valorizu arbitrajn medivariablojn" -#: plugins/sudoers/def_data.c:300 +#: plugins/sudoers/def_data.c:302 msgid "Reset the environment to a default set of variables" msgstr "Restarigi la medion al apriora aro da variabloj" -#: plugins/sudoers/def_data.c:304 +#: plugins/sudoers/def_data.c:306 msgid "Environment variables to check for safety:" msgstr "Medivariabloj por kontroli por sekureco:" -#: plugins/sudoers/def_data.c:308 +#: plugins/sudoers/def_data.c:310 msgid "Environment variables to remove:" msgstr "Medivariabloj por forigi:" -#: plugins/sudoers/def_data.c:312 +#: plugins/sudoers/def_data.c:314 msgid "Environment variables to preserve:" msgstr "Medivariabloj konservi:" -#: plugins/sudoers/def_data.c:316 +#: plugins/sudoers/def_data.c:318 #, c-format msgid "SELinux role to use in the new security context: %s" msgstr "SELinux-rolo por uzi en la nova sekureca kunteksto: %s" -#: plugins/sudoers/def_data.c:320 +#: plugins/sudoers/def_data.c:322 #, c-format msgid "SELinux type to use in the new security context: %s" msgstr "SELinux-tipo por uzi en la nova sekureca kunteksto: %s" -#: plugins/sudoers/def_data.c:324 +#: plugins/sudoers/def_data.c:326 #, c-format msgid "Path to the sudo-specific environment file: %s" msgstr "Vojo al media dosiero specifa al sudo: %s" -#: plugins/sudoers/def_data.c:328 +#: plugins/sudoers/def_data.c:330 #, c-format msgid "Path to the restricted sudo-specific environment file: %s" msgstr "Vojo al la neatingebla sudo-specifa medio-dosiero: %s" -#: plugins/sudoers/def_data.c:332 +#: plugins/sudoers/def_data.c:334 #, c-format msgid "Locale to use while parsing sudoers: %s" msgstr "Lokaĵaro por uzi dum analizi dosieron sudoers: %s" -#: plugins/sudoers/def_data.c:336 +#: plugins/sudoers/def_data.c:338 msgid "Allow sudo to prompt for a password even if it would be visible" msgstr "Permesi, ke sudo peti pasvorton eĉ se ĝi estus videbla" -#: plugins/sudoers/def_data.c:340 +#: plugins/sudoers/def_data.c:342 msgid "Provide visual feedback at the password prompt when there is user input" msgstr "Doni vidajn indikojn je la pasvorta enmetanta kiam ekzistas enmeto" -#: plugins/sudoers/def_data.c:344 +#: plugins/sudoers/def_data.c:346 msgid "Use faster globbing that is less accurate but does not access the filesystem" msgstr "Uzi pli rapida kunigo, kiu estas malpli ĝusta sed ne atingas la dosiersistemon" -#: plugins/sudoers/def_data.c:348 +#: plugins/sudoers/def_data.c:350 msgid "The umask specified in sudoers will override the user's, even if it is more permissive" msgstr "La umask specifa en sudoers superregos tio de la uzanto, eĉ se ĝi estas pli permesema" -#: plugins/sudoers/def_data.c:352 +#: plugins/sudoers/def_data.c:354 msgid "Log user's input for the command being run" msgstr "Protokoli enmeton de uzanto por la komando plenumigata" -#: plugins/sudoers/def_data.c:356 +#: plugins/sudoers/def_data.c:358 msgid "Log the command's standard input if not connected to a terminal" msgstr "Protokoli la ĉefenigujon de komando se ne konektiĝinta al terminalo" -#: plugins/sudoers/def_data.c:360 +#: plugins/sudoers/def_data.c:362 msgid "Log the user's terminal input for the command being run" msgstr "Protokoli la terminalo-enmeton de uzanto por la komando plenumigata" -#: plugins/sudoers/def_data.c:364 +#: plugins/sudoers/def_data.c:366 msgid "Log the output of the command being run" msgstr "Protokoli la eligon de la komando, kiu estas plenumiĝi" -#: plugins/sudoers/def_data.c:368 +#: plugins/sudoers/def_data.c:370 msgid "Log the command's standard output if not connected to a terminal" msgstr "Protokoli la ĉefeligujon de komandon se ne konektiĝinta al terminalo" -#: plugins/sudoers/def_data.c:372 +#: plugins/sudoers/def_data.c:374 msgid "Log the command's standard error if not connected to a terminal" msgstr "Protokoli la ĉeferarujon de komandon se ne konektiĝinta al terminalo" -#: plugins/sudoers/def_data.c:376 +#: plugins/sudoers/def_data.c:378 msgid "Log the terminal output of the command being run" msgstr "Protokoli la terminalo-eligon de la komando plenumigata" -#: plugins/sudoers/def_data.c:380 +#: plugins/sudoers/def_data.c:382 msgid "Compress I/O logs using zlib" msgstr "Kunpremi eneligaj protokoloj per zlib" -#: plugins/sudoers/def_data.c:384 +#: plugins/sudoers/def_data.c:386 msgid "Always run commands in a pseudo-tty" msgstr "Ĉiam protokoli komandojn en pseŭda tty" -#: plugins/sudoers/def_data.c:388 +#: plugins/sudoers/def_data.c:390 #, c-format msgid "Plugin for non-Unix group support: %s" msgstr "Kromprogramo por kompreno de ne-uniksaj grupoj: %s" -#: plugins/sudoers/def_data.c:392 +#: plugins/sudoers/def_data.c:394 #, c-format msgid "Directory in which to store input/output logs: %s" msgstr "Dosierujo en kiu konservi eneligaj protokoloj: %s" -#: plugins/sudoers/def_data.c:396 +#: plugins/sudoers/def_data.c:398 #, c-format msgid "File in which to store the input/output log: %s" msgstr "Dosiero en kiu konservi la eneliga protokolo: %s" -#: plugins/sudoers/def_data.c:400 +#: plugins/sudoers/def_data.c:402 msgid "Add an entry to the utmp/utmpx file when allocating a pty" msgstr "Aldoni eron al la utmp/utmpx-dosiero dum generi pty-on" -#: plugins/sudoers/def_data.c:404 +#: plugins/sudoers/def_data.c:406 msgid "Set the user in utmp to the runas user, not the invoking user" msgstr "Valorizi uzanton en utmp al la plenumigkiela uzanto, ne la vokanta uzanto" -#: plugins/sudoers/def_data.c:408 +#: plugins/sudoers/def_data.c:410 #, c-format msgid "Set of permitted privileges: %s" msgstr "Aro da permesitaj privilegioj: %s" -#: plugins/sudoers/def_data.c:412 +#: plugins/sudoers/def_data.c:414 #, c-format msgid "Set of limit privileges: %s" msgstr "Aro da limigaj privilegioj: %s" -#: plugins/sudoers/def_data.c:416 +#: plugins/sudoers/def_data.c:418 msgid "Run commands on a pty in the background" msgstr "Plenumigi komandojn en pty en la fono" -#: plugins/sudoers/def_data.c:420 +#: plugins/sudoers/def_data.c:422 #, c-format msgid "PAM service name to use: %s" msgstr "PAM-servonomo uzota: %s" -#: plugins/sudoers/def_data.c:424 +#: plugins/sudoers/def_data.c:426 #, c-format msgid "PAM service name to use for login shells: %s" msgstr "PAM-servonomo uzota por ensalutaj ŝeloj: %s" -#: plugins/sudoers/def_data.c:428 +#: plugins/sudoers/def_data.c:430 #, c-format msgid "PAM service name to use when sudo is run with the -A option: %s" msgstr "PAM-servonomo uzota kiam sudo estas plenumigota ken la elektebleco -A: %s" -#: plugins/sudoers/def_data.c:432 +#: plugins/sudoers/def_data.c:434 msgid "Attempt to establish PAM credentials for the target user" msgstr "Ne eblas establi PAM-atestilojn por la cela uzanto" -#: plugins/sudoers/def_data.c:436 +#: plugins/sudoers/def_data.c:438 msgid "Create a new PAM session for the command to run in" msgstr "Krei novan PAM-seancon en kiu la komando plenumiĝos" -#: plugins/sudoers/def_data.c:440 +#: plugins/sudoers/def_data.c:442 msgid "Perform PAM account validation management" msgstr "Administradi validigon de konto PAM" -#: plugins/sudoers/def_data.c:444 +#: plugins/sudoers/def_data.c:446 +msgid "Do not allow PAM authentication modules to generate output" +msgstr "Ne permesu, ke PAM-aŭtentigaj moduloj generi eligon" + +#: plugins/sudoers/def_data.c:450 #, c-format msgid "Maximum I/O log sequence number: %s" msgstr "Maksimuma sinsekva numero de la eneliga protokolo: %s" -#: plugins/sudoers/def_data.c:448 +#: plugins/sudoers/def_data.c:454 msgid "Enable sudoers netgroup support" msgstr "Aktivigi retgrupan regon de sudoers" -#: plugins/sudoers/def_data.c:452 +#: plugins/sudoers/def_data.c:458 msgid "Check parent directories for writability when editing files with sudoedit" msgstr "Kontroli gepatrajn dosierujojn pri skribeblo dum redakto de dosieroj per sudoedit" -#: plugins/sudoers/def_data.c:456 +#: plugins/sudoers/def_data.c:462 msgid "Follow symbolic links when editing files with sudoedit" msgstr "Sekvi simbolajn ligojn dum redakto de dosieroj per sudoedit" -#: plugins/sudoers/def_data.c:460 +#: plugins/sudoers/def_data.c:466 msgid "Query the group plugin for unknown system groups" msgstr "Informo-mendi la grupan kromprogramon por nekonataj sistem-grupoj" -#: plugins/sudoers/def_data.c:464 +#: plugins/sudoers/def_data.c:470 msgid "Match netgroups based on the entire tuple: user, host and domain" msgstr "Kongrui retgrupoj surbaze de entuta n-opo: uzanto, gastiganto kaj domajno" -#: plugins/sudoers/def_data.c:468 +#: plugins/sudoers/def_data.c:474 msgid "Allow commands to be run even if sudo cannot write to the audit log" msgstr "Permesi ke komandoj estu plenumataj eĉ se sudo ne povas skribi al la ekzamena protokolo" -#: plugins/sudoers/def_data.c:472 +#: plugins/sudoers/def_data.c:478 msgid "Allow commands to be run even if sudo cannot write to the I/O log" msgstr "Permesi ke komandoj estu plenumataj eĉ se sudo ne povas skribi al la eneliga protokolo" -#: plugins/sudoers/def_data.c:476 +#: plugins/sudoers/def_data.c:482 msgid "Allow commands to be run even if sudo cannot write to the log file" msgstr "Permesi ke komandoj estu plenumataj eĉ se sudo ne povas skribi al la protokola dosiero" -#: plugins/sudoers/def_data.c:480 +#: plugins/sudoers/def_data.c:486 msgid "Resolve groups in sudoers and match on the group ID, not the name" msgstr "Solvi grupojn en sudoers kaj kongrui al la grupa ID, ne la nomo" -#: plugins/sudoers/def_data.c:484 +#: plugins/sudoers/def_data.c:490 #, c-format msgid "Log entries larger than this value will be split into multiple syslog messages: %u" msgstr "Protokoleroj pli grandaj ol tiu ĉi valoro estos dividitaj en multoblajn mesaĝojn en syslog: %u" -#: plugins/sudoers/def_data.c:488 +#: plugins/sudoers/def_data.c:494 #, c-format msgid "User that will own the I/O log files: %s" msgstr "Uzanto kiu posedos la eneligajn protokol-dosierojn: %s" -#: plugins/sudoers/def_data.c:492 +#: plugins/sudoers/def_data.c:498 #, c-format msgid "Group that will own the I/O log files: %s" msgstr "Grupo kiu posedos la eneligajn protokol-dosierojn: %s" -#: plugins/sudoers/def_data.c:496 +#: plugins/sudoers/def_data.c:502 #, c-format msgid "File mode to use for the I/O log files: 0%o" msgstr "Dosier-reĝimo uzota por la eneligaj protokol-dosieroj: 0%o" -#: plugins/sudoers/def_data.c:500 +#: plugins/sudoers/def_data.c:506 #, c-format msgid "Execute commands by file descriptor instead of by path: %s" msgstr "Plenumigi komandojn laŭ dosiernumero anstataŭ laŭ vojo: %s" -#: plugins/sudoers/def_data.c:504 +#: plugins/sudoers/def_data.c:510 msgid "Ignore unknown Defaults entries in sudoers instead of producing a warning" msgstr "Ignori nekonatajn erojn Defaults en sudoers anstataŭ prezenti averton" -#: plugins/sudoers/def_data.c:508 +#: plugins/sudoers/def_data.c:514 #, c-format msgid "Time in seconds after which the command will be terminated: %u" msgstr "Tempo laŭ sekundoj pust kiu la komando finiĝos: %u" -#: plugins/sudoers/def_data.c:512 +#: plugins/sudoers/def_data.c:518 msgid "Allow the user to specify a timeout on the command line" msgstr "Permesi al la uzanto specifi eksvalidiĝon per la komandlinio" -#: plugins/sudoers/def_data.c:516 +#: plugins/sudoers/def_data.c:522 msgid "Flush I/O log data to disk immediately instead of buffering it" msgstr "Tuj elbufrigi eneligo-protokolajn datumojn en diskon anstataŭ enbufrigi ĝin" -#: plugins/sudoers/def_data.c:520 +#: plugins/sudoers/def_data.c:526 msgid "Include the process ID when logging via syslog" msgstr "Inkluzivigi la procezan identigilon dum protokoli per syslog" -#: plugins/sudoers/def_data.c:524 +#: plugins/sudoers/def_data.c:530 #, c-format msgid "Type of authentication timestamp record: %s" msgstr "Tipo de tempindika rikordo por aŭtentikigo: %s" -#: plugins/sudoers/def_data.c:528 +#: plugins/sudoers/def_data.c:534 #, c-format msgid "Authentication failure message: %s" msgstr "Mesaĝo pri malsukceso dum aŭtentikigo: %s" -#: plugins/sudoers/def_data.c:532 +#: plugins/sudoers/def_data.c:538 msgid "Ignore case when matching user names" msgstr "Preteratenti usklecon dum kongruo al uzantnomoj" -#: plugins/sudoers/def_data.c:536 +#: plugins/sudoers/def_data.c:542 msgid "Ignore case when matching group names" msgstr "Preteratenti usklecon dum kongruo al grupnomoj" -#: plugins/sudoers/def_data.c:540 +#: plugins/sudoers/def_data.c:546 msgid "Log when a command is allowed by sudoers" msgstr "Protokoli kiam komando estas permesata de sudoers" -#: plugins/sudoers/def_data.c:544 +#: plugins/sudoers/def_data.c:550 msgid "Log when a command is denied by sudoers" msgstr "Protokoli kiam komando estas malpermesata de sudoers" -#: plugins/sudoers/def_data.c:548 +#: plugins/sudoers/def_data.c:554 msgid "Sudo log server(s) to connect to with optional port" msgstr "Sudo: protokoli servilo(j)n al kiuj konektiĝi kun libervola pordo" -#: plugins/sudoers/def_data.c:552 +#: plugins/sudoers/def_data.c:558 #, c-format msgid "Sudo log server timeout in seconds: %u" msgstr "Sudo: protokoli servilan eksvalidiĝon laŭ sekundoj: %u" -#: plugins/sudoers/def_data.c:556 +#: plugins/sudoers/def_data.c:562 msgid "Enable SO_KEEPALIVE socket option on the socket connected to the logserver" msgstr "Ebligi ŝtopilingan elekton SO_KEEPALIVE por la ŝtopilingo konektita al la protokolservilo" -#: plugins/sudoers/def_data.c:560 +#: plugins/sudoers/def_data.c:566 #, c-format msgid "Path to the audit server's CA bundle file: %s" msgstr "Vojo al atestilara dosiero de la kontrola servilo: %s" -#: plugins/sudoers/def_data.c:564 +#: plugins/sudoers/def_data.c:570 #, c-format msgid "Path to the sudoers certificate file: %s" msgstr "Vojo al atestila dosiero de sudoers: %s" -#: plugins/sudoers/def_data.c:568 +#: plugins/sudoers/def_data.c:574 #, c-format msgid "Path to the sudoers private key file: %s" msgstr "Vojo al la privatŝlosila dosiero de sudoers: %s" -#: plugins/sudoers/def_data.c:572 +#: plugins/sudoers/def_data.c:578 msgid "Verify that the log server's certificate is valid" msgstr "Konstati ke la atestilo de la protokolo-servilo validas" -#: plugins/sudoers/def_data.c:576 +#: plugins/sudoers/def_data.c:582 msgid "Allow the use of unknown runas user and/or group ID" msgstr "Permesi la uzon de nekonata plenumkiel-uzanto kajaŭ grupa identigilo" -#: plugins/sudoers/def_data.c:580 +#: plugins/sudoers/def_data.c:586 msgid "Only permit running commands as a user with a valid shell" msgstr "Permesi nur plenumigi komandojn kiel uzanto kun valida ŝelo" -#: plugins/sudoers/def_data.c:584 +#: plugins/sudoers/def_data.c:590 msgid "Set the pam remote user to the user running sudo" msgstr "Agordi la PAM-foran uzanton al la uzanto, kiu plenumigas je sudo" -#: plugins/sudoers/def_data.c:588 +#: plugins/sudoers/def_data.c:594 msgid "Set the pam remote host to the local host name" msgstr "Agordi la PAM-foran retnodon al la loka nodnomo" -#: plugins/sudoers/def_data.c:592 +#: plugins/sudoers/def_data.c:598 #, c-format msgid "Working directory to change to before executing the command: %s" msgstr "Kuranta dosierujo ŝanĝota antaŭ ol plenumi la komandon: %s" -#: plugins/sudoers/def_data.c:596 +#: plugins/sudoers/def_data.c:602 #, c-format msgid "Root directory to change to before executing the command: %s" msgstr "Radika dosierujo ŝanĝota antaŭ ol plenumi la komandon: %s" -#: plugins/sudoers/def_data.c:600 +#: plugins/sudoers/def_data.c:606 #, c-format msgid "The format of logs to produce: %s" msgstr "La formato de protokoloj por produkti je %s" -#: plugins/sudoers/def_data.c:604 +#: plugins/sudoers/def_data.c:610 msgid "Enable SELinux RBAC support" msgstr "Aktivigu regon de SELinux-RBAC" -#: plugins/sudoers/def_data.c:608 +#: plugins/sudoers/def_data.c:614 #, c-format msgid "Path to the file that is created the first time sudo is run: %s" msgstr "Vojo al la dosiero, kiu estas kreota la unan fojon, kiam sudo estas plenumiĝinta: %s" -#: plugins/sudoers/def_data.c:612 +#: plugins/sudoers/def_data.c:618 msgid "Intercept further commands and apply sudoers restrictions to them" msgstr "Interkapti pluajn komandojn kaj apliki al ili limigojn el sudoers" -#: plugins/sudoers/def_data.c:616 +#: plugins/sudoers/def_data.c:622 msgid "Log sub-commands run by the original command" msgstr "Protokoli subkomandojn plenumigitajn de la origina komando" -#: plugins/sudoers/def_data.c:620 +#: plugins/sudoers/def_data.c:626 msgid "Log the exit status of commands" msgstr "Protokoli la eligon de komandoj" -#: plugins/sudoers/def_data.c:624 +#: plugins/sudoers/def_data.c:630 msgid "Subsequent commands in an intercepted session must be authenticated" msgstr "Sinsekvaj komandoj en interkaptita seanco devas esti aŭtentigita" -#: plugins/sudoers/def_data.c:628 +#: plugins/sudoers/def_data.c:634 msgid "Allow an intercepted command to run set setuid or setgid programs" msgstr "Permesi al interkaptita komando plenumi iujn setuid- aŭ setgid-programojn" -#: plugins/sudoers/def_data.c:632 +#: plugins/sudoers/def_data.c:638 #, c-format msgid "The maximum size to which the process's address space may grow (in bytes): %s" msgstr "La maksimuma grando ĝis kiu la adresspaco de la procezo rajtas kreski (laŭ bajtoj): %s" -#: plugins/sudoers/def_data.c:636 +#: plugins/sudoers/def_data.c:642 #, c-format msgid "The largest size core dump file that may be created (in bytes): %s" msgstr "La plej granda ŝuto-dosiero, kiu rajtas kreiĝi (laŭ bajtoj): %s" -#: plugins/sudoers/def_data.c:640 +#: plugins/sudoers/def_data.c:646 #, c-format msgid "The maximum amount of CPU time that the process may use (in seconds): %s" msgstr "La maksimumo da ĉefprocezora tempo, kiun procezo rajtas uzi (laŭ sekundoj): %s" -#: plugins/sudoers/def_data.c:644 +#: plugins/sudoers/def_data.c:650 #, c-format msgid "The maximum size of the data segment for the process (in bytes): %s" msgstr "La maksimuma grando de la datuma segmento por la procezo (laŭ bajtoj): %s" -#: plugins/sudoers/def_data.c:648 +#: plugins/sudoers/def_data.c:654 #, c-format msgid "The largest size file that the process may create (in bytes): %s" msgstr "La plaj granda dosiero, kiun procezo rajtas krei (laŭ bajtoj): %s" -#: plugins/sudoers/def_data.c:652 +#: plugins/sudoers/def_data.c:658 #, c-format msgid "The maximum number of locks that the process may establish: %s" msgstr "La maksimuma nombro da fiksiloj, kiujn la procezo rajtas krei: %s" -#: plugins/sudoers/def_data.c:656 +#: plugins/sudoers/def_data.c:662 #, c-format msgid "The maximum size that the process may lock in memory (in bytes): %s" msgstr "La maksumima grando, kiun la procezo rajtas fiksi en memoron (laŭ bajtoj): %s" -#: plugins/sudoers/def_data.c:660 +#: plugins/sudoers/def_data.c:666 #, c-format msgid "The maximum number of files that the process may have open: %s" msgstr "La maksimuma nombro da dosieroj, kiujn la procezo rajtas teni malfermajn: %s" -#: plugins/sudoers/def_data.c:664 +#: plugins/sudoers/def_data.c:670 #, c-format msgid "The maximum number of processes that the user may run simultaneously: %s" msgstr "La maksimuma nombro da procezoj, kiujn la uzanta rajtas samtempe plenumigi: %s" -#: plugins/sudoers/def_data.c:668 +#: plugins/sudoers/def_data.c:674 #, c-format msgid "The maximum size to which the process's resident set size may grow (in bytes): %s" msgstr "La maksimuma grando ĝis kiu la loĝa aro de la procezo rajtas kreski (laŭ bajtoj): %s" -#: plugins/sudoers/def_data.c:672 +#: plugins/sudoers/def_data.c:678 #, c-format msgid "The maximum size to which the process's stack may grow (in bytes): %s" msgstr "La maksimuma grando ĝis kiu la staplo de la procezo rajtas kreski (laŭ bajtoj): %s" -#: plugins/sudoers/def_data.c:676 +#: plugins/sudoers/def_data.c:682 msgid "Attempt authentication even when in non-interactive mode" msgstr "Provi aŭtentigo eĉ kiam en neinteraga reĝimo" -#: plugins/sudoers/def_data.c:680 +#: plugins/sudoers/def_data.c:686 msgid "Store plaintext passwords in I/O log input" msgstr "Konservi plattekstajn pasvortojn en eneliga protokolo" -#: plugins/sudoers/def_data.c:684 +#: plugins/sudoers/def_data.c:690 msgid "List of regular expressions to use when matching a password prompt" msgstr "Listo da regulesprimo uzota kiam kongruanta kun pasvorta invitilo" -#: plugins/sudoers/def_data.c:688 +#: plugins/sudoers/def_data.c:694 #, c-format msgid "The mechanism used by the intercept and log_subcmds options: %s" msgstr "La meĥanismo uzata de la intercept- kaj log_subcmd-elektoj: %s" -#: plugins/sudoers/def_data.c:692 +#: plugins/sudoers/def_data.c:698 msgid "Attempt to verify the command and arguments after execution" msgstr "Provi aŭtentigi la komandon kaj parametrojn post plenumiĝo" -#: plugins/sudoers/def_data.c:696 +#: plugins/sudoers/def_data.c:702 #, c-format msgid "AppArmor profile to use in the new security context: %s" msgstr "AppArmor-profile uzota en la nova sekureca kunteksto: %s" +#: plugins/sudoers/def_data.c:706 +#, c-format +msgid "Command denial message: %s" +msgstr "Mesaĝo de rifuzata komando: %s" + #: plugins/sudoers/defaults.c:207 #, c-format msgid "unknown defaults entry \"%s\"" @@ -2658,64 +2670,64 @@ msgstr "malvalida Defaults-tipo 0x%x por parametro \"%s\"" msgid "value \"%s\" is invalid for option \"%s\"" msgstr "valoro \"%s\" estas malvalida por parametro \"%s\"" -#: plugins/sudoers/defaults.c:1176 plugins/sudoers/policy.c:213 -#: plugins/sudoers/policy.c:222 +#: plugins/sudoers/defaults.c:1189 plugins/sudoers/policy.c:208 +#: plugins/sudoers/policy.c:217 #, c-format msgid "path name for \"%s\" too long" msgstr "vojnomo por \"%s\" tro longas" -#: plugins/sudoers/defaults.c:1182 +#: plugins/sudoers/defaults.c:1195 #, c-format msgid "values for \"%s\" must start with a '/', '~', or '*'" msgstr "valoroj por \"%s\" devas komenciĝi per '/', '~' aŭ '*'" -#: plugins/sudoers/defaults.c:1189 +#: plugins/sudoers/defaults.c:1202 #, c-format msgid "values for \"%s\" must start with a '/'" msgstr "valoroj por \"%s\" devas komenciĝi per '/'" -#: plugins/sudoers/display.c:160 +#: plugins/sudoers/display.c:154 #, c-format msgid "LDAP Role: %s\n" msgstr "LDAP-rolo: %s\n" -#: plugins/sudoers/display.c:163 +#: plugins/sudoers/display.c:157 #, c-format msgid "Sudoers entry: %s\n" msgstr "Ero en sudoers: %s\n" -#: plugins/sudoers/display.c:166 +#: plugins/sudoers/display.c:160 msgid " RunAsUsers: " msgstr " RunAsUsers: " -#: plugins/sudoers/display.c:181 +#: plugins/sudoers/display.c:175 msgid " RunAsGroups: " msgstr " RunAsGroups: " -#: plugins/sudoers/display.c:191 +#: plugins/sudoers/display.c:185 msgid " Options: " msgstr " Modifiloj: " -#: plugins/sudoers/display.c:255 +#: plugins/sudoers/display.c:249 msgid " Commands:\n" msgstr " Komandoj:\n" -#: plugins/sudoers/display.c:478 +#: plugins/sudoers/display.c:472 #, c-format msgid "Matching Defaults entries for %s on %s:\n" msgstr "Kongruantaj eroj de Defaults: %s en %s:\n" -#: plugins/sudoers/display.c:496 +#: plugins/sudoers/display.c:490 #, c-format msgid "Runas and Command-specific defaults for %s:\n" msgstr "Plenumigkiela komando-specifaj aŭtomataĵoj por %s:\n" -#: plugins/sudoers/display.c:514 +#: plugins/sudoers/display.c:508 #, c-format msgid "User %s may run the following commands on %s:\n" msgstr "Uzanto %s rajtas plenumigi la jenajn komandojn en %s:\n" -#: plugins/sudoers/display.c:530 +#: plugins/sudoers/display.c:524 #, c-format msgid "User %s is not allowed to run sudo on %s.\n" msgstr "Uzanto %s ne rajtas plenumigi sudo-on en %s.\n" @@ -2729,15 +2741,15 @@ msgstr "ignoras redaktilon: %.*s" msgid "editor arguments may not contain \"--\"" msgstr "redaktiloj parametroj ne povas enhavi \"--\"" -#: plugins/sudoers/env.c:426 +#: plugins/sudoers/env.c:443 msgid "sudo_putenv: corrupted envp, length mismatch" msgstr "sudo_putenv: medio tro granda" -#: plugins/sudoers/env.c:1119 +#: plugins/sudoers/env.c:1137 msgid "unable to rebuild the environment" msgstr "ne eblas rekonstrui la medion" -#: plugins/sudoers/env.c:1199 +#: plugins/sudoers/env.c:1217 #, c-format msgid "sorry, you are not allowed to set the following environment variables: %s" msgstr "bedaŭre vi ne estas permesata valorizi la jenajn medivariablojn: %s" @@ -2781,37 +2793,37 @@ msgstr "ne eblas trakti retmaskon \"%s\"" msgid "Local IP address and netmask pairs:\n" msgstr "Loka IP-adresa kaj retmaska paroj:\n" -#: plugins/sudoers/iolog.c:694 +#: plugins/sudoers/iolog.c:702 msgid "unable to update sequence file" msgstr "ne eblas ĝisdatigi sinsekvan dosieron" -#: plugins/sudoers/iolog.c:728 plugins/sudoers/iolog.c:917 -#: plugins/sudoers/iolog.c:1080 plugins/sudoers/iolog.c:1087 -#: plugins/sudoers/iolog.c:1209 plugins/sudoers/iolog.c:1216 -#: plugins/sudoers/iolog.c:1316 plugins/sudoers/iolog.c:1323 +#: plugins/sudoers/iolog.c:736 plugins/sudoers/iolog.c:925 +#: plugins/sudoers/iolog.c:1088 plugins/sudoers/iolog.c:1095 +#: plugins/sudoers/iolog.c:1217 plugins/sudoers/iolog.c:1224 +#: plugins/sudoers/iolog.c:1324 plugins/sudoers/iolog.c:1331 #, c-format msgid "unable to write to I/O log file: %s" msgstr "ne eblas skribi al eneliga protokoldosiero: %s" -#: plugins/sudoers/iolog.c:736 +#: plugins/sudoers/iolog.c:744 #, c-format msgid "unable to create %s/%s" msgstr "ne eblas krei: %s/%s" -#: plugins/sudoers/iolog.c:965 +#: plugins/sudoers/iolog.c:973 #, c-format msgid "%s: internal error, I/O log file for event %d not open" msgstr "%s: interna eraro, protokola dosiero de en/eligo por evento %d ne estas malferma" -#: plugins/sudoers/iolog.c:1065 plugins/sudoers/iolog.c:1194 -#: plugins/sudoers/iolog.c:1300 plugins/sudoers/timestamp.c:897 -#: plugins/sudoers/timestamp.c:989 plugins/sudoers/visudo.c:555 +#: plugins/sudoers/iolog.c:1073 plugins/sudoers/iolog.c:1202 +#: plugins/sudoers/iolog.c:1308 plugins/sudoers/timestamp.c:900 +#: plugins/sudoers/timestamp.c:992 plugins/sudoers/visudo.c:555 #: plugins/sudoers/visudo.c:561 msgid "unable to read the clock" msgstr "ne eblas legi la horloĝon" -#: plugins/sudoers/iolog.c:1292 plugins/sudoers/log_client.c:1203 -#: plugins/sudoers/log_client.c:1213 plugins/sudoers/log_client.c:1217 +#: plugins/sudoers/iolog.c:1300 plugins/sudoers/log_client.c:1226 +#: plugins/sudoers/log_client.c:1236 plugins/sudoers/log_client.c:1240 #, c-format msgid "%s: internal error, invalid signal %d" msgstr "%s: interna eraro, malvalida signalo %d" @@ -2858,15 +2870,15 @@ msgstr "nekonata retadresa tipo de LDAP: %s" msgid "unable to mix ldap and ldaps URIs" msgstr "ne eblas miksi sekurajn kaj nesekurajn retadresojn de LDAP" -#: 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 +#: plugins/sudoers/ldap_util.c:496 plugins/sudoers/ldap_util.c:503 +#: plugins/sudoers/ldap_util.c:511 plugins/sudoers/ldap_util.c:519 +#: plugins/sudoers/ldap_util.c:527 plugins/sudoers/ldap_util.c:535 +#: plugins/sudoers/ldap_util.c:543 plugins/sudoers/ldap_util.c:551 #, c-format msgid "duplicate sudoOption: %s%s%s" msgstr "ne eblas duobligi sudoOption: %s%s%s" -#: plugins/sudoers/ldap_util.c:568 plugins/sudoers/ldap_util.c:570 +#: plugins/sudoers/ldap_util.c:569 plugins/sudoers/ldap_util.c:571 #, c-format msgid "unable to convert sudoOption: %s%s%s" msgstr "ne eblas konverti sudoOption: %s%s%s" @@ -2879,63 +2891,63 @@ msgstr "ne eblas malfermi revizian sistemon" msgid "unable to send audit message" msgstr "ne eblas sendi revizian mesaĝon" -#: plugins/sudoers/log_client.c:125 plugins/sudoers/log_client.c:412 -#: plugins/sudoers/log_client.c:1450 plugins/sudoers/log_client.c:2076 +#: plugins/sudoers/log_client.c:125 plugins/sudoers/log_client.c:421 +#: plugins/sudoers/log_client.c:1473 plugins/sudoers/log_client.c:2101 msgid "error in event loop" msgstr "eraro en evento-iteracio" -#: plugins/sudoers/log_client.c:205 +#: plugins/sudoers/log_client.c:214 #, c-format msgid "Creation of new SSL_CTX object failed: %s" msgstr "Kreiĝo de nova objekto SSL_CTX malsukcesis: %s" -#: plugins/sudoers/log_client.c:230 +#: plugins/sudoers/log_client.c:239 #, c-format msgid "unable to load certificate authority bundle %s" msgstr "Ne eblas ŝargi aŭtoritatan atestilaron: %s" -#: plugins/sudoers/log_client.c:252 +#: plugins/sudoers/log_client.c:261 #, c-format msgid "unable to load certificate %s" msgstr "ne eblas ŝargi atestilon %s" -#: plugins/sudoers/log_client.c:266 +#: plugins/sudoers/log_client.c:275 #, c-format msgid "unable to load private key %s" msgstr "ne eblas ŝarĝi privatŝlosilon %s" -#: plugins/sudoers/log_client.c:275 +#: plugins/sudoers/log_client.c:284 #, c-format msgid "Unable to allocate ssl object: %s" msgstr "Ne eblas generi SSL-objekton: %s" -#: plugins/sudoers/log_client.c:364 plugins/sudoers/log_client.c:369 +#: plugins/sudoers/log_client.c:373 plugins/sudoers/log_client.c:378 #, c-format msgid "TLS connection to %s:%s failed: %s" msgstr "TLS-konekto al %s:%s malsukcesis: %s" -#: plugins/sudoers/log_client.c:545 +#: plugins/sudoers/log_client.c:554 msgid "TLS initialization was unsuccessful" msgstr "TLS-komenciĝo malsukcesis" -#: plugins/sudoers/log_client.c:555 +#: plugins/sudoers/log_client.c:564 msgid "TLS handshake was unsuccessful" msgstr "TLS-manpremo malsukcesis" -#: plugins/sudoers/log_client.c:1221 +#: plugins/sudoers/log_client.c:1244 #, c-format msgid "%s: internal error, invalid exit status %d" msgstr "%s: interna eraro, malvalida finiĝo-stato %d" -#: plugins/sudoers/log_client.c:1757 plugins/sudoers/log_client.c:1782 +#: plugins/sudoers/log_client.c:1780 plugins/sudoers/log_client.c:1805 msgid "lost connection to log server" msgstr "konekto al protokolo-servilo perdita" -#: plugins/sudoers/log_client.c:1859 +#: plugins/sudoers/log_client.c:1882 msgid "missing write buffer" msgstr "mankanta skribobufo" -#: plugins/sudoers/log_client.c:2015 +#: plugins/sudoers/log_client.c:2040 msgid "unable to connect to log server" msgstr "ne eblas konektiĝi al protokolo-servilo" @@ -2948,42 +2960,55 @@ msgid "user NOT authorized on host" msgstr "uzanto NE permesata en gastiganto" #: plugins/sudoers/logging.c:299 +msgid "setid command rejected in intercept mode" +msgstr "komando setid malakceptata en interkapta reĝimo" + +#: plugins/sudoers/logging.c:301 msgid "command not allowed" msgstr "komando ne permesata" -#: plugins/sudoers/logging.c:320 +#: plugins/sudoers/logging.c:322 #, c-format msgid "%s is not in the sudoers file.\n" msgstr "%s ne estas en la dosiero sudoers.\n" -#: plugins/sudoers/logging.c:323 +#: plugins/sudoers/logging.c:325 #, c-format msgid "%s is not allowed to run sudo on %s.\n" msgstr "Uzanto %s ne rajtas plenumigi sudo-on en %s.\n" -#: plugins/sudoers/logging.c:326 +#: plugins/sudoers/logging.c:328 plugins/sudoers/parser_warnx.c:59 +#, c-format +msgid "%s: %s\n" +msgstr "%s: %s\n" + +#: plugins/sudoers/logging.c:329 +msgid "setid commands are not permitted in intercept mode" +msgstr "komandoj setid ne permesiĝas en interkapta reĝimo" + +#: plugins/sudoers/logging.c:331 #, c-format msgid "Sorry, user %s may not run sudo on %s.\n" msgstr "Bedaŭre uzanto %s ne rajtas plenumigi sudo en %s.\n" -#: plugins/sudoers/logging.c:339 +#: plugins/sudoers/logging.c:344 #, c-format msgid "Sorry, user %s is not allowed to execute '%s%s%s%s' as %s%s%s on %s.\n" msgstr "Bedaŭre uzanto %s ne rajtas plenumigi '%s%s%s%s' kiel %s%s%s en %s.\n" -#: plugins/sudoers/logging.c:350 +#: plugins/sudoers/logging.c:358 msgid "This incident has been reported to the administrator.\n" msgstr "Ĉi tiu okazo raportiĝis al la administranto.\n" -#: plugins/sudoers/logging.c:387 plugins/sudoers/sudoers.c:547 -#: plugins/sudoers/sudoers.c:549 plugins/sudoers/sudoers.c:551 -#: plugins/sudoers/sudoers.c:553 plugins/sudoers/sudoers.c:777 -#: plugins/sudoers/sudoers.c:779 +#: plugins/sudoers/logging.c:395 plugins/sudoers/sudoers.c:564 +#: plugins/sudoers/sudoers.c:566 plugins/sudoers/sudoers.c:568 +#: plugins/sudoers/sudoers.c:570 plugins/sudoers/sudoers.c:794 +#: plugins/sudoers/sudoers.c:796 #, c-format msgid "%s: command not found" msgstr "%s: komando ne trovita" -#: plugins/sudoers/logging.c:389 plugins/sudoers/sudoers.c:543 +#: plugins/sudoers/logging.c:397 plugins/sudoers/sudoers.c:560 #, c-format msgid "" "ignoring \"%s\" found in '.'\n" @@ -2992,31 +3017,31 @@ msgstr "" "ni malatentas \"%s\" trovita en '.'\n" "Uzu \"sudo ./%s\" se tio estas la \"%s\" , kiun vi volas plenumigi." -#: plugins/sudoers/logging.c:409 +#: plugins/sudoers/logging.c:417 #, c-format msgid "%u incorrect password attempt" msgid_plural "%u incorrect password attempts" msgstr[0] "%u malĝusta pasvorta provo" msgstr[1] "%u malĝustaj pasvortaj provoj" -#: plugins/sudoers/logging.c:500 +#: plugins/sudoers/logging.c:508 msgid "authentication failure" msgstr "aŭtentiga malsukceso" -#: plugins/sudoers/logging.c:539 plugins/sudoers/logging.c:558 +#: plugins/sudoers/logging.c:552 plugins/sudoers/logging.c:571 msgid "a password is required" msgstr "pasvorto estas bezonata" -#: plugins/sudoers/logging.c:881 +#: plugins/sudoers/logging.c:889 msgid "problem parsing sudoers" msgstr "problemo dum analizi dosieron sudoers" -#: plugins/sudoers/logging.c:922 plugins/sudoers/logging.c:930 +#: plugins/sudoers/logging.c:930 plugins/sudoers/logging.c:938 #, c-format msgid "%s:%d:%d: %s" msgstr "%s:%d:%d: %s" -#: plugins/sudoers/logging.c:1108 +#: plugins/sudoers/logging.c:1119 #, c-format msgid "unable to write log file %s" msgstr "ne eblas skribi al protokolo %s" @@ -3046,11 +3071,6 @@ msgstr "malvalida LDIF-atributo: %s" msgid "%s:%d:%d: %s\n" msgstr "%s:%d:%d: %s\n" -#: plugins/sudoers/parser_warnx.c:59 -#, c-format -msgid "%s: %s\n" -msgstr "%s: %s\n" - #: plugins/sudoers/pivot.c:71 msgid "unable to restore root directory" msgstr "ne eblas restarigi la radikan dosierujon" @@ -3064,59 +3084,59 @@ msgstr "ne eblas restarigi la nunan labor-dosierujon" msgid "invalid %.*s set by sudo front-end" msgstr "malvalida %.*s difinita de sudo-fasado" -#: plugins/sudoers/policy.c:364 plugins/sudoers/testsudoers.c:329 +#: plugins/sudoers/policy.c:347 plugins/sudoers/testsudoers.c:329 msgid "unable to parse network address list" msgstr "ne eblas trakti reto-adresan liston" -#: plugins/sudoers/policy.c:556 +#: plugins/sudoers/policy.c:555 msgid "user name not set by sudo front-end" msgstr "uzantnomo ne difinita de sudo-fasado" -#: plugins/sudoers/policy.c:560 +#: plugins/sudoers/policy.c:559 msgid "user-ID not set by sudo front-end" msgstr "uzanto-ID ne difinita de sudo-fasado" -#: plugins/sudoers/policy.c:564 +#: plugins/sudoers/policy.c:563 msgid "group-ID not set by sudo front-end" msgstr "grupo-ID ne difinita de sudo-fasado" -#: plugins/sudoers/policy.c:568 +#: plugins/sudoers/policy.c:567 msgid "host name not set by sudo front-end" msgstr "gastiganta nomo ne difinita de sudo-fasado" -#: plugins/sudoers/policy.c:757 +#: plugins/sudoers/policy.c:765 #, c-format msgid "invalid working directory: %s" msgstr "nevalida kuranta dosierujo: %s" -#: plugins/sudoers/policy.c:944 +#: plugins/sudoers/policy.c:952 #, c-format msgid "invalid chroot directory: %s" msgstr "malvalida chroot-dosierujo: %s" -#: plugins/sudoers/policy.c:1153 plugins/sudoers/visudo.c:919 +#: plugins/sudoers/policy.c:1163 plugins/sudoers/visudo.c:919 #: plugins/sudoers/visudo.c:1218 #, c-format msgid "unable to execute %s" msgstr "ne eblas plenumigi: %s" -#: plugins/sudoers/policy.c:1225 plugins/sudoers/policy.c:1260 -#: plugins/sudoers/policy.c:1282 plugins/sudoers/policy.c:1300 +#: plugins/sudoers/policy.c:1232 plugins/sudoers/policy.c:1267 +#: plugins/sudoers/policy.c:1289 plugins/sudoers/policy.c:1307 #, c-format msgid "%s: invalid mode flags from sudo front end: 0x%x" msgstr "%s: nevalidaj reĝimaj flagoj el la fasado de sudo: 0x%x" -#: plugins/sudoers/policy.c:1323 +#: plugins/sudoers/policy.c:1330 #, c-format msgid "Sudoers policy plugin version %s\n" msgstr "Eldono %s de la konduta kromprogramo\n" -#: plugins/sudoers/policy.c:1325 +#: plugins/sudoers/policy.c:1332 #, c-format msgid "Sudoers file grammar version %d\n" msgstr "Eldono %d de la gramatikilo de sudoers\n" -#: plugins/sudoers/policy.c:1329 +#: plugins/sudoers/policy.c:1336 #, c-format msgid "" "\n" @@ -3125,27 +3145,27 @@ msgstr "" "\n" "Vojo de sudoers: %s\n" -#: plugins/sudoers/policy.c:1332 +#: plugins/sudoers/policy.c:1339 #, c-format msgid "nsswitch path: %s\n" msgstr "vojo de nsswitch: %s\n" -#: plugins/sudoers/policy.c:1335 +#: plugins/sudoers/policy.c:1342 #, c-format msgid "ldap.conf path: %s\n" msgstr "vojo de ldap.conf: %s\n" -#: plugins/sudoers/policy.c:1337 +#: plugins/sudoers/policy.c:1344 #, c-format msgid "ldap.secret path: %s\n" msgstr "vojo de ldap.secret: %s\n" -#: plugins/sudoers/policy.c:1370 +#: plugins/sudoers/policy.c:1377 #, c-format msgid "unable to register hook of type %d (version %d.%d)" msgstr "ne eblas registri hokon el tipo %d (versio %d.%d)" -#: plugins/sudoers/policy.c:1388 +#: plugins/sudoers/policy.c:1395 #, c-format msgid "unable to deregister hook of type %d (version %d.%d)" msgstr "ne eblas malregistri hokon el tipo %d (versio %d.%d)" @@ -3192,24 +3212,24 @@ msgstr "ne eblas konservi grupon %s" msgid "unable to cache group %s, already exists" msgstr "ne eblas konservi grupon %s, jam ekzistas" -#: plugins/sudoers/pwutil.c:900 plugins/sudoers/pwutil.c:985 -#: plugins/sudoers/pwutil.c:1039 plugins/sudoers/pwutil.c:1095 +#: plugins/sudoers/pwutil.c:900 plugins/sudoers/pwutil.c:988 +#: plugins/sudoers/pwutil.c:1042 plugins/sudoers/pwutil.c:1101 #, c-format msgid "unable to cache group list for %s, already exists" msgstr "ne eblas konservi grupan liston por %s, jam ekzistas" -#: plugins/sudoers/pwutil.c:906 plugins/sudoers/pwutil.c:990 -#: plugins/sudoers/pwutil.c:1045 plugins/sudoers/pwutil.c:1100 +#: plugins/sudoers/pwutil.c:906 plugins/sudoers/pwutil.c:993 +#: plugins/sudoers/pwutil.c:1048 plugins/sudoers/pwutil.c:1106 #, c-format msgid "unable to cache group list for %s" msgstr "ne eblas konservi grupliston por %s" -#: plugins/sudoers/pwutil.c:979 +#: plugins/sudoers/pwutil.c:982 #, c-format msgid "unable to parse groups for %s" msgstr "ne eblas trakti grupon en %s" -#: plugins/sudoers/pwutil.c:1089 +#: plugins/sudoers/pwutil.c:1095 #, c-format msgid "unable to parse gids for %s" msgstr "ne eblas trakti gids por %s" @@ -3338,82 +3358,82 @@ msgstr "uzanto ne rajtas ŝanĝi dosierujon al %s" msgid "you are not permitted to use the -D option with %s" msgstr "vi ne rajtas uzi la parametron -D kun %s" -#: plugins/sudoers/sudoers.c:542 +#: plugins/sudoers/sudoers.c:559 msgid "command in current directory" msgstr "komando en nuna dosierujo" -#: plugins/sudoers/sudoers.c:557 +#: plugins/sudoers/sudoers.c:574 msgid "\"cd\" is a shell built-in command, it cannot be run directly." msgstr "\"cd\" estas apriora ŝelkomando, ne eblas rekte plenumigi ĝin" -#: plugins/sudoers/sudoers.c:559 +#: plugins/sudoers/sudoers.c:576 msgid "the -s option may be used to run a privileged shell." msgstr "La elekton -s oni rajtas uzi por plenumigi privilegiitan ŝelon." -#: plugins/sudoers/sudoers.c:561 +#: plugins/sudoers/sudoers.c:578 msgid "the -D option may be used to run a command in a specific directory." msgstr "la elekto -D oni rajtas uzi por plenumigi komandon en specifa dosierujo." -#: plugins/sudoers/sudoers.c:570 +#: plugins/sudoers/sudoers.c:587 msgid "user not allowed to set a command timeout" msgstr "uzanto ne rajtas elekti komando-eksvalidiĝon" -#: plugins/sudoers/sudoers.c:572 +#: plugins/sudoers/sudoers.c:589 msgid "sorry, you are not allowed set a command timeout" msgstr "bedaŭre vi ne rajtas elekti komando-eksvalidiĝon" -#: plugins/sudoers/sudoers.c:580 +#: plugins/sudoers/sudoers.c:597 msgid "user not allowed to preserve the environment" msgstr "uzanto ne rajtas konservi la medion" -#: plugins/sudoers/sudoers.c:582 +#: plugins/sudoers/sudoers.c:599 msgid "sorry, you are not allowed to preserve the environment" msgstr "bedaŭre vi ne rajtas konservi la medion" -#: plugins/sudoers/sudoers.c:618 +#: plugins/sudoers/sudoers.c:635 msgid "no command specified" msgstr "Neniu komando donita" -#: plugins/sudoers/sudoers.c:759 +#: plugins/sudoers/sudoers.c:776 msgid "error setting user-specified environment variables" msgstr "eraro dum valorizo de medivariablojn valorizitaj de la uzanto" -#: plugins/sudoers/sudoers.c:1211 +#: plugins/sudoers/sudoers.c:1229 msgid "sudoedit doesn't need to be run via sudo" msgstr "sudoedit ne devas plenumiĝi per sudo" -#: plugins/sudoers/sudoers.c:1296 plugins/sudoers/sudoreplay.c:1613 -#: plugins/sudoers/tsdump.c:138 +#: plugins/sudoers/sudoers.c:1314 plugins/sudoers/sudoreplay.c:1615 +#: plugins/sudoers/tsdump.c:151 #, c-format msgid "unable to read %s" msgstr "ne eblas legi %s" -#: plugins/sudoers/sudoers.c:1321 plugins/sudoers/visudo.c:1123 +#: plugins/sudoers/sudoers.c:1339 plugins/sudoers/visudo.c:1123 #, c-format msgid "%s is not a regular file" msgstr "%s ne estas normala dosiero" -#: plugins/sudoers/sudoers.c:1325 plugins/sudoers/timestamp.c:272 toke.l:1355 +#: plugins/sudoers/sudoers.c:1343 plugins/sudoers/timestamp.c:272 toke.l:1335 #, c-format msgid "%s is owned by uid %u, should be %u" msgstr "%s estas estrita de uid %u, devas esti %u" -#: plugins/sudoers/sudoers.c:1330 plugins/sudoers/timestamp.c:279 toke.l:1360 +#: plugins/sudoers/sudoers.c:1348 plugins/sudoers/timestamp.c:279 toke.l:1340 #, c-format msgid "%s is world writable" msgstr "%s estas skribebla de ĉiuj" -#: plugins/sudoers/sudoers.c:1334 plugins/sudoers/timestamp.c:284 toke.l:1363 +#: plugins/sudoers/sudoers.c:1352 plugins/sudoers/timestamp.c:284 toke.l:1343 #, c-format msgid "%s is owned by gid %u, should be %u" msgstr "%s estas estrita de gid %u, devas esti %u" -#: plugins/sudoers/sudoers.c:1363 +#: plugins/sudoers/sudoers.c:1381 #, c-format msgid "only root can use \"-c %s\"" msgstr "nur ĉefuzanto rajtas uzi \"-c %s\"" -#: plugins/sudoers/sudoers.c:1382 +#: plugins/sudoers/sudoers.c:1400 #, c-format msgid "unknown login class %s" msgstr "nekonata ensaluta klaso: %s" @@ -3458,75 +3478,75 @@ msgstr "%s/tempo-registrado: %s" msgid "Replaying sudo session: %s" msgstr "Refaranta sudo-seancon: %s" -#: plugins/sudoers/sudoreplay.c:634 +#: plugins/sudoers/sudoreplay.c:633 plugins/sudoers/sudoreplay.c:636 msgid "unable to set tty to raw mode" msgstr "ne eblas elekti tty-on en nudan reĝimon" -#: plugins/sudoers/sudoreplay.c:685 +#: plugins/sudoers/sudoreplay.c:687 msgid "Warning: your terminal is too small to properly replay the log." msgstr "Averto: via terminalo estas tro malgranda por konvene revidigi la protokolon." -#: plugins/sudoers/sudoreplay.c:686 +#: plugins/sudoers/sudoreplay.c:688 #, c-format msgid "Log geometry is %d x %d, your terminal's geometry is %d x %d." msgstr "Protokola grando estas %dx%d, sed via terminala grando estas %dx%d." -#: plugins/sudoers/sudoreplay.c:714 +#: plugins/sudoers/sudoreplay.c:716 msgid "Replay finished, press any key to restore the terminal." msgstr "Refarado finita, premu iu ajn klavon por restarigi la terminalon." -#: plugins/sudoers/sudoreplay.c:1217 plugins/sudoers/sudoreplay.c:1247 +#: plugins/sudoers/sudoreplay.c:1219 plugins/sudoers/sudoreplay.c:1249 #, c-format msgid "ambiguous expression \"%s\"" msgstr "ambigua esprimo \"%s\"" -#: plugins/sudoers/sudoreplay.c:1269 +#: plugins/sudoers/sudoreplay.c:1271 msgid "unmatched ')' in expression" msgstr "mankas krampo kongruanta al ')' en esprimo" -#: plugins/sudoers/sudoreplay.c:1273 +#: plugins/sudoers/sudoreplay.c:1275 #, c-format msgid "unknown search term \"%s\"" msgstr "nekonata serĉaĵo \"%s\"" -#: plugins/sudoers/sudoreplay.c:1288 +#: plugins/sudoers/sudoreplay.c:1290 #, c-format msgid "%s requires an argument" msgstr "%s bezonas parametron" -#: plugins/sudoers/sudoreplay.c:1298 +#: plugins/sudoers/sudoreplay.c:1300 #, c-format msgid "could not parse date \"%s\"" msgstr "ne eblis analizi daton \"%s\"" -#: plugins/sudoers/sudoreplay.c:1307 +#: plugins/sudoers/sudoreplay.c:1309 msgid "unmatched '(' in expression" msgstr "mankas krampo kongruanta al '(' en esprimo" -#: plugins/sudoers/sudoreplay.c:1309 +#: plugins/sudoers/sudoreplay.c:1311 msgid "illegal trailing \"or\"" msgstr "malvalida posta \"or\"" -#: plugins/sudoers/sudoreplay.c:1311 +#: plugins/sudoers/sudoreplay.c:1313 msgid "illegal trailing \"!\"" msgstr "malvalida posta \"!\"" -#: plugins/sudoers/sudoreplay.c:1417 +#: plugins/sudoers/sudoreplay.c:1419 #, c-format msgid "unknown search type %d" msgstr "nekonata serĉtipo %d" -#: plugins/sudoers/sudoreplay.c:1679 +#: plugins/sudoers/sudoreplay.c:1681 #, c-format msgid "usage: %s [-hnRS] [-d dir] [-m num] [-s num] ID\n" msgstr "uzado: %s [-hnRS] [-d ujo] [-m num] [-s num] ID\n" -#: plugins/sudoers/sudoreplay.c:1681 +#: plugins/sudoers/sudoreplay.c:1683 #, c-format msgid "usage: %s [-h] [-d dir] -l [search expression]\n" msgstr "uzado: %s [-h] [-d ujo] -l [serĉaĵo]\n" -#: plugins/sudoers/sudoreplay.c:1695 +#: plugins/sudoers/sudoreplay.c:1697 #, c-format msgid "" "%s - replay sudo session logs\n" @@ -3535,7 +3555,7 @@ msgstr "" "%s - refari sudo-seancajn protokolojn\n" "\n" -#: plugins/sudoers/sudoreplay.c:1697 +#: plugins/sudoers/sudoreplay.c:1699 msgid "" "\n" "Options:\n" @@ -3612,26 +3632,26 @@ msgstr "" "\n" "Komando sen egalo" -#: plugins/sudoers/timestamp.c:364 plugins/sudoers/timestamp.c:711 +#: plugins/sudoers/timestamp.c:364 plugins/sudoers/timestamp.c:714 #, c-format msgid "unable to truncate time stamp file to %lld bytes" msgstr "ne eblas mallongigi tempo-indikilan dosieron ĝis %lld bajtoj" -#: plugins/sudoers/timestamp.c:908 +#: plugins/sudoers/timestamp.c:911 msgid "ignoring time stamp from the future" msgstr "ignoranta tempo-indikilon el la estonteco" -#: plugins/sudoers/timestamp.c:931 +#: plugins/sudoers/timestamp.c:934 #, c-format msgid "time stamp too far in the future: %20.20s" msgstr "tempo-indikilo tro estonte: %20.20s" -#: plugins/sudoers/timestamp.c:1067 +#: plugins/sudoers/timestamp.c:1070 #, c-format msgid "unable to lock time stamp file %s" msgstr "ne eblas ŝlosi tempo-indikilan dosieron %s" -#: plugins/sudoers/timestamp.c:1114 +#: plugins/sudoers/timestamp.c:1117 #, c-format msgid "%s:%d:%d timestampowner: unknown user %s" msgstr "%s:%d:%d: timestampowner: nekonata uzanto %s" @@ -3833,18 +3853,18 @@ msgstr "malvalida linio-daŭrigo" msgid "invalid IPv6 address" msgstr "malvalida IPv6-adreso" -#: toke.l:863 +#: toke.l:843 msgid "unexpected line break in string" msgstr "neatendita linirompo en ĉeno" -#: toke.l:982 +#: toke.l:962 msgid "ignoring editor backup file" msgstr "ignoras redaktilan savkopian dosieron" -#: toke.l:985 +#: toke.l:965 msgid "ignoring file name containing '.'" msgstr "ignoras dosiernomon kun '.'" -#: toke.l:1310 +#: toke.l:1290 msgid "too many levels of includes" msgstr "tro da niveloj de inkluzivaĵoj" diff --git a/plugins/sudoers/po/fr.mo b/plugins/sudoers/po/fr.mo index 818b1e024..76ea49371 100644 Binary files a/plugins/sudoers/po/fr.mo and b/plugins/sudoers/po/fr.mo differ diff --git a/plugins/sudoers/po/fr.po b/plugins/sudoers/po/fr.po index be85c2273..c47767819 100644 --- a/plugins/sudoers/po/fr.po +++ b/plugins/sudoers/po/fr.po @@ -2,13 +2,13 @@ # This file is distributed under the same license as the sudo package. # # Frédéric Hantrais , 2014, 2015, 2016. -# Frédéric Marchal , 2023 +# Frédéric Marchal , 2024 msgid "" msgstr "" -"Project-Id-Version: sudoers 1.9.15b1\n" +"Project-Id-Version: sudoers 1.9.16b1\n" "Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n" -"POT-Creation-Date: 2023-10-19 10:02-0600\n" -"PO-Revision-Date: 2023-10-21 14:37+0200\n" +"POT-Creation-Date: 2024-06-08 09:06-0600\n" +"PO-Revision-Date: 2024-07-24 11:45+0200\n" "Last-Translator: Frédéric Marchal \n" "Language-Team: French \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:1257 plugins/sudoers/logging.c:911 +#: confstr.sh:1 gram.y:1240 plugins/sudoers/logging.c:919 msgid "syntax error" msgstr "erreur de syntaxe" @@ -43,16 +43,16 @@ msgid "Sorry, try again." msgstr "Désolé, essayez de nouveau." #: gram.y:238 gram.y:305 gram.y:314 gram.y:323 gram.y:333 gram.y:343 gram.y:367 -#: gram.y:394 gram.y:403 gram.y:411 gram.y:420 gram.y:429 gram.y:503 gram.y:513 -#: gram.y:525 gram.y:573 gram.y:582 gram.y:591 gram.y:600 gram.y:733 gram.y:742 -#: gram.y:757 gram.y:777 gram.y:796 gram.y:959 gram.y:964 gram.y:972 gram.y:986 -#: gram.y:992 gram.y:1004 gram.y:1010 gram.y:1135 gram.y:1144 gram.y:1152 -#: gram.y:1161 gram.y:1170 gram.y:1199 gram.y:1208 gram.y:1216 gram.y:1317 -#: gram.y:1447 gram.y:1829 gram.y:1840 gram.y:1922 lib/eventlog/eventlog.c:236 -#: lib/eventlog/eventlog.c:313 lib/eventlog/eventlog.c:765 -#: lib/eventlog/eventlog.c:842 lib/eventlog/eventlog.c:1175 -#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:484 -#: lib/eventlog/parse_json.c:514 lib/iolog/iolog_filter.c:142 +#: gram.y:394 gram.y:403 gram.y:411 gram.y:420 gram.y:429 gram.y:502 gram.y:512 +#: gram.y:524 gram.y:566 gram.y:575 gram.y:584 gram.y:593 gram.y:726 gram.y:735 +#: gram.y:750 gram.y:770 gram.y:789 gram.y:942 gram.y:947 gram.y:955 gram.y:969 +#: gram.y:975 gram.y:987 gram.y:993 gram.y:1118 gram.y:1127 gram.y:1135 +#: gram.y:1144 gram.y:1153 gram.y:1182 gram.y:1191 gram.y:1199 gram.y:1300 +#: gram.y:1430 gram.y:1811 gram.y:1822 gram.y:1898 lib/eventlog/eventlog.c:236 +#: lib/eventlog/eventlog.c:313 lib/eventlog/eventlog.c:778 +#: lib/eventlog/eventlog.c:855 lib/eventlog/eventlog.c:1189 +#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:501 +#: lib/eventlog/parse_json.c:531 lib/iolog/iolog_filter.c:142 #: lib/iolog/iolog_filter.c:202 lib/iolog/iolog_filter.c:233 #: lib/iolog/iolog_legacy.c:101 lib/iolog/iolog_legacy.c:112 #: lib/iolog/iolog_legacy.c:124 lib/iolog/iolog_legacy.c:134 @@ -63,13 +63,13 @@ msgstr "Désolé, essayez de nouveau." #: logsrvd/iolog_writer.c:218 logsrvd/iolog_writer.c:228 #: logsrvd/iolog_writer.c:257 logsrvd/iolog_writer.c:278 #: logsrvd/iolog_writer.c:290 logsrvd/iolog_writer.c:300 -#: logsrvd/iolog_writer.c:310 logsrvd/iolog_writer.c:320 -#: logsrvd/iolog_writer.c:330 logsrvd/iolog_writer.c:342 -#: logsrvd/iolog_writer.c:377 logsrvd/iolog_writer.c:383 -#: logsrvd/iolog_writer.c:390 logsrvd/iolog_writer.c:396 -#: logsrvd/iolog_writer.c:580 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:323 -#: logsrvd/logsrvd.c:1057 logsrvd/logsrvd.c:1120 logsrvd/logsrvd.c:1589 -#: logsrvd/logsrvd.c:1594 logsrvd/logsrvd.c:1781 logsrvd/logsrvd.c:2003 +#: logsrvd/iolog_writer.c:318 logsrvd/iolog_writer.c:328 +#: logsrvd/iolog_writer.c:338 logsrvd/iolog_writer.c:350 +#: logsrvd/iolog_writer.c:385 logsrvd/iolog_writer.c:391 +#: logsrvd/iolog_writer.c:398 logsrvd/iolog_writer.c:404 +#: logsrvd/iolog_writer.c:588 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:324 +#: logsrvd/logsrvd.c:1058 logsrvd/logsrvd.c:1121 logsrvd/logsrvd.c:1599 +#: logsrvd/logsrvd.c:1604 logsrvd/logsrvd.c:1791 logsrvd/logsrvd.c:2046 #: 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 @@ -77,11 +77,11 @@ msgstr "Désolé, essayez de nouveau." #: 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_conf.c:829 logsrvd/logsrvd_conf.c:1041 +#: logsrvd/logsrvd_conf.c:1058 logsrvd/logsrvd_conf.c:1453 +#: logsrvd/logsrvd_conf.c:1600 logsrvd/logsrvd_conf.c:1626 +#: logsrvd/logsrvd_conf.c:1638 logsrvd/logsrvd_conf.c:1645 +#: logsrvd/logsrvd_conf.c:1651 logsrvd/logsrvd_conf.c:1748 #: logsrvd/logsrvd_journal.c:76 logsrvd/logsrvd_journal.c:216 #: logsrvd/logsrvd_journal.c:217 logsrvd/logsrvd_journal.c:274 #: logsrvd/logsrvd_journal.c:279 logsrvd/logsrvd_journal.c:439 @@ -94,10 +94,10 @@ msgstr "Désolé, essayez de nouveau." #: logsrvd/logsrvd_queue.c:266 logsrvd/logsrvd_relay.c:446 #: logsrvd/logsrvd_relay.c:748 logsrvd/logsrvd_relay.c:855 #: logsrvd/sendlog.c:256 logsrvd/sendlog.c:265 logsrvd/sendlog.c:297 -#: logsrvd/sendlog.c:303 logsrvd/sendlog.c:352 logsrvd/sendlog.c:630 -#: logsrvd/sendlog.c:1822 plugins/sudoers/audit.c:118 -#: plugins/sudoers/auth/bsdauth.c:154 plugins/sudoers/auth/kerb5.c:122 -#: plugins/sudoers/auth/kerb5.c:150 plugins/sudoers/auth/pam.c:697 +#: logsrvd/sendlog.c:303 logsrvd/sendlog.c:352 logsrvd/sendlog.c:651 +#: logsrvd/sendlog.c:1847 plugins/sudoers/audit.c:118 +#: plugins/sudoers/auth/bsdauth.c:154 plugins/sudoers/auth/kerb5.c:123 +#: plugins/sudoers/auth/kerb5.c:151 plugins/sudoers/auth/pam.c:697 #: plugins/sudoers/auth/rfc1938.c:112 plugins/sudoers/auth/sia.c:61 #: plugins/sudoers/canon_path.c:129 plugins/sudoers/canon_path.c:161 #: plugins/sudoers/check_aliases.c:128 plugins/sudoers/check_util.c:56 @@ -107,33 +107,30 @@ msgstr "Désolé, essayez de nouveau." #: plugins/sudoers/cvtsudoers.c:379 plugins/sudoers/cvtsudoers.c:399 #: plugins/sudoers/cvtsudoers.c:545 plugins/sudoers/cvtsudoers.c:698 #: plugins/sudoers/cvtsudoers.c:716 plugins/sudoers/cvtsudoers.c:891 -#: plugins/sudoers/cvtsudoers.c:899 plugins/sudoers/cvtsudoers.c:1395 -#: plugins/sudoers/cvtsudoers.c:1399 plugins/sudoers/cvtsudoers.c:1501 -#: plugins/sudoers/cvtsudoers_csv.c:183 plugins/sudoers/cvtsudoers_csv.c:247 -#: plugins/sudoers/cvtsudoers_json.c:76 plugins/sudoers/cvtsudoers_ldif.c:152 -#: plugins/sudoers/cvtsudoers_ldif.c:195 plugins/sudoers/cvtsudoers_ldif.c:236 -#: plugins/sudoers/cvtsudoers_ldif.c:302 plugins/sudoers/cvtsudoers_ldif.c:378 -#: plugins/sudoers/cvtsudoers_ldif.c:432 plugins/sudoers/cvtsudoers_ldif.c:440 -#: plugins/sudoers/cvtsudoers_ldif.c:451 plugins/sudoers/cvtsudoers_ldif.c:458 -#: plugins/sudoers/cvtsudoers_ldif.c:470 plugins/sudoers/cvtsudoers_ldif.c:483 -#: plugins/sudoers/cvtsudoers_ldif.c:491 plugins/sudoers/cvtsudoers_ldif.c:638 -#: 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:455 -#: plugins/sudoers/defaults.c:689 plugins/sudoers/defaults.c:1051 -#: plugins/sudoers/defaults.c:1235 plugins/sudoers/editor.c:198 -#: plugins/sudoers/env.c:263 plugins/sudoers/exptilde.c:92 +#: plugins/sudoers/cvtsudoers.c:899 plugins/sudoers/cvtsudoers.c:1393 +#: plugins/sudoers/cvtsudoers.c:1397 plugins/sudoers/cvtsudoers.c:1497 +#: plugins/sudoers/cvtsudoers_csv.c:182 plugins/sudoers/cvtsudoers_csv.c:255 +#: plugins/sudoers/cvtsudoers_json.c:604 plugins/sudoers/cvtsudoers_json.c:639 +#: plugins/sudoers/cvtsudoers_json.c:1016 +#: plugins/sudoers/cvtsudoers_json.c:1041 plugins/sudoers/cvtsudoers_ldif.c:112 +#: plugins/sudoers/cvtsudoers_ldif.c:144 plugins/sudoers/cvtsudoers_ldif.c:260 +#: plugins/sudoers/cvtsudoers_ldif.c:573 plugins/sudoers/cvtsudoers_ldif.c:586 +#: plugins/sudoers/cvtsudoers_ldif.c:591 plugins/sudoers/cvtsudoers_ldif.c:761 +#: plugins/sudoers/cvtsudoers_merge.c:57 plugins/sudoers/cvtsudoers_merge.c:357 +#: plugins/sudoers/cvtsudoers_merge.c:405 +#: plugins/sudoers/cvtsudoers_merge.c:454 +#: plugins/sudoers/cvtsudoers_merge.c:476 +#: plugins/sudoers/cvtsudoers_merge.c:588 +#: plugins/sudoers/cvtsudoers_merge.c:664 +#: plugins/sudoers/cvtsudoers_merge.c:1197 +#: plugins/sudoers/cvtsudoers_merge.c:1281 plugins/sudoers/defaults.c:455 +#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1062 +#: plugins/sudoers/defaults.c:1248 plugins/sudoers/editor.c:198 +#: plugins/sudoers/env.c:280 plugins/sudoers/exptilde.c:92 #: plugins/sudoers/filedigest.c:66 plugins/sudoers/filedigest.c:70 #: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:212 -#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268 -#: plugins/sudoers/iolog.c:675 plugins/sudoers/iolog.c:703 +#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:270 +#: plugins/sudoers/iolog.c:683 plugins/sudoers/iolog.c:711 #: plugins/sudoers/ldap.c:161 plugins/sudoers/ldap.c:448 #: plugins/sudoers/ldap.c:625 plugins/sudoers/ldap.c:789 #: plugins/sudoers/ldap.c:1214 plugins/sudoers/ldap.c:1642 @@ -143,23 +140,23 @@ msgstr "Désolé, essayez de nouveau." #: plugins/sudoers/ldap_conf.c:299 plugins/sudoers/ldap_conf.c:335 #: plugins/sudoers/ldap_conf.c:441 plugins/sudoers/ldap_conf.c:456 #: plugins/sudoers/ldap_conf.c:565 plugins/sudoers/ldap_conf.c:598 -#: plugins/sudoers/ldap_conf.c:694 plugins/sudoers/ldap_conf.c:776 +#: plugins/sudoers/ldap_conf.c:696 plugins/sudoers/ldap_conf.c:778 #: 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:717 plugins/sudoers/log_client.c:739 -#: plugins/sudoers/log_client.c:744 plugins/sudoers/log_client.c:1426 -#: plugins/sudoers/log_client.c:1547 plugins/sudoers/log_client.c:1670 -#: plugins/sudoers/log_client.c:1993 plugins/sudoers/log_client.c:2052 +#: plugins/sudoers/ldap_util.c:615 plugins/sudoers/linux_audit.c:86 +#: plugins/sudoers/log_client.c:117 plugins/sudoers/log_client.c:411 +#: plugins/sudoers/log_client.c:726 plugins/sudoers/log_client.c:748 +#: plugins/sudoers/log_client.c:753 plugins/sudoers/log_client.c:1449 +#: plugins/sudoers/log_client.c:1570 plugins/sudoers/log_client.c:1693 +#: plugins/sudoers/log_client.c:2018 plugins/sudoers/log_client.c:2077 #: plugins/sudoers/logging.c:110 plugins/sudoers/logging.c:190 -#: plugins/sudoers/logging.c:475 plugins/sudoers/logging.c:711 -#: plugins/sudoers/logging.c:872 plugins/sudoers/lookup.c:338 -#: plugins/sudoers/lookup.c:355 plugins/sudoers/lookup.c:374 -#: plugins/sudoers/lookup.c:393 plugins/sudoers/lookup.c:410 -#: plugins/sudoers/lookup.c:433 plugins/sudoers/lookup.c:444 -#: plugins/sudoers/match_command.c:302 plugins/sudoers/match_command.c:574 -#: plugins/sudoers/match_command.c:641 plugins/sudoers/match_command.c:737 -#: plugins/sudoers/match_command.c:785 plugins/sudoers/match_digest.c:88 +#: plugins/sudoers/logging.c:483 plugins/sudoers/logging.c:723 +#: plugins/sudoers/logging.c:880 plugins/sudoers/lookup.c:331 +#: plugins/sudoers/lookup.c:348 plugins/sudoers/lookup.c:366 +#: plugins/sudoers/lookup.c:384 plugins/sudoers/lookup.c:401 +#: plugins/sudoers/lookup.c:423 plugins/sudoers/lookup.c:434 +#: plugins/sudoers/match_command.c:280 plugins/sudoers/match_command.c:544 +#: plugins/sudoers/match_command.c:608 plugins/sudoers/match_command.c:702 +#: plugins/sudoers/match_command.c:750 plugins/sudoers/match_digest.c:88 #: 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 @@ -170,107 +167,107 @@ msgstr "Désolé, essayez de nouveau." #: 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:646 plugins/sudoers/policy.c:1061 +#: plugins/sudoers/policy.c:654 plugins/sudoers/policy.c:1071 #: plugins/sudoers/prompt.c:94 plugins/sudoers/pwutil.c:219 #: plugins/sudoers/pwutil.c:290 plugins/sudoers/pwutil.c:368 #: plugins/sudoers/pwutil.c:542 plugins/sudoers/pwutil.c:607 #: plugins/sudoers/pwutil.c:679 plugins/sudoers/pwutil.c:877 -#: plugins/sudoers/pwutil.c:967 plugins/sudoers/pwutil.c:1015 -#: plugins/sudoers/pwutil.c:1076 plugins/sudoers/sethost.c:85 +#: plugins/sudoers/pwutil.c:970 plugins/sudoers/pwutil.c:1018 +#: plugins/sudoers/pwutil.c:1082 plugins/sudoers/sethost.c:89 #: plugins/sudoers/sssd.c:145 plugins/sudoers/sssd.c:186 #: plugins/sudoers/sssd.c:415 plugins/sudoers/sssd.c:480 #: plugins/sudoers/sssd.c:507 plugins/sudoers/sssd.c:570 #: plugins/sudoers/sssd.c:765 plugins/sudoers/strvec_join.c:53 #: plugins/sudoers/sudoers.c:405 plugins/sudoers/sudoers.c:412 -#: plugins/sudoers/sudoers.c:656 plugins/sudoers/sudoers.c:666 -#: plugins/sudoers/sudoers.c:811 plugins/sudoers/sudoers.c:877 -#: plugins/sudoers/sudoers.c:936 plugins/sudoers/sudoers.c:985 -#: plugins/sudoers/sudoers.c:1144 plugins/sudoers/sudoers.c:1213 -#: plugins/sudoers/sudoers.c:1307 plugins/sudoers/sudoers_cb.c:150 +#: plugins/sudoers/sudoers.c:673 plugins/sudoers/sudoers.c:683 +#: plugins/sudoers/sudoers.c:828 plugins/sudoers/sudoers.c:894 +#: plugins/sudoers/sudoers.c:953 plugins/sudoers/sudoers.c:1002 +#: plugins/sudoers/sudoers.c:1162 plugins/sudoers/sudoers.c:1231 +#: plugins/sudoers/sudoers.c:1325 plugins/sudoers/sudoers_cb.c:150 #: plugins/sudoers/sudoreplay.c:559 plugins/sudoers/sudoreplay.c:562 -#: plugins/sudoers/sudoreplay.c:1279 plugins/sudoers/sudoreplay.c:1335 -#: plugins/sudoers/sudoreplay.c:1531 plugins/sudoers/sudoreplay.c:1535 +#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1337 +#: plugins/sudoers/sudoreplay.c:1533 plugins/sudoers/sudoreplay.c:1537 #: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:256 #: plugins/sudoers/testsudoers.c:265 plugins/sudoers/testsudoers.c:275 #: plugins/sudoers/testsudoers.c:282 plugins/sudoers/testsudoers.c:302 -#: plugins/sudoers/testsudoers.c:758 plugins/sudoers/timestamp.c:469 -#: plugins/sudoers/timestamp.c:513 plugins/sudoers/timestamp.c:1042 -#: plugins/sudoers/timestamp.c:1216 plugins/sudoers/toke_util.c:79 +#: plugins/sudoers/testsudoers.c:756 plugins/sudoers/timestamp.c:468 +#: plugins/sudoers/timestamp.c:514 plugins/sudoers/timestamp.c:1045 +#: plugins/sudoers/timestamp.c:1248 plugins/sudoers/toke_util.c:79 #: plugins/sudoers/toke_util.c:108 plugins/sudoers/toke_util.c:134 #: plugins/sudoers/toke_util.c:164 plugins/sudoers/toke_util.c:204 -#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:151 +#: plugins/sudoers/tsdump.c:136 plugins/sudoers/visudo.c:151 #: plugins/sudoers/visudo.c:258 plugins/sudoers/visudo.c:383 #: plugins/sudoers/visudo.c:389 plugins/sudoers/visudo.c:501 #: plugins/sudoers/visudo.c:1073 plugins/sudoers/visudo.c:1095 -#: plugins/sudoers/visudo.c:1189 toke.l:1031 toke.l:1194 toke.l:1213 -#: toke.l:1240 toke.l:1320 +#: plugins/sudoers/visudo.c:1189 toke.l:1011 toke.l:1174 toke.l:1193 +#: toke.l:1220 toke.l:1300 msgid "unable to allocate memory" msgstr "impossible d'allouer la mémoire" -#: gram.y:624 +#: gram.y:617 msgid "a digest requires a path name" msgstr "un résumé (digest) nécessite un chemin d'accès" -#: gram.y:646 +#: gram.y:639 msgid "values for \"CWD\" must start with a '/', '~', or '*'" msgstr "les valeurs de « CWD » doivent commencer par « / », « ~ » ou « * »" -#: gram.y:652 +#: gram.y:645 msgid "\"CWD\" path too long" msgstr "chemin trop long pour « CWD »" -#: gram.y:662 +#: gram.y:655 msgid "values for \"CHROOT\" must start with a '/', '~', or '*'" msgstr "les valeurs de « CHROOT » doivent commencer par « / », « ~ » ou « * »" -#: gram.y:668 +#: gram.y:661 msgid "\"CHROOT\" path too long" msgstr "chemin trop long pour « CHROOT »" -#: gram.y:817 +#: gram.y:810 #, 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:840 +#: gram.y:833 msgid "invalid notbefore value" msgstr "valeur « notbefore » (pas avant) invalide" -#: gram.y:849 +#: gram.y:842 msgid "invalid notafter value" msgstr "valeur « notafter » (pas après) invalide" -#: gram.y:859 plugins/sudoers/policy.c:390 +#: gram.y:852 plugins/sudoers/policy.c:373 msgid "timeout value too large" msgstr "valeur trop grande pour le délai d'expiration" -#: gram.y:861 plugins/sudoers/policy.c:392 +#: gram.y:854 plugins/sudoers/policy.c:375 msgid "invalid timeout value" msgstr "valeur invalide pour le délai d'expiration" -#: gram.y:982 plugins/sudoers/sudoers.c:1162 +#: gram.y:965 plugins/sudoers/sudoers.c:1180 msgid "command too long" msgstr "commande trop longue" -#: gram.y:1016 +#: gram.y:999 msgid "expected a fully-qualified path name" msgstr "nom de chemin totalement défini attendu" -#: gram.y:1261 +#: gram.y:1244 #, c-format msgid "%s:%d:%zu: %s\n" msgstr "%s:%d:%zu: %s\n" -#: gram.y:1315 +#: gram.y:1298 #, c-format msgid "Alias \"%s\" already defined" msgstr "L'alias « %s » est déjà défini" -#: gram.y:1829 gram.y:1840 gram.y:1922 lib/eventlog/eventlog.c:236 -#: lib/eventlog/eventlog.c:765 lib/eventlog/eventlog.c:838 -#: lib/eventlog/eventlog.c:841 lib/eventlog/eventlog.c:1175 -#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:483 -#: lib/eventlog/parse_json.c:514 lib/iolog/iolog_filter.c:142 +#: gram.y:1811 gram.y:1822 gram.y:1898 lib/eventlog/eventlog.c:236 +#: lib/eventlog/eventlog.c:778 lib/eventlog/eventlog.c:851 +#: lib/eventlog/eventlog.c:854 lib/eventlog/eventlog.c:1189 +#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:500 +#: lib/eventlog/parse_json.c:531 lib/iolog/iolog_filter.c:142 #: lib/iolog/iolog_filter.c:202 lib/iolog/iolog_filter.c:232 #: lib/iolog/iolog_legacy.c:101 lib/iolog/iolog_legacy.c:112 #: lib/iolog/iolog_legacy.c:124 lib/iolog/iolog_legacy.c:134 @@ -283,16 +280,16 @@ msgstr "L'alias « %s » est déjà défini" #: logsrvd/iolog_writer.c:246 logsrvd/iolog_writer.c:256 #: logsrvd/iolog_writer.c:267 logsrvd/iolog_writer.c:277 #: logsrvd/iolog_writer.c:289 logsrvd/iolog_writer.c:299 -#: logsrvd/iolog_writer.c:309 logsrvd/iolog_writer.c:319 -#: logsrvd/iolog_writer.c:329 logsrvd/iolog_writer.c:341 -#: logsrvd/iolog_writer.c:377 logsrvd/iolog_writer.c:383 -#: logsrvd/iolog_writer.c:390 logsrvd/iolog_writer.c:396 -#: logsrvd/iolog_writer.c:580 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:323 -#: logsrvd/logsrvd.c:461 logsrvd/logsrvd.c:498 logsrvd/logsrvd.c:530 -#: logsrvd/logsrvd.c:584 logsrvd/logsrvd.c:619 logsrvd/logsrvd.c:668 -#: logsrvd/logsrvd.c:704 logsrvd/logsrvd.c:740 logsrvd/logsrvd.c:1131 -#: logsrvd/logsrvd.c:1446 logsrvd/logsrvd.c:1453 logsrvd/logsrvd.c:1589 -#: logsrvd/logsrvd.c:1594 logsrvd/logsrvd.c:1781 logsrvd/logsrvd.c:2003 +#: logsrvd/iolog_writer.c:317 logsrvd/iolog_writer.c:327 +#: logsrvd/iolog_writer.c:337 logsrvd/iolog_writer.c:349 +#: logsrvd/iolog_writer.c:385 logsrvd/iolog_writer.c:391 +#: logsrvd/iolog_writer.c:398 logsrvd/iolog_writer.c:404 +#: logsrvd/iolog_writer.c:588 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:324 +#: logsrvd/logsrvd.c:462 logsrvd/logsrvd.c:499 logsrvd/logsrvd.c:531 +#: logsrvd/logsrvd.c:585 logsrvd/logsrvd.c:620 logsrvd/logsrvd.c:669 +#: logsrvd/logsrvd.c:705 logsrvd/logsrvd.c:741 logsrvd/logsrvd.c:1132 +#: logsrvd/logsrvd.c:1456 logsrvd/logsrvd.c:1463 logsrvd/logsrvd.c:1599 +#: logsrvd/logsrvd.c:1604 logsrvd/logsrvd.c:1791 logsrvd/logsrvd.c:2046 #: 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 @@ -300,11 +297,11 @@ msgstr "L'alias « %s » est déjà défini" #: 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_conf.c:829 logsrvd/logsrvd_conf.c:1041 +#: logsrvd/logsrvd_conf.c:1058 logsrvd/logsrvd_conf.c:1453 +#: logsrvd/logsrvd_conf.c:1600 logsrvd/logsrvd_conf.c:1626 +#: logsrvd/logsrvd_conf.c:1638 logsrvd/logsrvd_conf.c:1645 +#: logsrvd/logsrvd_conf.c:1651 logsrvd/logsrvd_conf.c:1747 #: logsrvd/logsrvd_journal.c:76 logsrvd/logsrvd_journal.c:125 #: logsrvd/logsrvd_journal.c:216 logsrvd/logsrvd_journal.c:246 #: logsrvd/logsrvd_journal.c:250 logsrvd/logsrvd_journal.c:258 @@ -315,8 +312,8 @@ msgstr "L'alias « %s » est déjà défini" #: logsrvd/logsrvd_queue.c:158 logsrvd/logsrvd_queue.c:189 #: logsrvd/logsrvd_queue.c:266 logsrvd/sendlog.c:256 logsrvd/sendlog.c:265 #: logsrvd/sendlog.c:297 logsrvd/sendlog.c:303 logsrvd/sendlog.c:352 -#: logsrvd/sendlog.c:630 logsrvd/sendlog.c:1523 logsrvd/sendlog.c:1530 -#: logsrvd/sendlog.c:1753 logsrvd/sendlog.c:1822 logsrvd/tls_init.c:305 +#: logsrvd/sendlog.c:651 logsrvd/sendlog.c:1548 logsrvd/sendlog.c:1555 +#: logsrvd/sendlog.c:1778 logsrvd/sendlog.c:1847 logsrvd/tls_init.c:305 #: logsrvd/tls_init.c:329 logsrvd/tls_init.c:340 plugins/sudoers/audit.c:118 #: plugins/sudoers/auth/pam.c:518 plugins/sudoers/auth/pam.c:697 #: plugins/sudoers/auth/rfc1938.c:112 plugins/sudoers/canon_path.c:129 @@ -327,34 +324,31 @@ msgstr "L'alias « %s » est déjà défini" #: plugins/sudoers/cvtsudoers.c:337 plugins/sudoers/cvtsudoers.c:544 #: plugins/sudoers/cvtsudoers.c:697 plugins/sudoers/cvtsudoers.c:715 #: plugins/sudoers/cvtsudoers.c:891 plugins/sudoers/cvtsudoers.c:898 -#: plugins/sudoers/cvtsudoers.c:1395 plugins/sudoers/cvtsudoers.c:1399 -#: plugins/sudoers/cvtsudoers.c:1501 plugins/sudoers/cvtsudoers_csv.c:182 -#: plugins/sudoers/cvtsudoers_csv.c:246 plugins/sudoers/cvtsudoers_json.c:75 -#: plugins/sudoers/cvtsudoers_ldif.c:151 plugins/sudoers/cvtsudoers_ldif.c:194 -#: plugins/sudoers/cvtsudoers_ldif.c:235 plugins/sudoers/cvtsudoers_ldif.c:301 -#: plugins/sudoers/cvtsudoers_ldif.c:377 plugins/sudoers/cvtsudoers_ldif.c:431 -#: plugins/sudoers/cvtsudoers_ldif.c:439 plugins/sudoers/cvtsudoers_ldif.c:450 -#: plugins/sudoers/cvtsudoers_ldif.c:457 plugins/sudoers/cvtsudoers_ldif.c:469 -#: plugins/sudoers/cvtsudoers_ldif.c:482 plugins/sudoers/cvtsudoers_ldif.c:490 -#: plugins/sudoers/cvtsudoers_ldif.c:637 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:455 -#: plugins/sudoers/defaults.c:689 plugins/sudoers/defaults.c:1051 -#: plugins/sudoers/defaults.c:1235 plugins/sudoers/editor.c:198 -#: plugins/sudoers/env.c:263 plugins/sudoers/exptilde.c:92 +#: plugins/sudoers/cvtsudoers.c:1393 plugins/sudoers/cvtsudoers.c:1397 +#: plugins/sudoers/cvtsudoers.c:1497 plugins/sudoers/cvtsudoers_csv.c:182 +#: plugins/sudoers/cvtsudoers_csv.c:255 plugins/sudoers/cvtsudoers_json.c:604 +#: plugins/sudoers/cvtsudoers_json.c:639 plugins/sudoers/cvtsudoers_json.c:1016 +#: plugins/sudoers/cvtsudoers_json.c:1041 plugins/sudoers/cvtsudoers_ldif.c:112 +#: plugins/sudoers/cvtsudoers_ldif.c:144 plugins/sudoers/cvtsudoers_ldif.c:260 +#: plugins/sudoers/cvtsudoers_ldif.c:573 plugins/sudoers/cvtsudoers_ldif.c:586 +#: plugins/sudoers/cvtsudoers_ldif.c:591 plugins/sudoers/cvtsudoers_ldif.c:761 +#: plugins/sudoers/cvtsudoers_merge.c:57 plugins/sudoers/cvtsudoers_merge.c:357 +#: plugins/sudoers/cvtsudoers_merge.c:405 +#: plugins/sudoers/cvtsudoers_merge.c:453 +#: plugins/sudoers/cvtsudoers_merge.c:475 +#: plugins/sudoers/cvtsudoers_merge.c:583 +#: plugins/sudoers/cvtsudoers_merge.c:588 +#: plugins/sudoers/cvtsudoers_merge.c:661 +#: plugins/sudoers/cvtsudoers_merge.c:664 +#: plugins/sudoers/cvtsudoers_merge.c:1196 +#: plugins/sudoers/cvtsudoers_merge.c:1281 plugins/sudoers/defaults.c:455 +#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1062 +#: plugins/sudoers/defaults.c:1248 plugins/sudoers/editor.c:198 +#: plugins/sudoers/env.c:280 plugins/sudoers/exptilde.c:92 #: plugins/sudoers/filedigest.c:66 plugins/sudoers/filedigest.c:70 #: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:211 -#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268 -#: plugins/sudoers/iolog.c:675 plugins/sudoers/iolog.c:703 +#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:270 +#: plugins/sudoers/iolog.c:683 plugins/sudoers/iolog.c:711 #: plugins/sudoers/ldap.c:161 plugins/sudoers/ldap.c:448 #: plugins/sudoers/ldap.c:625 plugins/sudoers/ldap.c:789 #: plugins/sudoers/ldap.c:1214 plugins/sudoers/ldap.c:1642 @@ -364,26 +358,26 @@ msgstr "L'alias « %s » est déjà défini" #: plugins/sudoers/ldap_conf.c:299 plugins/sudoers/ldap_conf.c:335 #: plugins/sudoers/ldap_conf.c:441 plugins/sudoers/ldap_conf.c:456 #: plugins/sudoers/ldap_conf.c:565 plugins/sudoers/ldap_conf.c:598 -#: plugins/sudoers/ldap_conf.c:693 plugins/sudoers/ldap_conf.c:776 +#: plugins/sudoers/ldap_conf.c:695 plugins/sudoers/ldap_conf.c:778 #: 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:717 -#: plugins/sudoers/log_client.c:739 plugins/sudoers/log_client.c:744 -#: plugins/sudoers/log_client.c:1426 plugins/sudoers/log_client.c:1547 -#: plugins/sudoers/log_client.c:1670 plugins/sudoers/log_client.c:1993 -#: plugins/sudoers/log_client.c:2052 plugins/sudoers/logging.c:110 +#: plugins/sudoers/ldap_util.c:615 plugins/sudoers/linux_audit.c:86 +#: plugins/sudoers/log_client.c:117 plugins/sudoers/log_client.c:237 +#: plugins/sudoers/log_client.c:259 plugins/sudoers/log_client.c:273 +#: plugins/sudoers/log_client.c:411 plugins/sudoers/log_client.c:726 +#: plugins/sudoers/log_client.c:748 plugins/sudoers/log_client.c:753 +#: plugins/sudoers/log_client.c:1449 plugins/sudoers/log_client.c:1570 +#: plugins/sudoers/log_client.c:1693 plugins/sudoers/log_client.c:2018 +#: plugins/sudoers/log_client.c:2077 plugins/sudoers/logging.c:110 #: plugins/sudoers/logging.c:189 plugins/sudoers/logging.c:190 -#: plugins/sudoers/logging.c:475 plugins/sudoers/logging.c:711 -#: plugins/sudoers/logging.c:755 plugins/sudoers/logging.c:872 -#: plugins/sudoers/logging.c:925 plugins/sudoers/logging.c:932 -#: plugins/sudoers/lookup.c:337 plugins/sudoers/lookup.c:354 -#: plugins/sudoers/lookup.c:373 plugins/sudoers/lookup.c:392 -#: plugins/sudoers/lookup.c:409 plugins/sudoers/lookup.c:432 -#: plugins/sudoers/lookup.c:443 plugins/sudoers/match_command.c:301 -#: plugins/sudoers/match_command.c:573 plugins/sudoers/match_command.c:640 -#: plugins/sudoers/match_command.c:737 plugins/sudoers/match_command.c:784 +#: plugins/sudoers/logging.c:483 plugins/sudoers/logging.c:723 +#: plugins/sudoers/logging.c:763 plugins/sudoers/logging.c:880 +#: plugins/sudoers/logging.c:933 plugins/sudoers/logging.c:940 +#: plugins/sudoers/lookup.c:330 plugins/sudoers/lookup.c:347 +#: plugins/sudoers/lookup.c:365 plugins/sudoers/lookup.c:383 +#: plugins/sudoers/lookup.c:400 plugins/sudoers/lookup.c:422 +#: plugins/sudoers/lookup.c:433 plugins/sudoers/match_command.c:279 +#: plugins/sudoers/match_command.c:543 plugins/sudoers/match_command.c:607 +#: plugins/sudoers/match_command.c:702 plugins/sudoers/match_command.c:749 #: plugins/sudoers/match_digest.c:88 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 @@ -394,52 +388,52 @@ msgstr "L'alias « %s » est déjà défini" #: plugins/sudoers/parse_ldif.c:595 plugins/sudoers/parse_ldif.c:624 #: plugins/sudoers/parse_ldif.c:649 plugins/sudoers/parse_ldif.c:707 #: plugins/sudoers/parse_ldif.c:724 plugins/sudoers/parse_ldif.c:752 -#: plugins/sudoers/parse_ldif.c:759 plugins/sudoers/policy.c:157 -#: plugins/sudoers/policy.c:166 plugins/sudoers/policy.c:175 -#: plugins/sudoers/policy.c:204 plugins/sudoers/policy.c:374 -#: plugins/sudoers/policy.c:390 plugins/sudoers/policy.c:392 -#: plugins/sudoers/policy.c:430 plugins/sudoers/policy.c:439 -#: plugins/sudoers/policy.c:448 plugins/sudoers/policy.c:457 -#: plugins/sudoers/policy.c:493 plugins/sudoers/policy.c:502 -#: plugins/sudoers/policy.c:511 plugins/sudoers/policy.c:520 -#: plugins/sudoers/policy.c:529 plugins/sudoers/policy.c:538 -#: plugins/sudoers/policy.c:547 plugins/sudoers/policy.c:646 -#: plugins/sudoers/policy.c:1061 plugins/sudoers/prompt.c:94 +#: plugins/sudoers/parse_ldif.c:759 plugins/sudoers/policy.c:152 +#: plugins/sudoers/policy.c:161 plugins/sudoers/policy.c:170 +#: plugins/sudoers/policy.c:199 plugins/sudoers/policy.c:357 +#: plugins/sudoers/policy.c:373 plugins/sudoers/policy.c:375 +#: plugins/sudoers/policy.c:414 plugins/sudoers/policy.c:423 +#: plugins/sudoers/policy.c:432 plugins/sudoers/policy.c:441 +#: plugins/sudoers/policy.c:492 plugins/sudoers/policy.c:501 +#: plugins/sudoers/policy.c:510 plugins/sudoers/policy.c:519 +#: plugins/sudoers/policy.c:528 plugins/sudoers/policy.c:537 +#: plugins/sudoers/policy.c:546 plugins/sudoers/policy.c:654 +#: plugins/sudoers/policy.c:1071 plugins/sudoers/prompt.c:94 #: plugins/sudoers/pwutil.c:219 plugins/sudoers/pwutil.c:290 #: plugins/sudoers/pwutil.c:368 plugins/sudoers/pwutil.c:542 #: plugins/sudoers/pwutil.c:607 plugins/sudoers/pwutil.c:679 -#: plugins/sudoers/pwutil.c:877 plugins/sudoers/pwutil.c:967 -#: plugins/sudoers/pwutil.c:1015 plugins/sudoers/pwutil.c:1076 +#: plugins/sudoers/pwutil.c:877 plugins/sudoers/pwutil.c:970 +#: plugins/sudoers/pwutil.c:1018 plugins/sudoers/pwutil.c:1082 #: plugins/sudoers/set_perms.c:374 plugins/sudoers/set_perms.c:723 #: plugins/sudoers/set_perms.c:1096 plugins/sudoers/set_perms.c:1409 -#: plugins/sudoers/set_perms.c:1579 plugins/sudoers/sethost.c:85 +#: plugins/sudoers/set_perms.c:1579 plugins/sudoers/sethost.c:89 #: plugins/sudoers/sssd.c:144 plugins/sudoers/sssd.c:186 #: plugins/sudoers/sssd.c:415 plugins/sudoers/sssd.c:480 #: plugins/sudoers/sssd.c:507 plugins/sudoers/sssd.c:570 #: plugins/sudoers/sssd.c:765 plugins/sudoers/strvec_join.c:53 #: plugins/sudoers/sudoers.c:405 plugins/sudoers/sudoers.c:412 -#: plugins/sudoers/sudoers.c:656 plugins/sudoers/sudoers.c:666 -#: plugins/sudoers/sudoers.c:811 plugins/sudoers/sudoers.c:877 -#: plugins/sudoers/sudoers.c:936 plugins/sudoers/sudoers.c:985 -#: plugins/sudoers/sudoers.c:1144 plugins/sudoers/sudoers.c:1213 -#: plugins/sudoers/sudoers.c:1306 plugins/sudoers/sudoers_cb.c:150 +#: plugins/sudoers/sudoers.c:673 plugins/sudoers/sudoers.c:683 +#: plugins/sudoers/sudoers.c:828 plugins/sudoers/sudoers.c:894 +#: plugins/sudoers/sudoers.c:953 plugins/sudoers/sudoers.c:1002 +#: plugins/sudoers/sudoers.c:1162 plugins/sudoers/sudoers.c:1231 +#: plugins/sudoers/sudoers.c:1324 plugins/sudoers/sudoers_cb.c:150 #: plugins/sudoers/sudoreplay.c:559 plugins/sudoers/sudoreplay.c:562 -#: plugins/sudoers/sudoreplay.c:1279 plugins/sudoers/sudoreplay.c:1335 -#: plugins/sudoers/sudoreplay.c:1531 plugins/sudoers/sudoreplay.c:1535 +#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1337 +#: plugins/sudoers/sudoreplay.c:1533 plugins/sudoers/sudoreplay.c:1537 #: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:255 #: plugins/sudoers/testsudoers.c:264 plugins/sudoers/testsudoers.c:275 #: plugins/sudoers/testsudoers.c:282 plugins/sudoers/testsudoers.c:302 -#: plugins/sudoers/testsudoers.c:758 plugins/sudoers/timestamp.c:469 -#: plugins/sudoers/timestamp.c:513 plugins/sudoers/timestamp.c:1042 -#: plugins/sudoers/timestamp.c:1216 plugins/sudoers/toke_util.c:79 +#: plugins/sudoers/testsudoers.c:756 plugins/sudoers/timestamp.c:468 +#: plugins/sudoers/timestamp.c:514 plugins/sudoers/timestamp.c:1045 +#: plugins/sudoers/timestamp.c:1248 plugins/sudoers/toke_util.c:79 #: plugins/sudoers/toke_util.c:108 plugins/sudoers/toke_util.c:134 #: plugins/sudoers/toke_util.c:163 plugins/sudoers/toke_util.c:204 -#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:151 +#: plugins/sudoers/tsdump.c:136 plugins/sudoers/visudo.c:151 #: plugins/sudoers/visudo.c:258 plugins/sudoers/visudo.c:383 #: plugins/sudoers/visudo.c:389 plugins/sudoers/visudo.c:501 #: plugins/sudoers/visudo.c:1073 plugins/sudoers/visudo.c:1094 -#: plugins/sudoers/visudo.c:1189 toke.l:1031 toke.l:1194 toke.l:1213 -#: toke.l:1240 toke.l:1309 toke.l:1320 +#: plugins/sudoers/visudo.c:1189 toke.l:1011 toke.l:1174 toke.l:1193 +#: toke.l:1220 toke.l:1289 toke.l:1300 #, c-format msgid "%s: %s" msgstr "%s : %s" @@ -468,12 +462,12 @@ msgstr "création du processus fils impossible : %m" msgid "unable to open pipe: %m" msgstr "ouverture du tube impossible : %m" -#: lib/eventlog/eventlog.c:1000 +#: lib/eventlog/eventlog.c:1013 #, c-format msgid "%8s : %s" msgstr "%8s : %s" -#: lib/eventlog/eventlog.c:1029 +#: lib/eventlog/eventlog.c:1042 #, c-format msgid "%8s : (command continued) %s" msgstr "%8s : (suite de la commande) %s" @@ -487,73 +481,73 @@ msgstr "JSON_STRING attendue, %d obtenu" msgid "JSON_ARRAY too large" msgstr "JSON_ARRAY trop grand" -#: lib/eventlog/parse_json.c:506 +#: lib/eventlog/parse_json.c:523 msgid "missing double quote in name" msgstr "guillemet manquante dans le nom" -#: lib/eventlog/parse_json.c:624 +#: lib/eventlog/parse_json.c:641 msgid "missing JSON_OBJECT" msgstr "JSON_OBJECT manquant" -#: lib/eventlog/parse_json.c:628 +#: lib/eventlog/parse_json.c:645 #, c-format msgid "expected JSON_OBJECT, got %d" msgstr "JSON_OBJECT attendu, %d obtenu" -#: lib/eventlog/parse_json.c:762 +#: lib/eventlog/parse_json.c:779 #, c-format msgid "json stack exhausted (max %u frames)" msgstr "pile json épuisée (max %u trames)" -#: lib/eventlog/parse_json.c:840 +#: lib/eventlog/parse_json.c:857 msgid "objects must consist of name:value pairs" msgstr "les objets doivent être des paires nom:valeur" -#: lib/eventlog/parse_json.c:845 lib/eventlog/parse_json.c:876 -#: lib/eventlog/parse_json.c:920 lib/eventlog/parse_json.c:942 -#: lib/eventlog/parse_json.c:964 lib/eventlog/parse_json.c:986 -#: lib/eventlog/parse_json.c:1008 +#: lib/eventlog/parse_json.c:862 lib/eventlog/parse_json.c:893 +#: lib/eventlog/parse_json.c:937 lib/eventlog/parse_json.c:959 +#: lib/eventlog/parse_json.c:981 lib/eventlog/parse_json.c:1003 +#: lib/eventlog/parse_json.c:1025 msgid "missing separator between values" msgstr "séparateur manquant entre les valeurs" -#: lib/eventlog/parse_json.c:860 lib/eventlog/parse_json.c:1034 +#: lib/eventlog/parse_json.c:877 lib/eventlog/parse_json.c:1051 msgid "unmatched close brace" msgstr "accolade fermante non appariée" -#: lib/eventlog/parse_json.c:871 +#: lib/eventlog/parse_json.c:888 msgid "unexpected array" msgstr "tableau attendu" -#: lib/eventlog/parse_json.c:891 lib/eventlog/parse_json.c:1037 +#: lib/eventlog/parse_json.c:908 lib/eventlog/parse_json.c:1054 msgid "unmatched close bracket" msgstr "crochet fermant non apparié" -#: lib/eventlog/parse_json.c:902 +#: lib/eventlog/parse_json.c:919 msgid "unexpected string" msgstr "chaîne inattendue" -#: lib/eventlog/parse_json.c:913 +#: lib/eventlog/parse_json.c:930 msgid "missing colon after name" msgstr "deux points manquants après le nom" -#: lib/eventlog/parse_json.c:934 lib/eventlog/parse_json.c:956 +#: lib/eventlog/parse_json.c:951 lib/eventlog/parse_json.c:973 msgid "unexpected boolean" msgstr "booléen inattendu" -#: lib/eventlog/parse_json.c:978 +#: lib/eventlog/parse_json.c:995 msgid "unexpected null" msgstr "nul inattendu" -#: lib/eventlog/parse_json.c:999 +#: lib/eventlog/parse_json.c:1016 msgid "unexpected number" msgstr "nombre inattendu" -#: lib/eventlog/parse_json.c:1045 +#: lib/eventlog/parse_json.c:1062 msgid "parse error" msgstr "erreur d'analyse grammaticale" -#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1290 -#: plugins/sudoers/sudoreplay.c:1291 plugins/sudoers/sudoreplay.c:1587 +#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1303 +#: plugins/sudoers/sudoreplay.c:1293 plugins/sudoers/sudoreplay.c:1589 #, c-format msgid "invalid regular expression \"%s\": %s" msgstr "expression régulière « %s » invalide : %s" @@ -593,8 +587,8 @@ 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:124 lib/iolog/iolog_mkdtemp.c:80 -#: logsrvd/iolog_writer.c:795 plugins/sudoers/timestamp.c:218 +#: lib/iolog/iolog_mkdirs.c:125 lib/iolog/iolog_mkdtemp.c:80 +#: logsrvd/iolog_writer.c:803 plugins/sudoers/timestamp.c:218 #, c-format msgid "unable to mkdir %s" msgstr "création du répertoire (mkdir) %s impossible" @@ -632,90 +626,90 @@ msgstr "%s : erreur de protocole : mauvais type pour %s" 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:1024 -#: plugins/sudoers/policy.c:613 +#: logsrvd/iolog_writer.c:141 plugins/sudoers/logging.c:1035 +#: plugins/sudoers/policy.c:621 msgid "unable to generate UUID" msgstr "impossible de générer le UUID" -#: logsrvd/iolog_writer.c:354 logsrvd/iolog_writer.c:359 -#: logsrvd/iolog_writer.c:364 logsrvd/iolog_writer.c:369 +#: logsrvd/iolog_writer.c:362 logsrvd/iolog_writer.c:367 +#: logsrvd/iolog_writer.c:372 logsrvd/iolog_writer.c:377 #, c-format msgid "%s: protocol error: %s missing from AcceptMessage" msgstr "%s : erreur de protocole : %s est manquant dans AcceptMessage" -#: logsrvd/iolog_writer.c:430 +#: logsrvd/iolog_writer.c:438 #, c-format msgid "%s: unable to format session id" msgstr "%s : impossible de formater l'id de session" -#: logsrvd/iolog_writer.c:444 logsrvd/iolog_writer.c:458 -#: logsrvd/iolog_writer.c:472 logsrvd/iolog_writer.c:487 -#: logsrvd/iolog_writer.c:501 logsrvd/iolog_writer.c:515 +#: logsrvd/iolog_writer.c:452 logsrvd/iolog_writer.c:466 +#: logsrvd/iolog_writer.c:480 logsrvd/iolog_writer.c:495 +#: logsrvd/iolog_writer.c:509 logsrvd/iolog_writer.c:523 #, c-format msgid "%s: %s is not set" msgstr "%s : %s n'est pas défini" -#: logsrvd/iolog_writer.c:551 logsrvd/iolog_writer.c:558 +#: logsrvd/iolog_writer.c:559 logsrvd/iolog_writer.c:566 #, c-format msgid "unable to expand iolog path %s" msgstr "impossible de développer le chemin iolog %s" -#: logsrvd/iolog_writer.c:576 +#: logsrvd/iolog_writer.c:584 #, c-format msgid "unable to create iolog path %s" msgstr "impossible de créer le chemin iolog %s" -#: logsrvd/iolog_writer.c:606 +#: logsrvd/iolog_writer.c:614 #, c-format msgid "invalid iofd %d" msgstr "iofd %d invalide" -#: logsrvd/iolog_writer.c:626 +#: logsrvd/iolog_writer.c:634 #, c-format msgid "error closing iofd %u: %s" msgstr "erreur à la fermeture du iofd %u : %s" -#: logsrvd/iolog_writer.c:647 +#: logsrvd/iolog_writer.c:655 #, c-format msgid "error flushing iofd %u: %s" msgstr "erreur lors de la vidange du iofd %u : %s" -#: logsrvd/iolog_writer.c:765 +#: logsrvd/iolog_writer.c:773 #, 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:777 logsrvd/logsrvd_journal.c:391 +#: logsrvd/iolog_writer.c:785 logsrvd/logsrvd_journal.c:391 #, 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:799 logsrvd/logsrvd_journal.c:434 +#: logsrvd/iolog_writer.c:807 logsrvd/logsrvd_journal.c:434 #: logsrvd/logsrvd_queue.c:115 logsrvd/tls_init.c:256 -#: plugins/sudoers/check.c:285 plugins/sudoers/cvtsudoers.c:758 -#: plugins/sudoers/cvtsudoers.c:780 plugins/sudoers/cvtsudoers.c:1461 -#: plugins/sudoers/cvtsudoers_csv.c:697 plugins/sudoers/cvtsudoers_json.c:902 -#: plugins/sudoers/cvtsudoers_ldif.c:711 plugins/sudoers/sudoers.c:1291 -#: plugins/sudoers/sudoers.c:1317 plugins/sudoers/sudoreplay.c:1497 -#: plugins/sudoers/timestamp.c:478 plugins/sudoers/tsdump.c:128 +#: plugins/sudoers/check.c:278 plugins/sudoers/cvtsudoers.c:758 +#: plugins/sudoers/cvtsudoers.c:780 plugins/sudoers/cvtsudoers.c:1457 +#: plugins/sudoers/cvtsudoers_csv.c:722 plugins/sudoers/cvtsudoers_json.c:1034 +#: plugins/sudoers/cvtsudoers_ldif.c:753 plugins/sudoers/sudoers.c:1309 +#: plugins/sudoers/sudoers.c:1335 plugins/sudoers/sudoreplay.c:1499 +#: plugins/sudoers/timestamp.c:477 plugins/sudoers/tsdump.c:141 #: plugins/sudoers/visudo.c:990 #, c-format msgid "unable to open %s" msgstr "ouverture de %s impossible" -#: logsrvd/iolog_writer.c:811 logsrvd/logsrv_util.c:111 +#: logsrvd/iolog_writer.c:819 logsrvd/logsrv_util.c:111 #: logsrvd/logsrv_util.c:118 plugins/sudoers/sudoreplay.c:355 #: plugins/sudoers/sudoreplay.c:361 #, c-format msgid "unable to open %s/%s" msgstr "ouverture de %si/%s impossible" -#: logsrvd/iolog_writer.c:824 +#: logsrvd/iolog_writer.c:832 #, 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:853 logsrvd/logsrvd_journal.c:198 +#: logsrvd/iolog_writer.c:861 logsrvd/logsrvd_journal.c:198 #, c-format msgid "unable to rename %s to %s" msgstr "impossible de renommer %s en %s" @@ -735,209 +729,209 @@ msgstr "fichier du journal E/S %s/%s manquant" msgid "%s/%s: unable to seek forward %zu" msgstr "%s/%s : impossible d'examiner vers l'avant de %zu" -#: logsrvd/logsrvd.c:271 logsrvd/logsrvd_queue.c:135 +#: logsrvd/logsrvd.c:272 logsrvd/logsrvd_queue.c:135 msgid "unable to connect to relay" msgstr "impossible de se connecter au relai" -#: logsrvd/logsrvd.c:338 logsrvd/logsrvd_relay.c:847 +#: logsrvd/logsrvd.c:339 logsrvd/logsrvd_relay.c:847 #, c-format msgid "server message too large: %zu" msgstr "message serveur trop grand : %zu" -#: logsrvd/logsrvd.c:430 logsrvd/logsrvd.c:553 logsrvd/logsrvd.c:639 -#: logsrvd/logsrvd.c:881 logsrvd/logsrvd.c:895 logsrvd/logsrvd.c:1056 -#: logsrvd/logsrvd.c:1181 logsrvd/logsrvd.c:1354 logsrvd/logsrvd.c:1372 -#: logsrvd/logsrvd.c:1471 logsrvd/logsrvd.c:1596 logsrvd/logsrvd.c:1783 +#: logsrvd/logsrvd.c:431 logsrvd/logsrvd.c:554 logsrvd/logsrvd.c:640 +#: logsrvd/logsrvd.c:882 logsrvd/logsrvd.c:896 logsrvd/logsrvd.c:1057 +#: logsrvd/logsrvd.c:1182 logsrvd/logsrvd.c:1364 logsrvd/logsrvd.c:1382 +#: logsrvd/logsrvd.c:1481 logsrvd/logsrvd.c:1606 logsrvd/logsrvd.c:1793 #: logsrvd/logsrvd_journal.c:503 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:391 logsrvd/logsrvd_relay.c:583 #: logsrvd/logsrvd_relay.c:747 logsrvd/logsrvd_relay.c:1137 -#: logsrvd/sendlog.c:1308 logsrvd/tls_client.c:136 logsrvd/tls_client.c:152 -#: logsrvd/tls_client.c:216 plugins/sudoers/audit.c:281 -#: plugins/sudoers/iolog.c:1041 plugins/sudoers/iolog.c:1175 -#: plugins/sudoers/iolog.c:1274 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:613 -#: plugins/sudoers/log_client.c:620 plugins/sudoers/log_client.c:1114 -#: plugins/sudoers/log_client.c:1395 plugins/sudoers/log_client.c:1436 -#: plugins/sudoers/log_client.c:1444 plugins/sudoers/log_client.c:1603 -#: plugins/sudoers/log_client.c:1728 plugins/sudoers/log_client.c:2060 -#: plugins/sudoers/log_client.c:2068 plugins/sudoers/logging.c:148 +#: logsrvd/sendlog.c:1333 logsrvd/tls_client.c:145 logsrvd/tls_client.c:161 +#: logsrvd/tls_client.c:225 plugins/sudoers/audit.c:281 +#: plugins/sudoers/iolog.c:1049 plugins/sudoers/iolog.c:1183 +#: plugins/sudoers/iolog.c:1282 plugins/sudoers/log_client.c:121 +#: plugins/sudoers/log_client.c:352 plugins/sudoers/log_client.c:368 +#: plugins/sudoers/log_client.c:416 plugins/sudoers/log_client.c:622 +#: plugins/sudoers/log_client.c:629 plugins/sudoers/log_client.c:1137 +#: plugins/sudoers/log_client.c:1418 plugins/sudoers/log_client.c:1459 +#: plugins/sudoers/log_client.c:1467 plugins/sudoers/log_client.c:1626 +#: plugins/sudoers/log_client.c:1751 plugins/sudoers/log_client.c:2085 +#: plugins/sudoers/log_client.c:2093 plugins/sudoers/logging.c:148 #: plugins/sudoers/logging.c:206 plugins/sudoers/sudoreplay.c:519 -#: plugins/sudoers/sudoreplay.c:566 plugins/sudoers/sudoreplay.c:808 -#: plugins/sudoers/sudoreplay.c:920 plugins/sudoers/sudoreplay.c:1011 -#: plugins/sudoers/sudoreplay.c:1026 plugins/sudoers/sudoreplay.c:1033 -#: plugins/sudoers/sudoreplay.c:1040 plugins/sudoers/sudoreplay.c:1047 -#: plugins/sudoers/sudoreplay.c:1054 plugins/sudoers/sudoreplay.c:1182 +#: plugins/sudoers/sudoreplay.c:566 plugins/sudoers/sudoreplay.c:810 +#: plugins/sudoers/sudoreplay.c:922 plugins/sudoers/sudoreplay.c:1013 +#: plugins/sudoers/sudoreplay.c:1028 plugins/sudoers/sudoreplay.c:1035 +#: plugins/sudoers/sudoreplay.c:1042 plugins/sudoers/sudoreplay.c:1049 +#: plugins/sudoers/sudoreplay.c:1056 plugins/sudoers/sudoreplay.c:1184 msgid "unable to add event to queue" msgstr "impossible d'ajouter l'événement à la queue" -#: logsrvd/logsrvd.c:454 logsrvd/logsrvd.c:491 logsrvd/logsrvd.c:523 -#: logsrvd/logsrvd.c:577 logsrvd/logsrvd.c:656 logsrvd/logsrvd.c:692 -#: logsrvd/logsrvd.c:728 logsrvd/logsrvd.c:764 logsrvd/logsrvd_relay.c:512 +#: logsrvd/logsrvd.c:455 logsrvd/logsrvd.c:492 logsrvd/logsrvd.c:524 +#: logsrvd/logsrvd.c:578 logsrvd/logsrvd.c:657 logsrvd/logsrvd.c:693 +#: logsrvd/logsrvd.c:729 logsrvd/logsrvd.c:765 logsrvd/logsrvd_relay.c:512 #: logsrvd/logsrvd_relay.c:545 #, c-format msgid "unexpected state %d for %s" msgstr "état %d inattendu pour %s" -#: logsrvd/logsrvd.c:455 logsrvd/logsrvd.c:492 logsrvd/logsrvd.c:524 -#: logsrvd/logsrvd.c:578 logsrvd/logsrvd.c:657 logsrvd/logsrvd.c:693 -#: logsrvd/logsrvd.c:729 logsrvd/logsrvd.c:765 logsrvd/logsrvd_relay.c:514 +#: logsrvd/logsrvd.c:456 logsrvd/logsrvd.c:493 logsrvd/logsrvd.c:525 +#: logsrvd/logsrvd.c:579 logsrvd/logsrvd.c:658 logsrvd/logsrvd.c:694 +#: logsrvd/logsrvd.c:730 logsrvd/logsrvd.c:766 logsrvd/logsrvd_relay.c:514 #: logsrvd/logsrvd_relay.c:547 msgid "state machine error" msgstr "erreur de la machine à états" -#: logsrvd/logsrvd.c:461 logsrvd/logsrvd.c:462 +#: logsrvd/logsrvd.c:462 logsrvd/logsrvd.c:463 msgid "invalid AcceptMessage" msgstr "AcceptMessage invalide" -#: logsrvd/logsrvd.c:498 logsrvd/logsrvd.c:499 +#: logsrvd/logsrvd.c:499 logsrvd/logsrvd.c:500 msgid "invalid RejectMessage" msgstr "RejectMessage invalide" -#: logsrvd/logsrvd.c:530 logsrvd/logsrvd.c:531 +#: logsrvd/logsrvd.c:531 logsrvd/logsrvd.c:532 msgid "invalid ExitMessage" msgstr "ExitMessage invalide" -#: logsrvd/logsrvd.c:584 logsrvd/logsrvd.c:585 +#: logsrvd/logsrvd.c:585 logsrvd/logsrvd.c:586 msgid "invalid RestartMessage" msgstr "RestartMessage invalide" -#: logsrvd/logsrvd.c:619 logsrvd/logsrvd.c:620 +#: logsrvd/logsrvd.c:620 logsrvd/logsrvd.c:621 msgid "invalid AlertMessage" msgstr "AlertMessage invalide" -#: logsrvd/logsrvd.c:661 logsrvd/logsrvd.c:697 logsrvd/logsrvd.c:733 +#: logsrvd/logsrvd.c:662 logsrvd/logsrvd.c:698 logsrvd/logsrvd.c:734 #, c-format msgid "%s: unexpected IoBuffer" msgstr "%s : IoBuffer inattendu" -#: logsrvd/logsrvd.c:662 logsrvd/logsrvd.c:698 logsrvd/logsrvd.c:734 +#: logsrvd/logsrvd.c:663 logsrvd/logsrvd.c:699 logsrvd/logsrvd.c:735 msgid "protocol error" msgstr "erreur protocole" -#: logsrvd/logsrvd.c:668 logsrvd/logsrvd.c:669 +#: logsrvd/logsrvd.c:669 logsrvd/logsrvd.c:670 msgid "invalid IoBuffer" msgstr "IoBuffer invalide" -#: logsrvd/logsrvd.c:704 logsrvd/logsrvd.c:705 +#: logsrvd/logsrvd.c:705 logsrvd/logsrvd.c:706 msgid "invalid ChangeWindowSize" msgstr "ChangeWindowSize invalide" -#: logsrvd/logsrvd.c:740 logsrvd/logsrvd.c:741 +#: logsrvd/logsrvd.c:741 logsrvd/logsrvd.c:742 msgid "invalid CommandSuspend" msgstr "CommandSuspend invalide" -#: logsrvd/logsrvd.c:790 logsrvd/logsrvd_journal.c:302 -#: logsrvd/logsrvd_relay.c:654 logsrvd/sendlog.c:1207 -#: plugins/sudoers/log_client.c:1593 +#: logsrvd/logsrvd.c:791 logsrvd/logsrvd_journal.c:302 +#: logsrvd/logsrvd_relay.c:654 logsrvd/sendlog.c:1232 +#: plugins/sudoers/log_client.c:1616 #, c-format msgid "unable to unpack %s size %zu" msgstr "impossible de décompresser %s avec une taille de %zu" -#: logsrvd/logsrvd.c:835 logsrvd/logsrvd_journal.c:376 +#: logsrvd/logsrvd.c:836 logsrvd/logsrvd_journal.c:376 #: logsrvd/logsrvd_relay.c:678 #, 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:837 +#: logsrvd/logsrvd.c:838 msgid "unrecognized ClientMessage type" msgstr "type de ClientMessage non reconnu" -#: logsrvd/logsrvd.c:927 +#: logsrvd/logsrvd.c:928 #, 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:932 logsrvd/logsrvd_relay.c:919 logsrvd/sendlog.c:1413 +#: logsrvd/logsrvd.c:933 logsrvd/logsrvd_relay.c:919 logsrvd/sendlog.c:1438 #, c-format msgid "missing write buffer for client %s" msgstr "tampon d'écriture manquant pour le client %s" -#: logsrvd/logsrvd.c:1027 +#: logsrvd/logsrvd.c:1028 #, 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:1068 logsrvd/logsrvd_relay.c:782 +#: logsrvd/logsrvd.c:1069 logsrvd/logsrvd_relay.c:782 #, 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:1112 logsrvd/logsrvd_relay.c:205 logsrvd/sendlog.c:336 -#: plugins/sudoers/log_client.c:723 +#: logsrvd/logsrvd.c:1113 logsrvd/logsrvd_relay.c:205 logsrvd/sendlog.c:336 +#: plugins/sudoers/log_client.c:732 #, c-format msgid "client message too large: %zu" msgstr "message client trop grand : %zu" -#: logsrvd/logsrvd.c:1113 logsrvd/logsrvd_journal.c:259 +#: logsrvd/logsrvd.c:1114 logsrvd/logsrvd_journal.c:259 #: logsrvd/logsrvd_journal.c:260 msgid "client message too large" msgstr "message client trop grand" -#: logsrvd/logsrvd.c:1131 logsrvd/logsrvd.c:1132 +#: logsrvd/logsrvd.c:1132 logsrvd/logsrvd.c:1133 msgid "invalid ClientMessage" msgstr "ClientMessage invalide" -#: logsrvd/logsrvd.c:1432 +#: logsrvd/logsrvd.c:1442 msgid "unable to get remote IP addr" msgstr "impossible d'obtenir l'adresse IP distante" -#: logsrvd/logsrvd.c:1463 logsrvd/tls_client.c:203 -#: plugins/sudoers/log_client.c:281 +#: logsrvd/logsrvd.c:1473 logsrvd/tls_client.c:212 +#: plugins/sudoers/log_client.c:290 #, 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:1646 logsrvd/logsrvd.c:2007 +#: logsrvd/logsrvd.c:1656 logsrvd/logsrvd.c:2050 msgid "unable to setup listen socket" msgstr "configuration du socket d'écoute impossible" -#: logsrvd/logsrvd.c:1766 +#: logsrvd/logsrvd.c:1776 #, c-format msgid "unexpected signal %d" msgstr "signal %d inattendu" -#: logsrvd/logsrvd.c:1909 +#: logsrvd/logsrvd.c:1949 msgid "sudo log server" msgstr "serveur de journalisation de sudo" -#: logsrvd/logsrvd.c:1911 logsrvd/sendlog.c:126 +#: logsrvd/logsrvd.c:1951 logsrvd/sendlog.c:126 msgid "Options:" msgstr "Options :" -#: logsrvd/logsrvd.c:1913 +#: logsrvd/logsrvd.c:1953 msgid "path to configuration file" msgstr "chemin du fichier de configuration" -#: logsrvd/logsrvd.c:1915 logsrvd/sendlog.c:128 +#: logsrvd/logsrvd.c:1955 logsrvd/sendlog.c:128 msgid "display help message and exit" msgstr "afficher le message d'aide et quitter" -#: logsrvd/logsrvd.c:1917 +#: logsrvd/logsrvd.c:1957 msgid "do not fork, run in the foreground" msgstr "ne pas cloner, exécuter à l'avant plan" -#: logsrvd/logsrvd.c:1919 +#: logsrvd/logsrvd.c:1959 msgid "percent chance connections will drop" msgstr "pourcentage de chance que les connections soient abandonnées" -#: logsrvd/logsrvd.c:1921 logsrvd/sendlog.c:158 +#: logsrvd/logsrvd.c:1961 logsrvd/sendlog.c:158 msgid "display version information and exit" msgstr "afficher l'information de version et quitter" -#: logsrvd/logsrvd.c:1971 logsrvd/sendlog.c:1722 +#: logsrvd/logsrvd.c:2011 logsrvd/sendlog.c:1747 msgid "Protobuf-C version 1.3 or higher required" msgstr "Version 1.3 ou supérieure de Protobuf-C requise" -#: logsrvd/logsrvd.c:1987 +#: logsrvd/logsrvd.c:2027 #, c-format msgid "invalid random drop value: %s" msgstr "valeur d'abandon aléatoire invalide : %s" -#: logsrvd/logsrvd.c:1990 logsrvd/sendlog.c:1776 +#: logsrvd/logsrvd.c:2030 logsrvd/sendlog.c:1801 #: plugins/sudoers/cvtsudoers.c:250 plugins/sudoers/sudoreplay.c:294 #: plugins/sudoers/visudo.c:181 #, c-format @@ -946,16 +940,16 @@ msgstr "%s version %s\n" #: logsrvd/logsrvd_conf.c:422 plugins/sudoers/check.c:69 #: plugins/sudoers/exptilde.c:85 plugins/sudoers/iolog.c:122 -#: plugins/sudoers/sudoers.c:419 plugins/sudoers/sudoers.c:929 -#: plugins/sudoers/sudoers.c:1034 plugins/sudoers/sudoers.c:1424 +#: plugins/sudoers/sudoers.c:419 plugins/sudoers/sudoers.c:946 +#: plugins/sudoers/sudoers.c:1052 plugins/sudoers/sudoers.c:1442 #: plugins/sudoers/testsudoers.c:169 plugins/sudoers/testsudoers.c:285 -#: plugins/sudoers/testsudoers.c:459 +#: plugins/sudoers/testsudoers.c:459 plugins/sudoers/tsdump.c:131 #, c-format msgid "unknown user %s" msgstr "utilisateur %s inconnu" #: logsrvd/logsrvd_conf.c:439 plugins/sudoers/iolog.c:148 -#: plugins/sudoers/sudoers.c:425 plugins/sudoers/sudoers.c:1458 +#: plugins/sudoers/sudoers.c:425 plugins/sudoers/sudoers.c:1476 #: plugins/sudoers/testsudoers.c:483 #, c-format msgid "unknown group %s" @@ -966,7 +960,7 @@ msgstr "groupe %s inconnu" msgid "unable to parse iolog mode %s" msgstr "impossible d'analyser le mode iolog %s" -#: logsrvd/logsrvd_conf.c:474 logsrvd/logsrvd_conf.c:1243 +#: logsrvd/logsrvd_conf.c:474 logsrvd/logsrvd_conf.c:1248 #, c-format msgid "invalid value for %s: %s" msgstr "valeur invalide pour %s : %s" @@ -980,65 +974,65 @@ msgstr "TLS non supporté" msgid "%s:%s" msgstr "%s:%s" -#: logsrvd/logsrvd_conf.c:622 logsrvd/logsrvd_conf.c:1032 +#: logsrvd/logsrvd_conf.c:622 logsrvd/logsrvd_conf.c:1037 #, c-format msgid "%s: not a fully qualified path" msgstr "%s  n'est pas un chemin totalement défini" -#: logsrvd/logsrvd_conf.c:951 logsrvd/logsrvd_conf.c:967 -#: logsrvd/logsrvd_conf.c:1676 +#: logsrvd/logsrvd_conf.c:956 logsrvd/logsrvd_conf.c:972 +#: logsrvd/logsrvd_conf.c:1681 #, c-format msgid "unknown syslog facility %s" msgstr "catégorie syslog %s inconnue" -#: 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 +#: logsrvd/logsrvd_conf.c:988 logsrvd/logsrvd_conf.c:1004 +#: logsrvd/logsrvd_conf.c:1020 logsrvd/logsrvd_conf.c:1685 +#: logsrvd/logsrvd_conf.c:1689 logsrvd/logsrvd_conf.c:1693 #, c-format msgid "unknown syslog priority %s" msgstr "priorité syslog %s inconnue" -#: logsrvd/logsrvd_conf.c:1197 +#: logsrvd/logsrvd_conf.c:1202 #, c-format msgid "%s:%d unmatched '[': %s" msgstr "%s:%d « [ » sans correspondant : %s" -#: logsrvd/logsrvd_conf.c:1203 +#: logsrvd/logsrvd_conf.c:1208 #, c-format msgid "%s:%d garbage after ']': %s" msgstr "%s:%d charabia après « ] » : %s" -#: logsrvd/logsrvd_conf.c:1215 +#: logsrvd/logsrvd_conf.c:1220 #, c-format msgid "%s:%d invalid config section: %s" msgstr "%s:%d section de configuration invalide : %s" -#: logsrvd/logsrvd_conf.c:1223 +#: logsrvd/logsrvd_conf.c:1228 #, c-format msgid "%s:%d invalid configuration line: %s" msgstr "%s:%d ligne de configuration invalide : %s" -#: logsrvd/logsrvd_conf.c:1229 +#: logsrvd/logsrvd_conf.c:1234 #, c-format msgid "%s:%d expected section name: %s" msgstr "%s:%d nom de section attendu : %s" -#: logsrvd/logsrvd_conf.c:1251 +#: logsrvd/logsrvd_conf.c:1256 #, c-format msgid "%s:%d [%s] illegal key: %s" msgstr "%s:%d [%s] clé illégale : %s" -#: logsrvd/logsrvd_conf.c:1281 plugins/sudoers/cvtsudoers.c:273 -#: plugins/sudoers/logging.c:1076 +#: logsrvd/logsrvd_conf.c:1286 plugins/sudoers/cvtsudoers.c:273 +#: plugins/sudoers/logging.c:1087 #, c-format msgid "unable to open log file %s" msgstr "ouverture du fichier de journalisation %s impossible" -#: logsrvd/logsrvd_conf.c:1763 +#: logsrvd/logsrvd_conf.c:1768 msgid "unable to initialize server TLS context" msgstr "impossible d'initialiser le contexte TLS du serveur : %s" -#: logsrvd/logsrvd_conf.c:1783 +#: logsrvd/logsrvd_conf.c:1788 msgid "unable to initialize relay TLS context" msgstr "impossible d'initialiser le contexte TLS du relai : %s" @@ -1142,7 +1136,7 @@ msgstr "impossible de formater le tampon de minutage, longueur %d" #: logsrvd/logsrvd_local.c:601 logsrvd/logsrvd_local.c:609 #: logsrvd/logsrvd_local.c:657 logsrvd/logsrvd_local.c:692 -#: plugins/sudoers/sudoreplay.c:344 toke.l:981 toke.l:984 +#: plugins/sudoers/sudoreplay.c:344 toke.l:961 toke.l:964 #, c-format msgid "%s/%s: %s" msgstr "%s/%s : %s" @@ -1176,8 +1170,8 @@ msgstr "impossible de se connecter à l'hôte relai" msgid "%s: invalid ServerHello, missing server_id" msgstr "%s : ServerHello invalide, le server_id manque" -#: logsrvd/logsrvd_relay.c:522 logsrvd/sendlog.c:1111 -#: plugins/sudoers/log_client.c:1479 +#: logsrvd/logsrvd_relay.c:522 logsrvd/sendlog.c:1136 +#: plugins/sudoers/log_client.c:1502 msgid "invalid ServerHello" msgstr "ServerHello invalide" @@ -1281,7 +1275,7 @@ msgstr "arrêter le transfert après avoir atteint ce temps" 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:181 plugins/sudoers/log_client.c:453 +#: logsrvd/sendlog.c:181 plugins/sudoers/log_client.c:462 #, c-format msgid "unable to look up %s:%s: %s" msgstr "impossible de rechercher %s:%s : %s" @@ -1290,108 +1284,108 @@ msgstr "impossible de rechercher %s:%s : %s" msgid "unable to get server IP addr" msgstr "impossible d'obtenir l'adresse IP du serveur" -#: logsrvd/sendlog.c:314 plugins/sudoers/sudoreplay.c:868 +#: logsrvd/sendlog.c:314 plugins/sudoers/sudoreplay.c:870 #, c-format msgid "unable to read %s/%s: %s" msgstr "impossible de lire %s/%s : %s" -#: logsrvd/sendlog.c:1035 plugins/sudoers/iolog.c:959 -#: plugins/sudoers/iolog.c:1034 +#: logsrvd/sendlog.c:1060 plugins/sudoers/iolog.c:967 +#: plugins/sudoers/iolog.c:1042 #, c-format msgid "unexpected I/O event %d" msgstr "événement d'E/S %d inattendu" -#: logsrvd/sendlog.c:1088 logsrvd/sendlog.c:1105 logsrvd/sendlog.c:1139 -#: plugins/sudoers/log_client.c:1129 plugins/sudoers/log_client.c:1405 -#: plugins/sudoers/log_client.c:1473 plugins/sudoers/log_client.c:1512 +#: logsrvd/sendlog.c:1113 logsrvd/sendlog.c:1130 logsrvd/sendlog.c:1164 +#: plugins/sudoers/log_client.c:1152 plugins/sudoers/log_client.c:1428 +#: plugins/sudoers/log_client.c:1496 plugins/sudoers/log_client.c:1535 #, c-format msgid "%s: unexpected state %d" msgstr "%s: état %d inattendu" -#: logsrvd/sendlog.c:1175 plugins/sudoers/log_client.c:1561 +#: logsrvd/sendlog.c:1200 plugins/sudoers/log_client.c:1584 #, c-format msgid "error message received from server: %s" msgstr "message d'erreur reçu du serveur : %s" -#: logsrvd/sendlog.c:1188 plugins/sudoers/log_client.c:1574 +#: logsrvd/sendlog.c:1213 plugins/sudoers/log_client.c:1597 #, c-format msgid "abort message received from server: %s" msgstr "message d'interruption reçu du serveur : %s" -#: logsrvd/sendlog.c:1247 plugins/sudoers/log_client.c:1624 +#: logsrvd/sendlog.c:1272 plugins/sudoers/log_client.c:1647 #, c-format msgid "%s: unexpected type_case value %d" msgstr "%s: valeur type_case %d inattendue" -#: logsrvd/sendlog.c:1276 +#: logsrvd/sendlog.c:1301 msgid "timeout reading from server" msgstr "délai d'attente expiré durant la lecture depuis le serveur" -#: logsrvd/sendlog.c:1327 plugins/sudoers/log_client.c:1747 +#: logsrvd/sendlog.c:1352 plugins/sudoers/log_client.c:1770 msgid "host name does not match certificate" msgstr "le nom de l'hôte ne correspond pas au certificat" -#: logsrvd/sendlog.c:1361 +#: logsrvd/sendlog.c:1386 msgid "premature EOF" msgstr "fin de fichier prématurée" -#: logsrvd/sendlog.c:1374 plugins/sudoers/log_client.c:1795 +#: logsrvd/sendlog.c:1399 plugins/sudoers/log_client.c:1818 #, c-format msgid "server message too large: %u" msgstr "message serveur trop grand : %u" -#: logsrvd/sendlog.c:1430 +#: logsrvd/sendlog.c:1455 msgid "timeout writing to server" msgstr "délai d'attente expiré durant l'écriture vers le serveur" -#: logsrvd/sendlog.c:1800 +#: logsrvd/sendlog.c:1825 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:1804 +#: logsrvd/sendlog.c:1829 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:1880 +#: logsrvd/sendlog.c:1905 #, c-format msgid "exited prematurely with state %d" msgstr "terminé prématurément avec l'état %d" -#: logsrvd/sendlog.c:1881 +#: logsrvd/sendlog.c:1906 #, c-format msgid "elapsed time sent to server [%lld, %ld]" msgstr "temps écoulé envoyé au serveur [%lld, %ld]" -#: logsrvd/sendlog.c:1883 +#: logsrvd/sendlog.c:1908 #, c-format msgid "commit point received from server [%lld, %ld]" msgstr "point d'enregistrement reçu du serveur [%lld, %ld]" -#: logsrvd/tls_client.c:111 plugins/sudoers/log_client.c:315 +#: logsrvd/tls_client.c:120 plugins/sudoers/log_client.c:324 msgid "TLS handshake timeout occurred" msgstr "le délai de la négociation TLS a expiré" -#: logsrvd/tls_client.c:131 logsrvd/tls_client.c:147 -#: plugins/sudoers/log_client.c:337 plugins/sudoers/log_client.c:353 +#: logsrvd/tls_client.c:140 logsrvd/tls_client.c:156 +#: plugins/sudoers/log_client.c:346 plugins/sudoers/log_client.c:362 msgid "unable to set event" msgstr "impossible de définir l'événement" -#: logsrvd/tls_client.c:157 logsrvd/tls_client.c:161 +#: logsrvd/tls_client.c:166 logsrvd/tls_client.c:170 #, c-format msgid "TLS connection failed: %s" msgstr "la communication TLS a échoué : %s" -#: logsrvd/tls_client.c:196 +#: logsrvd/tls_client.c:205 #, c-format msgid "unable to allocate ssl object: %s" msgstr "impossible d'allouer l'objet ssl : %s" -#: logsrvd/tls_client.c:210 +#: logsrvd/tls_client.c:219 #, 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:238 +#: logsrvd/tls_client.c:247 msgid "unable to initialize TLS context" msgstr "impossible d'initialiser le contexte TLS" @@ -1420,12 +1414,11 @@ msgstr "impossible de créer le contexte TLS : %s" 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:272 plugins/sudoers/audit.c:452 -#: plugins/sudoers/log_client.c:962 plugins/sudoers/log_client.c:1011 -#: plugins/sudoers/log_client.c:1060 plugins/sudoers/log_client.c:1185 -#: plugins/sudoers/logging.c:614 plugins/sudoers/logging.c:732 -#: plugins/sudoers/logging.c:859 plugins/sudoers/logging.c:1031 -#: plugins/sudoers/policy.c:123 +#: plugins/sudoers/audit.c:272 plugins/sudoers/log_client.c:985 +#: plugins/sudoers/log_client.c:1034 plugins/sudoers/log_client.c:1083 +#: plugins/sudoers/log_client.c:1208 plugins/sudoers/logging.c:627 +#: plugins/sudoers/logging.c:867 plugins/sudoers/logging.c:1017 +#: plugins/sudoers/logging.c:1041 plugins/sudoers/policy.c:1055 msgid "unable to get time of day" msgstr "récupération de l'heure du jour impossible" @@ -1481,47 +1474,47 @@ msgstr "" "erreur du serveur d'authentification :\n" "%s" -#: plugins/sudoers/auth/kerb5.c:116 +#: plugins/sudoers/auth/kerb5.c:117 #, c-format msgid "%s: unable to convert principal to string ('%s'): %s" msgstr "%s : conversion de l'identité de l'hôte en chaîne de caractères impossible(« %s ») : %s" -#: plugins/sudoers/auth/kerb5.c:166 +#: plugins/sudoers/auth/kerb5.c:167 #, c-format msgid "%s: unable to parse '%s': %s" msgstr "%s : analyse grammaticale (parse) de « %s » impossible : %s" -#: plugins/sudoers/auth/kerb5.c:175 +#: plugins/sudoers/auth/kerb5.c:176 #, c-format msgid "%s: unable to resolve credential cache: %s" msgstr "%s : accès au cache des données d'identification impossible : %s" -#: plugins/sudoers/auth/kerb5.c:226 +#: plugins/sudoers/auth/kerb5.c:227 #, c-format msgid "%s: unable to allocate options: %s" msgstr "%s : allocation des options impossible : %s" -#: plugins/sudoers/auth/kerb5.c:241 +#: plugins/sudoers/auth/kerb5.c:242 #, c-format msgid "%s: unable to get credentials: %s" msgstr "%s : récupération des données d'identification impossible : %s" -#: plugins/sudoers/auth/kerb5.c:254 +#: plugins/sudoers/auth/kerb5.c:255 #, c-format msgid "%s: unable to initialize credential cache: %s" msgstr "%s : initialisation du cache des données d'identification impossible : %s" -#: plugins/sudoers/auth/kerb5.c:257 +#: plugins/sudoers/auth/kerb5.c:258 #, c-format msgid "%s: unable to store credential in cache: %s" msgstr "%s : enregistrement des données d'identification dans le cache impossible : %s" -#: plugins/sudoers/auth/kerb5.c:322 +#: plugins/sudoers/auth/kerb5.c:324 #, c-format msgid "%s: unable to get host principal: %s" msgstr "%s : récupération de l'identité kerberos de l'hôte (« host principal ») impossible : %s" -#: plugins/sudoers/auth/kerb5.c:336 +#: plugins/sudoers/auth/kerb5.c:338 #, c-format msgid "%s: Cannot verify TGT! Possible attack!: %s" msgstr "%s : vérification du ticket TGT impossible ! Il s'agit peut-être d'une attaque ! : %s" @@ -1599,7 +1592,7 @@ msgstr "erreur SecurID non identifiée" msgid "invalid passcode length for SecurID" msgstr "la longueur du mot de passe est invalide pour SecurID" -#: plugins/sudoers/auth/sia.c:72 plugins/sudoers/auth/sia.c:130 +#: plugins/sudoers/auth/sia.c:72 plugins/sudoers/auth/sia.c:131 msgid "unable to initialize SIA session" msgstr "initialisation de la session SIA impossible" @@ -1636,22 +1629,22 @@ msgid "unable to commit audit record" msgstr "impossible d'enregistrer l'enregistrement d'audit" #: plugins/sudoers/check.c:63 plugins/sudoers/check.c:74 -#: plugins/sudoers/lookup.c:79 plugins/sudoers/tsdump.c:119 +#: plugins/sudoers/lookup.c:79 #, c-format msgid "unknown uid %u" msgstr "identifiant utilisateur %u inconnu" -#: plugins/sudoers/check.c:277 +#: plugins/sudoers/check.c:270 #, c-format msgid "error reading lecture file %s" msgstr "erreur de lecture dans le fichier des recommandations d'usage : %s" -#: plugins/sudoers/check.c:280 +#: plugins/sudoers/check.c:273 #, 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:293 +#: plugins/sudoers/check.c:286 msgid "" "\n" "We trust you have received the usual lecture from the local System\n" @@ -1671,7 +1664,7 @@ msgstr "" " #3) De grands pouvoirs confèrent de grandes responsabilités.\n" "\n" -#: plugins/sudoers/check.c:301 +#: plugins/sudoers/check.c:294 msgid "" "For security reasons, the password you type will not be visible.\n" "\n" @@ -1760,13 +1753,13 @@ msgstr "filtre invalide : %s" msgid "failed to parse %s file, unknown error" msgstr "échec lors de l'analyse grammaticale de %s, erreur inconnue" -#: plugins/sudoers/cvtsudoers.c:1508 plugins/sudoers/sudoreplay.c:1143 +#: plugins/sudoers/cvtsudoers.c:1504 plugins/sudoers/sudoreplay.c:1145 #: plugins/sudoers/timestamp.c:353 plugins/sudoers/timestamp.c:356 #, c-format msgid "unable to write to %s" msgstr "écriture impossible dans %s" -#: plugins/sudoers/cvtsudoers.c:1536 +#: plugins/sudoers/cvtsudoers.c:1532 #, c-format msgid "" "%s - convert between sudoers file formats\n" @@ -1775,7 +1768,7 @@ msgstr "" "%s - convertir entre des formats de fichiers sudoers\n" "\n" -#: plugins/sudoers/cvtsudoers.c:1538 +#: plugins/sudoers/cvtsudoers.c:1534 msgid "" "\n" "Options:\n" @@ -1818,817 +1811,836 @@ msgstr "" " -V, --version afficher la version et terminer" #: plugins/sudoers/cvtsudoers_csv.c:192 plugins/sudoers/cvtsudoers_csv.c:199 -#: plugins/sudoers/cvtsudoers_ldif.c:245 plugins/sudoers/cvtsudoers_ldif.c:252 -#: plugins/sudoers/cvtsudoers_ldif.c:594 plugins/sudoers/env.c:340 -#: plugins/sudoers/env.c:347 plugins/sudoers/env.c:458 +#: plugins/sudoers/cvtsudoers_ldif.c:270 plugins/sudoers/cvtsudoers_ldif.c:277 +#: plugins/sudoers/cvtsudoers_ldif.c:628 plugins/sudoers/env.c:357 +#: plugins/sudoers/env.c:364 plugins/sudoers/env.c:475 #: plugins/sudoers/ldap.c:511 plugins/sudoers/ldap.c:629 #: plugins/sudoers/ldap.c:1003 plugins/sudoers/ldap_conf.c:219 -#: plugins/sudoers/ldap_conf.c:310 plugins/sudoers/ldap_util.c:486 -#: plugins/sudoers/linux_audit.c:93 plugins/sudoers/logging.c:479 -#: plugins/sudoers/policy.c:828 plugins/sudoers/policy.c:840 +#: plugins/sudoers/ldap_conf.c:310 plugins/sudoers/ldap_util.c:483 +#: plugins/sudoers/linux_audit.c:93 plugins/sudoers/logging.c:487 +#: plugins/sudoers/policy.c:836 plugins/sudoers/policy.c:848 #: plugins/sudoers/prompt.c:169 plugins/sudoers/serialize_list.c:62 #: plugins/sudoers/serialize_list.c:71 plugins/sudoers/strvec_join.c:62 -#: plugins/sudoers/sudoreplay.c:1340 plugins/sudoers/sudoreplay.c:1346 -#: plugins/sudoers/sudoreplay.c:1352 plugins/sudoers/testsudoers.c:306 -#: plugins/sudoers/toke_util.c:217 toke.l:995 toke.l:1277 +#: plugins/sudoers/sudoreplay.c:1342 plugins/sudoers/sudoreplay.c:1348 +#: plugins/sudoers/sudoreplay.c:1354 plugins/sudoers/testsudoers.c:306 +#: plugins/sudoers/toke_util.c:217 toke.l:975 toke.l:1257 #, c-format msgid "internal error, %s overflow" msgstr "erreur interne, dépassement de %s" -#: plugins/sudoers/cvtsudoers_csv.c:454 plugins/sudoers/cvtsudoers_csv.c:468 -#: plugins/sudoers/cvtsudoers_json.c:661 plugins/sudoers/cvtsudoers_json.c:676 -#: plugins/sudoers/cvtsudoers_ldif.c:349 plugins/sudoers/cvtsudoers_ldif.c:362 +#: plugins/sudoers/cvtsudoers_csv.c:481 plugins/sudoers/cvtsudoers_csv.c:495 +#: plugins/sudoers/cvtsudoers_json.c:760 plugins/sudoers/cvtsudoers_json.c:776 +#: plugins/sudoers/cvtsudoers_ldif.c:384 plugins/sudoers/cvtsudoers_ldif.c:398 #: plugins/sudoers/ldap.c:495 msgid "unable to get GMT time" msgstr "récupération de l'heure GMT impossible" -#: plugins/sudoers/cvtsudoers_csv.c:459 plugins/sudoers/cvtsudoers_csv.c:473 -#: plugins/sudoers/cvtsudoers_json.c:666 plugins/sudoers/cvtsudoers_json.c:681 -#: plugins/sudoers/cvtsudoers_ldif.c:354 plugins/sudoers/cvtsudoers_ldif.c:367 +#: plugins/sudoers/cvtsudoers_csv.c:486 plugins/sudoers/cvtsudoers_csv.c:500 +#: plugins/sudoers/cvtsudoers_json.c:765 plugins/sudoers/cvtsudoers_json.c:781 +#: plugins/sudoers/cvtsudoers_ldif.c:389 plugins/sudoers/cvtsudoers_ldif.c:403 #: plugins/sudoers/ldap.c:503 msgid "unable to format timestamp" msgstr "impossible de formater l'horodatage" -#: plugins/sudoers/cvtsudoers_json.c:481 plugins/sudoers/cvtsudoers_json.c:516 -#: plugins/sudoers/cvtsudoers_json.c:732 +#: plugins/sudoers/cvtsudoers_json.c:547 plugins/sudoers/cvtsudoers_json.c:588 +#: plugins/sudoers/cvtsudoers_json.c:841 #, c-format msgid "%s:%d:%d: unknown defaults entry \"%s\"" msgstr "%s:%d:%d: entrées par défaut inconnues « %s »" -#: plugins/sudoers/cvtsudoers_ldif.c:663 +#: plugins/sudoers/cvtsudoers_ldif.c:116 +#, c-format +msgid "unable to base64 encode value \"%s\"" +msgstr "impossible d'encoder la valeur « %s » en base64" + +#: plugins/sudoers/cvtsudoers_ldif.c:595 +#, c-format +msgid "internal error, unable insert user %s" +msgstr "erreur interne, impossible d'insérer l'utilisateur %s" + +#: plugins/sudoers/cvtsudoers_ldif.c:702 #, c-format msgid "too many sudoers entries, maximum %u" msgstr "trop d'entrées sudoers, maximum %u" -#: plugins/sudoers/cvtsudoers_ldif.c:706 +#: plugins/sudoers/cvtsudoers_ldif.c:747 msgid "the SUDOERS_BASE environment variable is not set and the -b option was not specified." msgstr "la variable d'environnement SUDOERS_BASE n'est pas définie et l'option -b n'a pas été spécifiée." -#: plugins/sudoers/cvtsudoers_merge.c:273 -#: plugins/sudoers/cvtsudoers_merge.c:309 +#: plugins/sudoers/cvtsudoers_merge.c:275 +#: plugins/sudoers/cvtsudoers_merge.c:313 #, c-format msgid "%s:%d:%d: converting host list to ALL" msgstr "%s:%d:%d: conversion de la liste des hôtes à ALL" -#: plugins/sudoers/cvtsudoers_merge.c:545 +#: plugins/sudoers/cvtsudoers_merge.c:568 #, c-format msgid "unable to find alias %s" msgstr "impossible de trouver le synonyme %s" -#: plugins/sudoers/cvtsudoers_merge.c:548 +#: plugins/sudoers/cvtsudoers_merge.c:572 #, c-format msgid "%s:%d:%d: renaming alias %s to %s" msgstr "%s:%d:%d: changement de nom du synonyme %s en %s" -#: plugins/sudoers/cvtsudoers_merge.c:605 +#: plugins/sudoers/cvtsudoers_merge.c:634 #, c-format msgid "%s:%d:%d: removing duplicate alias %s" msgstr "%s:%d:%d: suppression du synonyme %s en double" -#: plugins/sudoers/cvtsudoers_merge.c:830 +#: plugins/sudoers/cvtsudoers_merge.c:868 #, c-format msgid "%s:%d:%d: conflicting Defaults entry \"%s\" host-specific in %s:%d:%d" msgstr "%s:%d:%d: entrées Defaults « %s » spécifiques à l'hôte conflictuelles dans %s:%d:%d" -#: plugins/sudoers/cvtsudoers_merge.c:864 +#: plugins/sudoers/cvtsudoers_merge.c:904 #, c-format msgid "%s:%d:%d: made Defaults \"%s\" specific to host %s" msgstr "%s:%d:%d: a rendu Defaults « %s » spécifique à l'hôte %s" -#: plugins/sudoers/cvtsudoers_merge.c:882 +#: plugins/sudoers/cvtsudoers_merge.c:922 #, c-format msgid "%s:%d:%d: unable to make Defaults \"%s\" host-specific" msgstr "%s:%d:%d: impossible de rendre Defaults « %s » spécifique à l'hôte" -#: plugins/sudoers/cvtsudoers_merge.c:892 +#: plugins/sudoers/cvtsudoers_merge.c:932 #, c-format msgid "%s:%d:%d: removing Defaults \"%s\" overridden by subsequent entries" msgstr "%s:%d:%d: suppression de Defaults « %s » surchargée par des entrées ultérieures" -#: plugins/sudoers/cvtsudoers_merge.c:1088 +#: plugins/sudoers/cvtsudoers_merge.c:1128 #, c-format msgid "%s:%d:%d: merging userspec into %s:%d:%d" msgstr "%s:%d:%d: fusion des spécifications utilisateur dans %s:%d:%d" -#: plugins/sudoers/cvtsudoers_merge.c:1182 +#: plugins/sudoers/cvtsudoers_merge.c:1224 #, c-format msgid "%s:%d:%d: removing userspec overridden by subsequent entries" msgstr "%s:%d:%d: suppression de la spécification utilisateur surchargée par des entrées ultérieurs" -#: plugins/sudoers/def_data.c:56 +#: plugins/sudoers/def_data.c:58 #, c-format msgid "Syslog facility if syslog is being used for logging: %s" msgstr "Mécanisme syslog si syslog est utilisé pour la journalisation des événements : %s " -#: plugins/sudoers/def_data.c:60 +#: plugins/sudoers/def_data.c:62 #, c-format msgid "Syslog priority to use when user authenticates successfully: %s" msgstr "Priorité syslog utilisée lorsque l'authentification de l'utilisateur est réussie : %s" -#: plugins/sudoers/def_data.c:64 +#: plugins/sudoers/def_data.c:66 #, c-format msgid "Syslog priority to use when user authenticates unsuccessfully: %s" msgstr "Priorité Syslog utilisée lorsque l'authentification de l'utilisateur a échoué : %s" -#: plugins/sudoers/def_data.c:68 +#: plugins/sudoers/def_data.c:70 msgid "Put OTP prompt on its own line" msgstr "Présentation de l'invite OTP sur une ligne distincte" -#: plugins/sudoers/def_data.c:72 +#: plugins/sudoers/def_data.c:74 msgid "Ignore '.' in $PATH" msgstr "Ne pas tenir compte de « . » dans $PATH" -#: plugins/sudoers/def_data.c:76 +#: plugins/sudoers/def_data.c:78 msgid "Always send mail when sudo is run" msgstr "Toujours envoyer un courriel à chaque exécution de sudo" -#: plugins/sudoers/def_data.c:80 +#: plugins/sudoers/def_data.c:82 msgid "Send mail if user authentication fails" msgstr "Envoi d'un courriel lorsqu'une authentification échoue" -#: plugins/sudoers/def_data.c:84 +#: plugins/sudoers/def_data.c:86 msgid "Send mail if the user is not in sudoers" msgstr "Envoi d'un courriel si l'utilisateur ne figure pas dans sudoers" -#: plugins/sudoers/def_data.c:88 +#: plugins/sudoers/def_data.c:90 msgid "Send mail if the user is not in sudoers for this host" msgstr "Envoi d'un courriel si l'utilisateur ne figure pas dans sudoers pour l'hôte sur lequel sudo est exécuté" -#: plugins/sudoers/def_data.c:92 +#: plugins/sudoers/def_data.c:94 msgid "Send mail if the user is not allowed to run a command" msgstr "Envoi d'un courriel si l'utilisateur n'est pas autorisé à exécuter une commande" -#: plugins/sudoers/def_data.c:96 +#: plugins/sudoers/def_data.c:98 msgid "Send mail if the user tries to run a command" msgstr "Envoi d'un courriel si l'utilisateur tente d'exécuter une commande" -#: plugins/sudoers/def_data.c:100 +#: plugins/sudoers/def_data.c:102 msgid "Use a separate timestamp for each user/tty combo" msgstr "Utilisation d'un horodatage distinct pour chaque couple utilisateur/terminal (user/tty)" -#: plugins/sudoers/def_data.c:104 +#: plugins/sudoers/def_data.c:106 msgid "Lecture user the first time they run sudo" msgstr "Adresse les recommandations d'usage à l'utilisateur lors de la première exécution de sudo" -#: plugins/sudoers/def_data.c:108 +#: plugins/sudoers/def_data.c:110 #, c-format msgid "File containing the sudo lecture: %s" msgstr "Fichier contenant les recommandations sur l'usage de sudo : %s" -#: plugins/sudoers/def_data.c:112 +#: plugins/sudoers/def_data.c:114 msgid "Require users to authenticate by default" msgstr "Exige l'authentification de l'utilisateur par défaut" -#: plugins/sudoers/def_data.c:116 +#: plugins/sudoers/def_data.c:118 msgid "Root may run sudo" msgstr "L'utilisateur root peut exécuter sudo" -#: plugins/sudoers/def_data.c:120 +#: plugins/sudoers/def_data.c:122 msgid "Log the hostname in the (non-syslog) log file" msgstr "Consignation du nom de l'hôte dans le fichier de journalisation (qui n'est pas syslog)" -#: plugins/sudoers/def_data.c:124 +#: plugins/sudoers/def_data.c:126 msgid "Log the year in the (non-syslog) log file" msgstr "Consignation de l'année dans le fichier de journalisation (qui n'est pas syslog)" -#: plugins/sudoers/def_data.c:128 +#: plugins/sudoers/def_data.c:130 msgid "If sudo is invoked with no arguments, start a shell" msgstr "Démarrage d'un interpréteur de commande lorsque sudo est lancé sans argument" -#: plugins/sudoers/def_data.c:132 +#: plugins/sudoers/def_data.c:134 msgid "Set $HOME to the target user when starting a shell with -s" msgstr "Assigner le répertoire de l'utilisateur cible dans $HOME lorsque l'interpréteur de commandes est lancé avec l'option -s" -#: plugins/sudoers/def_data.c:136 +#: plugins/sudoers/def_data.c:138 msgid "Always set $HOME to the target user's home directory" msgstr "Assignation systématique du répertoire personnel de l'utilisateur cible dans $HOME" -#: plugins/sudoers/def_data.c:140 +#: plugins/sudoers/def_data.c:142 msgid "Allow some information gathering to give useful error messages" msgstr "Autorise la collecte de certaines informations dans le but d'afficher des messages d'erreurs pertinents" -#: plugins/sudoers/def_data.c:144 +#: plugins/sudoers/def_data.c:146 msgid "Require fully-qualified hostnames in the sudoers file" msgstr "Exige l'emploi du nom complet (fully qualified) de l'ordinateur dans le fichier sudoers" -#: plugins/sudoers/def_data.c:148 +#: plugins/sudoers/def_data.c:150 msgid "Insult the user when they enter an incorrect password" msgstr "Sermonne l'utilisateur lorsqu'un mot de passe incorrect est saisi" -#: plugins/sudoers/def_data.c:152 +#: plugins/sudoers/def_data.c:154 msgid "Only allow the user to run sudo if they have a tty" msgstr "Autorise l'utilisateur à exécuter sudo seulement à la condition qu'il dispose d'un terminal tty" -#: plugins/sudoers/def_data.c:156 +#: plugins/sudoers/def_data.c:158 msgid "Visudo will honor the EDITOR environment variable" msgstr "Visudo se conformera au contenu de la variable d'environnement EDITOR" -#: plugins/sudoers/def_data.c:160 -msgid "Prompt for root's password, not the users's" +#: plugins/sudoers/def_data.c:162 +msgid "Prompt for root's password, not the user's" msgstr "Demande de la saisie du mot de passe de root et non de celui de l'utilisateur" -#: plugins/sudoers/def_data.c:164 -msgid "Prompt for the runas_default user's password, not the users's" +#: plugins/sudoers/def_data.c:166 +msgid "Prompt for the runas_default user's password, not the user's" msgstr "Demande de la saisie du mot de passe runas_default de l'utilisateur et non de son propre mot de passe" -#: plugins/sudoers/def_data.c:168 -msgid "Prompt for the target user's password, not the users's" +#: plugins/sudoers/def_data.c:170 +msgid "Prompt for the target user's password, not the user's" msgstr "Demande de la saisie du mot de passe de l'utilisateur cible et non de celui de l'utilisateur exécutant la commande" -#: plugins/sudoers/def_data.c:172 +#: plugins/sudoers/def_data.c:174 msgid "Apply defaults in the target user's login class if there is one" msgstr "Utilisation des paramètres par défaut de la classe de connexion de l'utilisateur cible (lorsqu'elle existe)" -#: plugins/sudoers/def_data.c:176 +#: plugins/sudoers/def_data.c:178 msgid "Set the LOGNAME and USER environment variables" msgstr "Définir les variables d'environnement LOGNAME et USER" -#: plugins/sudoers/def_data.c:180 +#: plugins/sudoers/def_data.c:182 msgid "Only set the effective uid to the target user, not the real uid" msgstr "Assigne uniquement l'identifiant utilisateur (UID) effectif à l'utilisateur cible, et non à l'identifiant réel." -#: plugins/sudoers/def_data.c:184 +#: plugins/sudoers/def_data.c:186 msgid "Don't initialize the group vector to that of the target user" msgstr "N'initialise pas le vecteur de groupe avec les valeurs de l'utilisateur cible" -#: plugins/sudoers/def_data.c:188 +#: plugins/sudoers/def_data.c:190 #, c-format msgid "Length at which to wrap log file lines (0 for no wrap): %u" msgstr "Longueur après laquelle intercaler un retour à la ligne dans le fichier journal (0 indique qu'il n'y a pas de retour à la ligne) : %u" -#: plugins/sudoers/def_data.c:192 +#: plugins/sudoers/def_data.c:194 #, c-format msgid "Authentication timestamp timeout: %.1f minutes" msgstr "Délai d'expiration de l'horodatage de l'authentification : %.1f minutes" -#: plugins/sudoers/def_data.c:196 +#: plugins/sudoers/def_data.c:198 #, c-format msgid "Password prompt timeout: %.1f minutes" msgstr "Délai d'expiration de l'invite de saisie de mot de passe : %.1f minutes" -#: plugins/sudoers/def_data.c:200 +#: plugins/sudoers/def_data.c:202 #, c-format msgid "Number of tries to enter a password: %u" msgstr "Nombre de tentatives de saisie du mot de passe : %u" -#: plugins/sudoers/def_data.c:204 +#: plugins/sudoers/def_data.c:206 #, c-format msgid "Umask to use or 0777 to use user's: 0%o" msgstr "Umask à utiliser, ou 0777 pour hériter de celui de l'utilisateur : 0%o" -#: plugins/sudoers/def_data.c:208 +#: plugins/sudoers/def_data.c:210 #, c-format msgid "Path to log file: %s" msgstr "Emplacement du fichier de journalisation : %s" -#: plugins/sudoers/def_data.c:212 +#: plugins/sudoers/def_data.c:214 #, c-format msgid "Path to mail program: %s" msgstr "Emplacement du programme d'envoi de courriel : %s" -#: plugins/sudoers/def_data.c:216 +#: plugins/sudoers/def_data.c:218 #, c-format msgid "Flags for mail program: %s" msgstr "Attributs à utiliser avec le programme d'envoi de courriel : %s" -#: plugins/sudoers/def_data.c:220 +#: plugins/sudoers/def_data.c:222 #, c-format msgid "Address to send mail to: %s" msgstr "Adresse du destinataire des courriels : %s" -#: plugins/sudoers/def_data.c:224 +#: plugins/sudoers/def_data.c:226 #, c-format msgid "Address to send mail from: %s" msgstr "Adresse de l'expéditeur des courriels : %s" -#: plugins/sudoers/def_data.c:228 +#: plugins/sudoers/def_data.c:230 #, c-format msgid "Subject line for mail messages: %s" msgstr "Champ objet des courriels envoyés : %s" -#: plugins/sudoers/def_data.c:232 +#: plugins/sudoers/def_data.c:234 #, c-format msgid "Incorrect password message: %s" msgstr "Message informant de la saisie d'un mot de passe incorrect : %s" -#: plugins/sudoers/def_data.c:236 +#: plugins/sudoers/def_data.c:238 #, c-format msgid "Path to lecture status dir: %s" msgstr "Répertoire contenant l'attestation que l'utilisateur a déjà reçu les recommandations : %s" -#: plugins/sudoers/def_data.c:240 +#: plugins/sudoers/def_data.c:242 #, c-format msgid "Path to authentication timestamp dir: %s" msgstr "Répertoire contenant l'horodatage de l'authentification : %s" -#: plugins/sudoers/def_data.c:244 +#: plugins/sudoers/def_data.c:246 #, c-format msgid "Owner of the authentication timestamp dir: %s" msgstr "Propriétaire du répertoire contenant l'horodatage de l'authentification : %s" -#: plugins/sudoers/def_data.c:248 +#: plugins/sudoers/def_data.c:250 #, c-format msgid "Users in this group are exempt from password and PATH requirements: %s" msgstr "Les utilisateurs de ce groupe sont affranchis des contraintes relatives au mot de passe et à PATH : %s" -#: plugins/sudoers/def_data.c:252 +#: plugins/sudoers/def_data.c:254 #, c-format msgid "Default password prompt: %s" msgstr "Invite de mot de passe par défaut : %s" -#: plugins/sudoers/def_data.c:256 +#: plugins/sudoers/def_data.c:258 msgid "If set, passprompt will override system prompt in all cases." msgstr "S'il est défini, passprompt se substituera toujours à l'invite du système." -#: plugins/sudoers/def_data.c:260 +#: plugins/sudoers/def_data.c:262 #, c-format msgid "Default user to run commands as: %s" msgstr "Utilisateur par défaut avec l'identité duquel exécuter les commandes : %s" -#: plugins/sudoers/def_data.c:264 +#: plugins/sudoers/def_data.c:266 #, c-format msgid "Value to override user's $PATH with: %s" msgstr "Nouvelle valeur prise par la variable $PATH de l'utilisateur : %s" -#: plugins/sudoers/def_data.c:268 +#: plugins/sudoers/def_data.c:270 #, c-format msgid "Path to the editor for use by visudo: %s" msgstr "Emplacement de l'éditeur appelé par visudo : %s" -#: plugins/sudoers/def_data.c:272 +#: plugins/sudoers/def_data.c:274 #, c-format msgid "When to require a password for 'list' pseudocommand: %s" msgstr "Quand demander un mot de passe pour l'usage de la pseudo commande « list » : %s" -#: plugins/sudoers/def_data.c:276 +#: plugins/sudoers/def_data.c:278 #, c-format msgid "When to require a password for 'verify' pseudocommand: %s" msgstr "Quand demander un mot de passe pour l'utilisation de la pseudo commande « verify » : %s" -#: plugins/sudoers/def_data.c:280 +#: plugins/sudoers/def_data.c:282 msgid "Preload the sudo_noexec library which replaces the exec functions" msgstr "Précharger la bibliothèque sudo_noexec qui remplace les fonctions exec" -#: plugins/sudoers/def_data.c:284 +#: plugins/sudoers/def_data.c:286 msgid "If LDAP directory is up, do we ignore local sudoers file" msgstr "Si un annuaire LDAP est actif, faut-il tenir compter du fichier sudoers local" -#: plugins/sudoers/def_data.c:288 +#: plugins/sudoers/def_data.c:290 #, c-format msgid "File descriptors >= %d will be closed before executing a command" msgstr "Les descripteurs de fichiers >= %d seront fermés avant l'exécution d'une commande" -#: plugins/sudoers/def_data.c:292 +#: plugins/sudoers/def_data.c:294 msgid "If set, users may override the value of \"closefrom\" with the -C option" msgstr "Si elle est définie, les utilisateurs peuvent passer outre la valeur de « closeform » grâce à l'option -C" -#: plugins/sudoers/def_data.c:296 +#: plugins/sudoers/def_data.c:298 msgid "Allow users to set arbitrary environment variables" msgstr "Autorise les utilisateurs à définir des variables d'environnement arbitraires" -#: plugins/sudoers/def_data.c:300 +#: plugins/sudoers/def_data.c:302 msgid "Reset the environment to a default set of variables" msgstr "Réinitialise l'environnement à un jeu de variables par défaut" -#: plugins/sudoers/def_data.c:304 +#: plugins/sudoers/def_data.c:306 msgid "Environment variables to check for safety:" msgstr "Variables d'environnement à valider pour s'assurer de la sécurité :" -#: plugins/sudoers/def_data.c:308 +#: plugins/sudoers/def_data.c:310 msgid "Environment variables to remove:" msgstr "Variables d'environnement à supprimer :" -#: plugins/sudoers/def_data.c:312 +#: plugins/sudoers/def_data.c:314 msgid "Environment variables to preserve:" msgstr "Variables d'environnement à conserver :" -#: plugins/sudoers/def_data.c:316 +#: plugins/sudoers/def_data.c:318 #, c-format msgid "SELinux role to use in the new security context: %s" msgstr "Rôle SELinux à utiliser dans le nouveau contexte de sécurité : %s" -#: plugins/sudoers/def_data.c:320 +#: plugins/sudoers/def_data.c:322 #, c-format msgid "SELinux type to use in the new security context: %s" msgstr "Type SELinux à utiliser dans le nouveau contexte de sécurité : %s" -#: plugins/sudoers/def_data.c:324 +#: plugins/sudoers/def_data.c:326 #, c-format msgid "Path to the sudo-specific environment file: %s" msgstr "Emplacement du fichier d'environnement propre à sudo : %s" -#: plugins/sudoers/def_data.c:328 +#: plugins/sudoers/def_data.c:330 #, c-format msgid "Path to the restricted sudo-specific environment file: %s" msgstr "Emplacement du fichier d'environnement restreint propre à sudo : %s" -#: plugins/sudoers/def_data.c:332 +#: plugins/sudoers/def_data.c:334 #, c-format msgid "Locale to use while parsing sudoers: %s" msgstr "Environnement linguistique à utiliser lors de l'analyse syntaxique de sudoers : %s" -#: plugins/sudoers/def_data.c:336 +#: plugins/sudoers/def_data.c:338 msgid "Allow sudo to prompt for a password even if it would be visible" msgstr "Autoriser sudo à demander la saisie d'un mot de passe même lorsque celui-ci sera affiché « en clair »" -#: plugins/sudoers/def_data.c:340 +#: plugins/sudoers/def_data.c:342 msgid "Provide visual feedback at the password prompt when there is user input" msgstr "Afficher un contrôle visuel lors de la saisie du mot de passe" -#: plugins/sudoers/def_data.c:344 +#: plugins/sudoers/def_data.c:346 msgid "Use faster globbing that is less accurate but does not access the filesystem" msgstr "Utiliser le développement rapide des noms de fichiers, qui est moins fiable, mais ne nécessite pas d'accès au système de fichiers" -#: plugins/sudoers/def_data.c:348 +#: plugins/sudoers/def_data.c:350 msgid "The umask specified in sudoers will override the user's, even if it is more permissive" msgstr "L'umask indiqué dans sudoers se substituera à celui de l'utilisateur, même s'il est plus permissif" -#: plugins/sudoers/def_data.c:352 +#: plugins/sudoers/def_data.c:354 msgid "Log user's input for the command being run" msgstr "Consignation des saisies de l'utilisateur dans le journal pour la commande en cours d'exécution" -#: plugins/sudoers/def_data.c:356 +#: plugins/sudoers/def_data.c:358 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 +#: plugins/sudoers/def_data.c:362 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 +#: plugins/sudoers/def_data.c:366 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:368 +#: plugins/sudoers/def_data.c:370 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 +#: plugins/sudoers/def_data.c:374 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 +#: plugins/sudoers/def_data.c:378 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 +#: plugins/sudoers/def_data.c:382 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:384 +#: plugins/sudoers/def_data.c:386 msgid "Always run commands in a pseudo-tty" msgstr "Exécute toujours les commandes dans un pseudo-terminal (tty)" -#: plugins/sudoers/def_data.c:388 +#: plugins/sudoers/def_data.c:390 #, 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:392 +#: plugins/sudoers/def_data.c:394 #, 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:396 +#: plugins/sudoers/def_data.c:398 #, 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:400 +#: plugins/sudoers/def_data.c:402 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:404 +#: plugins/sudoers/def_data.c:406 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:408 +#: plugins/sudoers/def_data.c:410 #, c-format msgid "Set of permitted privileges: %s" msgstr "Ensemble des privilèges permis : %s" -#: plugins/sudoers/def_data.c:412 +#: plugins/sudoers/def_data.c:414 #, c-format msgid "Set of limit privileges: %s" msgstr "Ensemble des privilèges limités : %s" -#: plugins/sudoers/def_data.c:416 +#: plugins/sudoers/def_data.c:418 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:420 +#: plugins/sudoers/def_data.c:422 #, c-format msgid "PAM service name to use: %s" msgstr "Nom de service PAM à utiliser : %s" -#: plugins/sudoers/def_data.c:424 +#: plugins/sudoers/def_data.c:426 #, 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:428 +#: plugins/sudoers/def_data.c:430 #, 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:432 +#: plugins/sudoers/def_data.c:434 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:436 +#: plugins/sudoers/def_data.c:438 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:440 +#: plugins/sudoers/def_data.c:442 msgid "Perform PAM account validation management" msgstr "Réaliser la gestion de la validation du compte PAM" -#: plugins/sudoers/def_data.c:444 +#: plugins/sudoers/def_data.c:446 +msgid "Do not allow PAM authentication modules to generate output" +msgstr "Ne pas autoriser les modules d'authentification de PAM à générer une sortie" + +#: plugins/sudoers/def_data.c:450 #, 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:448 +#: plugins/sudoers/def_data.c:454 msgid "Enable sudoers netgroup support" msgstr "Activation de la prise en charge de netgroup par sudoers" -#: plugins/sudoers/def_data.c:452 +#: plugins/sudoers/def_data.c:458 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:456 +#: plugins/sudoers/def_data.c:462 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:460 +#: plugins/sudoers/def_data.c:466 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:464 +#: plugins/sudoers/def_data.c:470 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:468 +#: plugins/sudoers/def_data.c:474 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:472 +#: plugins/sudoers/def_data.c:478 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:476 +#: plugins/sudoers/def_data.c:482 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:480 +#: plugins/sudoers/def_data.c:486 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:484 +#: plugins/sudoers/def_data.c:490 #, 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:488 +#: plugins/sudoers/def_data.c:494 #, 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:492 +#: plugins/sudoers/def_data.c:498 #, 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:496 +#: plugins/sudoers/def_data.c:502 #, 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:500 +#: plugins/sudoers/def_data.c:506 #, 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:504 +#: plugins/sudoers/def_data.c:510 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:508 +#: plugins/sudoers/def_data.c:514 #, 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:512 +#: plugins/sudoers/def_data.c:518 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:516 +#: plugins/sudoers/def_data.c:522 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:520 +#: plugins/sudoers/def_data.c:526 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:524 +#: plugins/sudoers/def_data.c:530 #, 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:528 +#: plugins/sudoers/def_data.c:534 #, c-format msgid "Authentication failure message: %s" msgstr "Message de l'échec de l'authentification : %s" -#: plugins/sudoers/def_data.c:532 +#: plugins/sudoers/def_data.c:538 msgid "Ignore case when matching user names" msgstr "Ignorer la casse lors de la correspondance des noms d'utilisateurs" -#: plugins/sudoers/def_data.c:536 +#: plugins/sudoers/def_data.c:542 msgid "Ignore case when matching group names" msgstr "Ignorer la casse lors de la correspondance des noms de groupes" -#: plugins/sudoers/def_data.c:540 +#: plugins/sudoers/def_data.c:546 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:544 +#: plugins/sudoers/def_data.c:550 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:548 +#: plugins/sudoers/def_data.c:554 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:552 +#: plugins/sudoers/def_data.c:558 #, 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:556 +#: plugins/sudoers/def_data.c:562 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:560 +#: plugins/sudoers/def_data.c:566 #, 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:564 +#: plugins/sudoers/def_data.c:570 #, c-format msgid "Path to the sudoers certificate file: %s" msgstr "Emplacement du fichier de certificat de sudoers : %s" -#: plugins/sudoers/def_data.c:568 +#: plugins/sudoers/def_data.c:574 #, 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:572 +#: plugins/sudoers/def_data.c:578 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:576 +#: plugins/sudoers/def_data.c:582 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:580 +#: plugins/sudoers/def_data.c:586 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:584 +#: plugins/sudoers/def_data.c:590 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:588 +#: plugins/sudoers/def_data.c:594 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:592 +#: plugins/sudoers/def_data.c:598 #, 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:596 +#: plugins/sudoers/def_data.c:602 #, 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:600 +#: plugins/sudoers/def_data.c:606 #, c-format msgid "The format of logs to produce: %s" msgstr "Format des journaux à produire : %s" -#: plugins/sudoers/def_data.c:604 +#: plugins/sudoers/def_data.c:610 msgid "Enable SELinux RBAC support" msgstr "Activer le support pour SELinux RBAC" -#: plugins/sudoers/def_data.c:608 +#: plugins/sudoers/def_data.c:614 #, 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:612 +#: plugins/sudoers/def_data.c:618 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:616 +#: plugins/sudoers/def_data.c:622 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:620 +#: plugins/sudoers/def_data.c:626 msgid "Log the exit status of commands" msgstr "Consigner le code de retour des commandes" -#: plugins/sudoers/def_data.c:624 +#: plugins/sudoers/def_data.c:630 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:628 +#: plugins/sudoers/def_data.c:634 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:632 +#: plugins/sudoers/def_data.c:638 #, 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:636 +#: plugins/sudoers/def_data.c:642 #, 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:640 +#: plugins/sudoers/def_data.c:646 #, 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:644 +#: plugins/sudoers/def_data.c:650 #, 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:648 +#: plugins/sudoers/def_data.c:654 #, 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:652 +#: plugins/sudoers/def_data.c:658 #, 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:656 +#: plugins/sudoers/def_data.c:662 #, 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:660 +#: plugins/sudoers/def_data.c:666 #, 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:664 +#: plugins/sudoers/def_data.c:670 #, 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:668 +#: plugins/sudoers/def_data.c:674 #, 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:672 +#: plugins/sudoers/def_data.c:678 #, 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:676 +#: plugins/sudoers/def_data.c:682 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:680 +#: plugins/sudoers/def_data.c:686 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:684 +#: plugins/sudoers/def_data.c:690 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:688 +#: plugins/sudoers/def_data.c:694 #, 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:692 +#: plugins/sudoers/def_data.c:698 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 +#: plugins/sudoers/def_data.c:702 #, 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" +#: plugins/sudoers/def_data.c:706 +#, c-format +msgid "Command denial message: %s" +msgstr "Message du refus de la commande : %s" + #: plugins/sudoers/defaults.c:207 #, c-format msgid "unknown defaults entry \"%s\"" @@ -2659,64 +2671,64 @@ 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:1176 plugins/sudoers/policy.c:213 -#: plugins/sudoers/policy.c:222 +#: plugins/sudoers/defaults.c:1189 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:1182 +#: plugins/sudoers/defaults.c:1195 #, c-format msgid "values for \"%s\" must start with a '/', '~', or '*'" msgstr "les valeurs de « %s » doivent commencer par « / », « ~ » ou « * »" -#: plugins/sudoers/defaults.c:1189 +#: plugins/sudoers/defaults.c:1202 #, c-format msgid "values for \"%s\" must start with a '/'" msgstr "les valeurs de « %s » doivent commencer par « / »" -#: plugins/sudoers/display.c:160 +#: plugins/sudoers/display.c:154 #, c-format msgid "LDAP Role: %s\n" msgstr "Rôle LDAP : %s\n" -#: plugins/sudoers/display.c:163 +#: plugins/sudoers/display.c:157 #, c-format msgid "Sudoers entry: %s\n" msgstr "Entrée sudoers : %s\n" -#: plugins/sudoers/display.c:166 +#: plugins/sudoers/display.c:160 msgid " RunAsUsers: " msgstr " RunAsUsers : " -#: plugins/sudoers/display.c:181 +#: plugins/sudoers/display.c:175 msgid " RunAsGroups: " msgstr " RunAsGroups : " -#: plugins/sudoers/display.c:191 +#: plugins/sudoers/display.c:185 msgid " Options: " msgstr " Options : " -#: plugins/sudoers/display.c:255 +#: plugins/sudoers/display.c:249 msgid " Commands:\n" msgstr " Commandes :\n" -#: plugins/sudoers/display.c:478 +#: plugins/sudoers/display.c:472 #, c-format msgid "Matching Defaults entries for %s on %s:\n" msgstr "Entrées Defaults correspondant pour %s sur %s :\n" -#: plugins/sudoers/display.c:496 +#: plugins/sudoers/display.c:490 #, 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/display.c:514 +#: plugins/sudoers/display.c:508 #, 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/display.c:530 +#: plugins/sudoers/display.c:524 #, 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" @@ -2730,15 +2742,15 @@ msgstr "éditeur ignoré : %.*s" msgid "editor arguments may not contain \"--\"" msgstr "les arguments de l'éditeur ne peuvent pas contenir « -- »" -#: plugins/sudoers/env.c:426 +#: plugins/sudoers/env.c:443 msgid "sudo_putenv: corrupted envp, length mismatch" msgstr "sudo_putenv : envp est corrompu, longueur incorrecte" -#: plugins/sudoers/env.c:1119 +#: plugins/sudoers/env.c:1137 msgid "unable to rebuild the environment" msgstr "impossible de créer à nouveau l'environnement" -#: plugins/sudoers/env.c:1199 +#: plugins/sudoers/env.c:1217 #, 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" @@ -2782,37 +2794,37 @@ msgstr "impossible de reconnaître le format du masque de sous-réseau « %s  msgid "Local IP address and netmask pairs:\n" msgstr "Couples adresse IP locale/masque de sous-réseau :\n" -#: plugins/sudoers/iolog.c:694 +#: plugins/sudoers/iolog.c:702 msgid "unable to update sequence file" msgstr "mise à jour du fichier de séquence impossible" -#: plugins/sudoers/iolog.c:728 plugins/sudoers/iolog.c:917 -#: plugins/sudoers/iolog.c:1080 plugins/sudoers/iolog.c:1087 -#: plugins/sudoers/iolog.c:1209 plugins/sudoers/iolog.c:1216 -#: plugins/sudoers/iolog.c:1316 plugins/sudoers/iolog.c:1323 +#: plugins/sudoers/iolog.c:736 plugins/sudoers/iolog.c:925 +#: plugins/sudoers/iolog.c:1088 plugins/sudoers/iolog.c:1095 +#: plugins/sudoers/iolog.c:1217 plugins/sudoers/iolog.c:1224 +#: plugins/sudoers/iolog.c:1324 plugins/sudoers/iolog.c:1331 #, c-format msgid "unable to write to I/O log file: %s" msgstr "impossible d'écrire dans le journal des E/S : %s" -#: plugins/sudoers/iolog.c:736 +#: plugins/sudoers/iolog.c:744 #, c-format msgid "unable to create %s/%s" msgstr "impossible de créer %s/%s" -#: plugins/sudoers/iolog.c:965 +#: plugins/sudoers/iolog.c:973 #, 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:1065 plugins/sudoers/iolog.c:1194 -#: plugins/sudoers/iolog.c:1300 plugins/sudoers/timestamp.c:897 -#: plugins/sudoers/timestamp.c:989 plugins/sudoers/visudo.c:555 +#: plugins/sudoers/iolog.c:1073 plugins/sudoers/iolog.c:1202 +#: plugins/sudoers/iolog.c:1308 plugins/sudoers/timestamp.c:900 +#: plugins/sudoers/timestamp.c:992 plugins/sudoers/visudo.c:555 #: plugins/sudoers/visudo.c:561 msgid "unable to read the clock" msgstr "lecture de l'horloge impossible" -#: plugins/sudoers/iolog.c:1292 plugins/sudoers/log_client.c:1203 -#: plugins/sudoers/log_client.c:1213 plugins/sudoers/log_client.c:1217 +#: plugins/sudoers/iolog.c:1300 plugins/sudoers/log_client.c:1226 +#: plugins/sudoers/log_client.c:1236 plugins/sudoers/log_client.c:1240 #, c-format msgid "%s: internal error, invalid signal %d" msgstr "%s: erreur interne, signal %d invalide" @@ -2859,15 +2871,15 @@ msgstr "type d'uri LDAP non pris en charge : %s" msgid "unable to mix ldap and ldaps URIs" msgstr "fusion des URIs ldap et ldaps impossible" -#: 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 +#: plugins/sudoers/ldap_util.c:496 plugins/sudoers/ldap_util.c:503 +#: plugins/sudoers/ldap_util.c:511 plugins/sudoers/ldap_util.c:519 +#: plugins/sudoers/ldap_util.c:527 plugins/sudoers/ldap_util.c:535 +#: plugins/sudoers/ldap_util.c:543 plugins/sudoers/ldap_util.c:551 #, c-format msgid "duplicate sudoOption: %s%s%s" msgstr "sudoOption dupliqué : %s%s%s" -#: plugins/sudoers/ldap_util.c:568 plugins/sudoers/ldap_util.c:570 +#: plugins/sudoers/ldap_util.c:569 plugins/sudoers/ldap_util.c:571 #, c-format msgid "unable to convert sudoOption: %s%s%s" msgstr "impossible de convertir sudoOption: %s%s%s" @@ -2880,63 +2892,63 @@ 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:125 plugins/sudoers/log_client.c:412 -#: plugins/sudoers/log_client.c:1450 plugins/sudoers/log_client.c:2076 +#: plugins/sudoers/log_client.c:125 plugins/sudoers/log_client.c:421 +#: plugins/sudoers/log_client.c:1473 plugins/sudoers/log_client.c:2101 msgid "error in event loop" msgstr "erreur dans la boucle des événements" -#: plugins/sudoers/log_client.c:205 +#: plugins/sudoers/log_client.c:214 #, 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:230 +#: plugins/sudoers/log_client.c:239 #, 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:252 +#: plugins/sudoers/log_client.c:261 #, c-format msgid "unable to load certificate %s" msgstr "impossible de charger le certificat %s" -#: plugins/sudoers/log_client.c:266 +#: plugins/sudoers/log_client.c:275 #, c-format msgid "unable to load private key %s" msgstr "impossible de charger la clé privée %s" -#: plugins/sudoers/log_client.c:275 +#: plugins/sudoers/log_client.c:284 #, c-format msgid "Unable to allocate ssl object: %s" msgstr "Impossible d'allouer l'objet ssl : %s" -#: plugins/sudoers/log_client.c:364 plugins/sudoers/log_client.c:369 +#: plugins/sudoers/log_client.c:373 plugins/sudoers/log_client.c:378 #, c-format msgid "TLS connection to %s:%s failed: %s" msgstr "la connexion TLS à %s:%s a échoué : %s" -#: plugins/sudoers/log_client.c:545 +#: plugins/sudoers/log_client.c:554 msgid "TLS initialization was unsuccessful" msgstr "l'initialisation TLS n'a pas réussi" -#: plugins/sudoers/log_client.c:555 +#: plugins/sudoers/log_client.c:564 msgid "TLS handshake was unsuccessful" msgstr "la négociation TLS n'a pas réussi" -#: plugins/sudoers/log_client.c:1221 +#: plugins/sudoers/log_client.c:1244 #, c-format msgid "%s: internal error, invalid exit status %d" msgstr "%s: erreur interne, statut de sortie %d invalide" -#: plugins/sudoers/log_client.c:1757 plugins/sudoers/log_client.c:1782 +#: plugins/sudoers/log_client.c:1780 plugins/sudoers/log_client.c:1805 msgid "lost connection to log server" msgstr "perte de la connexion au serveur de journalisation" -#: plugins/sudoers/log_client.c:1859 +#: plugins/sudoers/log_client.c:1882 msgid "missing write buffer" msgstr "tampon d'écriture manquant" -#: plugins/sudoers/log_client.c:2015 +#: plugins/sudoers/log_client.c:2040 msgid "unable to connect to log server" msgstr "impossible de se connecter au serveur de journal" @@ -2949,42 +2961,55 @@ msgid "user NOT authorized on host" msgstr "l'utilisateur n'est PAS autorisé sur cet hôte" #: plugins/sudoers/logging.c:299 +msgid "setid command rejected in intercept mode" +msgstr "commande setid rejetée en mode interception" + +#: plugins/sudoers/logging.c:301 msgid "command not allowed" msgstr "commande non autorisée" -#: plugins/sudoers/logging.c:320 +#: plugins/sudoers/logging.c:322 #, 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:323 +#: plugins/sudoers/logging.c:325 #, 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:326 +#: plugins/sudoers/logging.c:328 plugins/sudoers/parser_warnx.c:59 +#, c-format +msgid "%s: %s\n" +msgstr "%s : %s\n" + +#: plugins/sudoers/logging.c:329 +msgid "setid commands are not permitted in intercept mode" +msgstr "les commandes setid ne sont pas permises en mode interception" + +#: plugins/sudoers/logging.c:331 #, 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:339 +#: plugins/sudoers/logging.c:344 #, c-format msgid "Sorry, user %s is not allowed to execute '%s%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%s » en tant que %s%s%s sur %s.\n" -#: plugins/sudoers/logging.c:350 +#: plugins/sudoers/logging.c:358 msgid "This incident has been reported to the administrator.\n" msgstr "Cet incident a été signalé à l'administrateur.\n" -#: plugins/sudoers/logging.c:387 plugins/sudoers/sudoers.c:547 -#: plugins/sudoers/sudoers.c:549 plugins/sudoers/sudoers.c:551 -#: plugins/sudoers/sudoers.c:553 plugins/sudoers/sudoers.c:777 -#: plugins/sudoers/sudoers.c:779 +#: plugins/sudoers/logging.c:395 plugins/sudoers/sudoers.c:564 +#: plugins/sudoers/sudoers.c:566 plugins/sudoers/sudoers.c:568 +#: plugins/sudoers/sudoers.c:570 plugins/sudoers/sudoers.c:794 +#: plugins/sudoers/sudoers.c:796 #, c-format msgid "%s: command not found" msgstr "%s : commande introuvable" -#: plugins/sudoers/logging.c:389 plugins/sudoers/sudoers.c:543 +#: plugins/sudoers/logging.c:397 plugins/sudoers/sudoers.c:560 #, c-format msgid "" "ignoring \"%s\" found in '.'\n" @@ -2993,31 +3018,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:409 +#: plugins/sudoers/logging.c:417 #, 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:500 +#: plugins/sudoers/logging.c:508 msgid "authentication failure" msgstr "échec de l'authentification" -#: plugins/sudoers/logging.c:539 plugins/sudoers/logging.c:558 +#: plugins/sudoers/logging.c:552 plugins/sudoers/logging.c:571 msgid "a password is required" msgstr "il est nécessaire de saisir un mot de passe" -#: plugins/sudoers/logging.c:881 +#: plugins/sudoers/logging.c:889 msgid "problem parsing sudoers" msgstr "problème lors de l'analyse syntaxique de sudoers" -#: plugins/sudoers/logging.c:922 plugins/sudoers/logging.c:930 +#: plugins/sudoers/logging.c:930 plugins/sudoers/logging.c:938 #, c-format msgid "%s:%d:%d: %s" msgstr "%s:%d:%d: %s" -#: plugins/sudoers/logging.c:1108 +#: plugins/sudoers/logging.c:1119 #, c-format msgid "unable to write log file %s" msgstr "impossible d'écrire le fichier journal %s" @@ -3047,11 +3072,6 @@ msgstr "attribut LDIF invalide : %s" msgid "%s:%d:%d: %s\n" msgstr "%s:%d:%d: %s\n" -#: plugins/sudoers/parser_warnx.c:59 -#, c-format -msgid "%s: %s\n" -msgstr "%s : %s\n" - #: plugins/sudoers/pivot.c:71 msgid "unable to restore root directory" msgstr "restauration du répertoire racine impossible" @@ -3065,59 +3085,59 @@ msgstr "restauration du répertoire de travail impossible" msgid "invalid %.*s set by sudo front-end" msgstr "%.*s invalide défini par l'interface utilisateur de sudo" -#: plugins/sudoers/policy.c:364 plugins/sudoers/testsudoers.c:329 +#: plugins/sudoers/policy.c:347 plugins/sudoers/testsudoers.c:329 msgid "unable to parse network address list" msgstr "impossible d'analyser la liste des adresses réseau" -#: plugins/sudoers/policy.c:556 +#: plugins/sudoers/policy.c:555 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:560 +#: plugins/sudoers/policy.c:559 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:564 +#: plugins/sudoers/policy.c:563 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:568 +#: plugins/sudoers/policy.c:567 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:757 +#: plugins/sudoers/policy.c:765 #, c-format msgid "invalid working directory: %s" msgstr "répertoire de travail invalide : %s" -#: plugins/sudoers/policy.c:944 +#: plugins/sudoers/policy.c:952 #, c-format msgid "invalid chroot directory: %s" msgstr "répertoire chroot invalide : %s" -#: plugins/sudoers/policy.c:1153 plugins/sudoers/visudo.c:919 +#: plugins/sudoers/policy.c:1163 plugins/sudoers/visudo.c:919 #: plugins/sudoers/visudo.c:1218 #, c-format msgid "unable to execute %s" msgstr "exécution de %s impossible" -#: plugins/sudoers/policy.c:1225 plugins/sudoers/policy.c:1260 -#: plugins/sudoers/policy.c:1282 plugins/sudoers/policy.c:1300 +#: plugins/sudoers/policy.c:1232 plugins/sudoers/policy.c:1267 +#: plugins/sudoers/policy.c:1289 plugins/sudoers/policy.c:1307 #, 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:1323 +#: plugins/sudoers/policy.c:1330 #, 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:1325 +#: plugins/sudoers/policy.c:1332 #, 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:1329 +#: plugins/sudoers/policy.c:1336 #, c-format msgid "" "\n" @@ -3126,27 +3146,27 @@ msgstr "" "\n" "Chemin d'accès à sudoers : %s\n" -#: plugins/sudoers/policy.c:1332 +#: plugins/sudoers/policy.c:1339 #, c-format msgid "nsswitch path: %s\n" msgstr "chemin d'accès à nsswitch : %s\n" -#: plugins/sudoers/policy.c:1335 +#: plugins/sudoers/policy.c:1342 #, c-format msgid "ldap.conf path: %s\n" msgstr "chemin d'accès à ldap.conf : %s\n" -#: plugins/sudoers/policy.c:1337 +#: plugins/sudoers/policy.c:1344 #, c-format msgid "ldap.secret path: %s\n" msgstr "chemin d'accès à ldap.secret : %s\n" -#: plugins/sudoers/policy.c:1370 +#: plugins/sudoers/policy.c:1377 #, 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:1388 +#: plugins/sudoers/policy.c:1395 #, 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" @@ -3193,24 +3213,24 @@ msgstr "impossible d'écrire le groupe %s dans la cache" msgid "unable to cache group %s, already exists" msgstr "enregistrement du groupe %s dans le cache impossible, l'entrée existe déjà" -#: plugins/sudoers/pwutil.c:900 plugins/sudoers/pwutil.c:985 -#: plugins/sudoers/pwutil.c:1039 plugins/sudoers/pwutil.c:1095 +#: plugins/sudoers/pwutil.c:900 plugins/sudoers/pwutil.c:988 +#: plugins/sudoers/pwutil.c:1042 plugins/sudoers/pwutil.c:1101 #, c-format msgid "unable to cache group list for %s, already exists" msgstr "enregistrement de la liste de groupe %s dans le cache impossible, l'entrée existe déjà" -#: plugins/sudoers/pwutil.c:906 plugins/sudoers/pwutil.c:990 -#: plugins/sudoers/pwutil.c:1045 plugins/sudoers/pwutil.c:1100 +#: plugins/sudoers/pwutil.c:906 plugins/sudoers/pwutil.c:993 +#: plugins/sudoers/pwutil.c:1048 plugins/sudoers/pwutil.c:1106 #, c-format msgid "unable to cache group list for %s" msgstr "impossible d'écrire la liste de groupes dans la cache pour %s" -#: plugins/sudoers/pwutil.c:979 +#: plugins/sudoers/pwutil.c:982 #, c-format msgid "unable to parse groups for %s" msgstr "impossible d'analyser les groupes pour %s" -#: plugins/sudoers/pwutil.c:1089 +#: plugins/sudoers/pwutil.c:1095 #, c-format msgid "unable to parse gids for %s" msgstr "impossible d'analyser les gids pour %s" @@ -3339,82 +3359,82 @@ msgstr "l'utilisateur n'est pas autorisé à changer de répertoire vers %s" 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:542 +#: plugins/sudoers/sudoers.c:559 msgid "command in current directory" msgstr "commande dans le répertoire courant" -#: plugins/sudoers/sudoers.c:557 +#: plugins/sudoers/sudoers.c:574 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:559 +#: plugins/sudoers/sudoers.c:576 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:561 +#: plugins/sudoers/sudoers.c:578 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:570 +#: plugins/sudoers/sudoers.c:587 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:572 +#: plugins/sudoers/sudoers.c:589 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:580 +#: plugins/sudoers/sudoers.c:597 msgid "user not allowed to preserve the environment" msgstr "l'utilisateur n'est pas autorisé à conserver l'environnement" -#: plugins/sudoers/sudoers.c:582 +#: plugins/sudoers/sudoers.c:599 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:618 +#: plugins/sudoers/sudoers.c:635 msgid "no command specified" msgstr "aucune commande spécifiée" -#: plugins/sudoers/sudoers.c:759 +#: plugins/sudoers/sudoers.c:776 msgid "error setting user-specified environment variables" msgstr "erreur en définissant les variables d'environnement spécifiées par l'utilisateur" -#: plugins/sudoers/sudoers.c:1211 +#: plugins/sudoers/sudoers.c:1229 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:1296 plugins/sudoers/sudoreplay.c:1613 -#: plugins/sudoers/tsdump.c:138 +#: plugins/sudoers/sudoers.c:1314 plugins/sudoers/sudoreplay.c:1615 +#: plugins/sudoers/tsdump.c:151 #, c-format msgid "unable to read %s" msgstr "lecture de %s impossible" -#: plugins/sudoers/sudoers.c:1321 plugins/sudoers/visudo.c:1123 +#: plugins/sudoers/sudoers.c:1339 plugins/sudoers/visudo.c:1123 #, c-format msgid "%s is not a regular file" msgstr "%s n'est pas un fichier ordinaire" -#: plugins/sudoers/sudoers.c:1325 plugins/sudoers/timestamp.c:272 toke.l:1355 +#: plugins/sudoers/sudoers.c:1343 plugins/sudoers/timestamp.c:272 toke.l:1335 #, 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:1330 plugins/sudoers/timestamp.c:279 toke.l:1360 +#: plugins/sudoers/sudoers.c:1348 plugins/sudoers/timestamp.c:279 toke.l:1340 #, c-format msgid "%s is world writable" msgstr "Le fichier %s est ouvert en écriture pour tous" -#: plugins/sudoers/sudoers.c:1334 plugins/sudoers/timestamp.c:284 toke.l:1363 +#: plugins/sudoers/sudoers.c:1352 plugins/sudoers/timestamp.c:284 toke.l:1343 #, 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:1363 +#: plugins/sudoers/sudoers.c:1381 #, c-format msgid "only root can use \"-c %s\"" msgstr "« -c %s » est réservé à l'utilisateur root" -#: plugins/sudoers/sudoers.c:1382 +#: plugins/sudoers/sudoers.c:1400 #, c-format msgid "unknown login class %s" msgstr "classe de connexion %s inconnue" @@ -3459,75 +3479,75 @@ msgstr "%s/timing : %s" msgid "Replaying sudo session: %s" msgstr "Rejeu de la session sudo : %s" -#: plugins/sudoers/sudoreplay.c:634 +#: plugins/sudoers/sudoreplay.c:633 plugins/sudoers/sudoreplay.c:636 msgid "unable to set tty to raw mode" msgstr "impossible d'initialiser le terminal tty en mode direct" -#: plugins/sudoers/sudoreplay.c:685 +#: plugins/sudoers/sudoreplay.c:687 msgid "Warning: your terminal is too small to properly replay the log." msgstr "Attention : la taille du terminal n'est pas suffisante pour pouvoir rejouer correctement la séquence." -#: plugins/sudoers/sudoreplay.c:686 +#: plugins/sudoers/sudoreplay.c:688 #, c-format msgid "Log geometry is %d x %d, your terminal's geometry is %d x %d." msgstr "La taille du journal est %d × %d, la taille de votre terminal est %d × %d." -#: plugins/sudoers/sudoreplay.c:714 +#: plugins/sudoers/sudoreplay.c:716 msgid "Replay finished, press any key to restore the terminal." msgstr "Rejeu terminé, appuyez sur n'importe quelle touche pour rétablir le terminal." -#: plugins/sudoers/sudoreplay.c:1217 plugins/sudoers/sudoreplay.c:1247 +#: plugins/sudoers/sudoreplay.c:1219 plugins/sudoers/sudoreplay.c:1249 #, c-format msgid "ambiguous expression \"%s\"" msgstr "expression ambiguë « %s »" -#: plugins/sudoers/sudoreplay.c:1269 +#: plugins/sudoers/sudoreplay.c:1271 msgid "unmatched ')' in expression" msgstr "« ) » sans parenthèse ouvrante dans l'expression" -#: plugins/sudoers/sudoreplay.c:1273 +#: plugins/sudoers/sudoreplay.c:1275 #, c-format msgid "unknown search term \"%s\"" msgstr "terme de recherche « %s » inconnu" -#: plugins/sudoers/sudoreplay.c:1288 +#: plugins/sudoers/sudoreplay.c:1290 #, c-format msgid "%s requires an argument" msgstr "%s requiert un argument" -#: plugins/sudoers/sudoreplay.c:1298 +#: plugins/sudoers/sudoreplay.c:1300 #, c-format msgid "could not parse date \"%s\"" msgstr "analyse de la date « %s » impossible" -#: plugins/sudoers/sudoreplay.c:1307 +#: plugins/sudoers/sudoreplay.c:1309 msgid "unmatched '(' in expression" msgstr "« ( » sans parenthèse fermante dans l'expression" -#: plugins/sudoers/sudoreplay.c:1309 +#: plugins/sudoers/sudoreplay.c:1311 msgid "illegal trailing \"or\"" msgstr "« or » n'est pas autorisé en fin d'expression" -#: plugins/sudoers/sudoreplay.c:1311 +#: plugins/sudoers/sudoreplay.c:1313 msgid "illegal trailing \"!\"" msgstr "« ! » n'est pas autorisé en fin d'expression" -#: plugins/sudoers/sudoreplay.c:1417 +#: plugins/sudoers/sudoreplay.c:1419 #, c-format msgid "unknown search type %d" msgstr "type de recherche %d inconnu" -#: plugins/sudoers/sudoreplay.c:1679 +#: plugins/sudoers/sudoreplay.c:1681 #, 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:1681 +#: plugins/sudoers/sudoreplay.c:1683 #, 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:1695 +#: plugins/sudoers/sudoreplay.c:1697 #, c-format msgid "" "%s - replay sudo session logs\n" @@ -3536,7 +3556,7 @@ msgstr "" "%s - rejeu du journal de la session sudo\n" "\n" -#: plugins/sudoers/sudoreplay.c:1697 +#: plugins/sudoers/sudoreplay.c:1699 msgid "" "\n" "Options:\n" @@ -3614,26 +3634,26 @@ msgstr "" "\n" "Commande sans correspondance" -#: plugins/sudoers/timestamp.c:364 plugins/sudoers/timestamp.c:711 +#: plugins/sudoers/timestamp.c:364 plugins/sudoers/timestamp.c:714 #, 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:908 +#: plugins/sudoers/timestamp.c:911 msgid "ignoring time stamp from the future" msgstr "un horodatage dans le futur a été ignoré" -#: plugins/sudoers/timestamp.c:931 +#: plugins/sudoers/timestamp.c:934 #, 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:1067 +#: plugins/sudoers/timestamp.c:1070 #, c-format msgid "unable to lock time stamp file %s" msgstr "verrouillage du fichier d'horodatage %s impossible" -#: plugins/sudoers/timestamp.c:1114 +#: plugins/sudoers/timestamp.c:1117 #, c-format msgid "%s:%d:%d timestampowner: unknown user %s" msgstr "%s:%d:%d timestampowner : utilisateur %s inconnu" @@ -3835,19 +3855,19 @@ msgstr "la suite de la ligne est invalide" msgid "invalid IPv6 address" msgstr "adresse IPv6 invalide" -#: toke.l:863 +#: toke.l:843 msgid "unexpected line break in string" msgstr "saut de ligne inattendu dans la chaîne" -#: toke.l:982 +#: toke.l:962 msgid "ignoring editor backup file" msgstr "le fichier de sauvegarde de l'éditeur est ignoré" -#: toke.l:985 +#: toke.l:965 msgid "ignoring file name containing '.'" msgstr "le nom de fichier contenant un « . » est ignoré" -#: toke.l:1310 +#: toke.l:1290 msgid "too many levels of includes" msgstr "nombre de niveaux d'inclusions trop élevé" @@ -3926,9 +3946,6 @@ msgstr "nombre de niveaux d'inclusions trop élevé" #~ msgid "problem with defaults entries" #~ msgstr "les entrées par défaut posent un problème" -#~ msgid "internal error, unable to find %s in list!" -#~ msgstr "erreur interne, impossible de trouver %s dans la liste !" - #~ msgid "%s is not in the sudoers file. This incident will be reported.\n" #~ msgstr "%s n'apparaît pas dans le fichier sudoers. Cet incident sera signalé.\n" diff --git a/plugins/sudoers/po/hr.mo b/plugins/sudoers/po/hr.mo index 626fb1cbd..b4bcfd651 100644 Binary files a/plugins/sudoers/po/hr.mo and b/plugins/sudoers/po/hr.mo differ diff --git a/plugins/sudoers/po/hr.po b/plugins/sudoers/po/hr.po index 4202227d8..17567075b 100644 --- a/plugins/sudoers/po/hr.po +++ b/plugins/sudoers/po/hr.po @@ -1,13 +1,13 @@ # Translation of sudoer to Croatian. # This file is put in the public domain. # -# Božidar Putanec , 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023. +# Božidar Putanec , 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024. msgid "" msgstr "" -"Project-Id-Version: sudoers-1.9.15b1\n" +"Project-Id-Version: sudoers-1.9.16b1\n" "Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n" -"POT-Creation-Date: 2023-10-19 10:02-0600\n" -"PO-Revision-Date: 2023-10-21 18:37-0700\n" +"POT-Creation-Date: 2024-06-08 09:06-0600\n" +"PO-Revision-Date: 2024-06-16 18:28-0700\n" "Last-Translator: Božidar Putanec \n" "Language-Team: Croatian \n" "Language: hr\n" @@ -21,7 +21,7 @@ msgstr "" "X-Poedit-SourceCharset: UTF-8\n" "X-Poedit-SearchPath-0: .\n" -#: confstr.sh:1 gram.y:1257 plugins/sudoers/logging.c:911 +#: confstr.sh:1 gram.y:1240 plugins/sudoers/logging.c:919 msgid "syntax error" msgstr "sintaktička greška" @@ -46,16 +46,16 @@ msgid "Sorry, try again." msgstr "Pokušajte ponovo." #: gram.y:238 gram.y:305 gram.y:314 gram.y:323 gram.y:333 gram.y:343 gram.y:367 -#: gram.y:394 gram.y:403 gram.y:411 gram.y:420 gram.y:429 gram.y:503 gram.y:513 -#: gram.y:525 gram.y:573 gram.y:582 gram.y:591 gram.y:600 gram.y:733 gram.y:742 -#: gram.y:757 gram.y:777 gram.y:796 gram.y:959 gram.y:964 gram.y:972 gram.y:986 -#: gram.y:992 gram.y:1004 gram.y:1010 gram.y:1135 gram.y:1144 gram.y:1152 -#: gram.y:1161 gram.y:1170 gram.y:1199 gram.y:1208 gram.y:1216 gram.y:1317 -#: gram.y:1447 gram.y:1829 gram.y:1840 gram.y:1922 lib/eventlog/eventlog.c:236 -#: lib/eventlog/eventlog.c:313 lib/eventlog/eventlog.c:765 -#: lib/eventlog/eventlog.c:842 lib/eventlog/eventlog.c:1175 -#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:484 -#: lib/eventlog/parse_json.c:514 lib/iolog/iolog_filter.c:142 +#: gram.y:394 gram.y:403 gram.y:411 gram.y:420 gram.y:429 gram.y:502 gram.y:512 +#: gram.y:524 gram.y:566 gram.y:575 gram.y:584 gram.y:593 gram.y:726 gram.y:735 +#: gram.y:750 gram.y:770 gram.y:789 gram.y:942 gram.y:947 gram.y:955 gram.y:969 +#: gram.y:975 gram.y:987 gram.y:993 gram.y:1118 gram.y:1127 gram.y:1135 +#: gram.y:1144 gram.y:1153 gram.y:1182 gram.y:1191 gram.y:1199 gram.y:1300 +#: gram.y:1430 gram.y:1811 gram.y:1822 gram.y:1898 lib/eventlog/eventlog.c:236 +#: lib/eventlog/eventlog.c:313 lib/eventlog/eventlog.c:778 +#: lib/eventlog/eventlog.c:855 lib/eventlog/eventlog.c:1189 +#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:501 +#: lib/eventlog/parse_json.c:531 lib/iolog/iolog_filter.c:142 #: lib/iolog/iolog_filter.c:202 lib/iolog/iolog_filter.c:233 #: lib/iolog/iolog_legacy.c:101 lib/iolog/iolog_legacy.c:112 #: lib/iolog/iolog_legacy.c:124 lib/iolog/iolog_legacy.c:134 @@ -66,13 +66,13 @@ msgstr "Pokušajte ponovo." #: logsrvd/iolog_writer.c:218 logsrvd/iolog_writer.c:228 #: logsrvd/iolog_writer.c:257 logsrvd/iolog_writer.c:278 #: logsrvd/iolog_writer.c:290 logsrvd/iolog_writer.c:300 -#: logsrvd/iolog_writer.c:310 logsrvd/iolog_writer.c:320 -#: logsrvd/iolog_writer.c:330 logsrvd/iolog_writer.c:342 -#: logsrvd/iolog_writer.c:377 logsrvd/iolog_writer.c:383 -#: logsrvd/iolog_writer.c:390 logsrvd/iolog_writer.c:396 -#: logsrvd/iolog_writer.c:580 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:323 -#: logsrvd/logsrvd.c:1057 logsrvd/logsrvd.c:1120 logsrvd/logsrvd.c:1589 -#: logsrvd/logsrvd.c:1594 logsrvd/logsrvd.c:1781 logsrvd/logsrvd.c:2003 +#: logsrvd/iolog_writer.c:318 logsrvd/iolog_writer.c:328 +#: logsrvd/iolog_writer.c:338 logsrvd/iolog_writer.c:350 +#: logsrvd/iolog_writer.c:385 logsrvd/iolog_writer.c:391 +#: logsrvd/iolog_writer.c:398 logsrvd/iolog_writer.c:404 +#: logsrvd/iolog_writer.c:588 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:324 +#: logsrvd/logsrvd.c:1058 logsrvd/logsrvd.c:1121 logsrvd/logsrvd.c:1599 +#: logsrvd/logsrvd.c:1604 logsrvd/logsrvd.c:1791 logsrvd/logsrvd.c:2046 #: 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 @@ -80,11 +80,11 @@ msgstr "Pokušajte ponovo." #: 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_conf.c:829 logsrvd/logsrvd_conf.c:1041 +#: logsrvd/logsrvd_conf.c:1058 logsrvd/logsrvd_conf.c:1453 +#: logsrvd/logsrvd_conf.c:1600 logsrvd/logsrvd_conf.c:1626 +#: logsrvd/logsrvd_conf.c:1638 logsrvd/logsrvd_conf.c:1645 +#: logsrvd/logsrvd_conf.c:1651 logsrvd/logsrvd_conf.c:1748 #: logsrvd/logsrvd_journal.c:76 logsrvd/logsrvd_journal.c:216 #: logsrvd/logsrvd_journal.c:217 logsrvd/logsrvd_journal.c:274 #: logsrvd/logsrvd_journal.c:279 logsrvd/logsrvd_journal.c:439 @@ -97,10 +97,10 @@ msgstr "Pokušajte ponovo." #: logsrvd/logsrvd_queue.c:266 logsrvd/logsrvd_relay.c:446 #: logsrvd/logsrvd_relay.c:748 logsrvd/logsrvd_relay.c:855 #: logsrvd/sendlog.c:256 logsrvd/sendlog.c:265 logsrvd/sendlog.c:297 -#: logsrvd/sendlog.c:303 logsrvd/sendlog.c:352 logsrvd/sendlog.c:630 -#: logsrvd/sendlog.c:1822 plugins/sudoers/audit.c:118 -#: plugins/sudoers/auth/bsdauth.c:154 plugins/sudoers/auth/kerb5.c:122 -#: plugins/sudoers/auth/kerb5.c:150 plugins/sudoers/auth/pam.c:697 +#: logsrvd/sendlog.c:303 logsrvd/sendlog.c:352 logsrvd/sendlog.c:651 +#: logsrvd/sendlog.c:1847 plugins/sudoers/audit.c:118 +#: plugins/sudoers/auth/bsdauth.c:154 plugins/sudoers/auth/kerb5.c:123 +#: plugins/sudoers/auth/kerb5.c:151 plugins/sudoers/auth/pam.c:697 #: plugins/sudoers/auth/rfc1938.c:112 plugins/sudoers/auth/sia.c:61 #: plugins/sudoers/canon_path.c:129 plugins/sudoers/canon_path.c:161 #: plugins/sudoers/check_aliases.c:128 plugins/sudoers/check_util.c:56 @@ -110,33 +110,30 @@ msgstr "Pokušajte ponovo." #: plugins/sudoers/cvtsudoers.c:379 plugins/sudoers/cvtsudoers.c:399 #: plugins/sudoers/cvtsudoers.c:545 plugins/sudoers/cvtsudoers.c:698 #: plugins/sudoers/cvtsudoers.c:716 plugins/sudoers/cvtsudoers.c:891 -#: plugins/sudoers/cvtsudoers.c:899 plugins/sudoers/cvtsudoers.c:1395 -#: plugins/sudoers/cvtsudoers.c:1399 plugins/sudoers/cvtsudoers.c:1501 -#: plugins/sudoers/cvtsudoers_csv.c:183 plugins/sudoers/cvtsudoers_csv.c:247 -#: plugins/sudoers/cvtsudoers_json.c:76 plugins/sudoers/cvtsudoers_ldif.c:152 -#: plugins/sudoers/cvtsudoers_ldif.c:195 plugins/sudoers/cvtsudoers_ldif.c:236 -#: plugins/sudoers/cvtsudoers_ldif.c:302 plugins/sudoers/cvtsudoers_ldif.c:378 -#: plugins/sudoers/cvtsudoers_ldif.c:432 plugins/sudoers/cvtsudoers_ldif.c:440 -#: plugins/sudoers/cvtsudoers_ldif.c:451 plugins/sudoers/cvtsudoers_ldif.c:458 -#: plugins/sudoers/cvtsudoers_ldif.c:470 plugins/sudoers/cvtsudoers_ldif.c:483 -#: plugins/sudoers/cvtsudoers_ldif.c:491 plugins/sudoers/cvtsudoers_ldif.c:638 -#: 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:455 -#: plugins/sudoers/defaults.c:689 plugins/sudoers/defaults.c:1051 -#: plugins/sudoers/defaults.c:1235 plugins/sudoers/editor.c:198 -#: plugins/sudoers/env.c:263 plugins/sudoers/exptilde.c:92 +#: plugins/sudoers/cvtsudoers.c:899 plugins/sudoers/cvtsudoers.c:1393 +#: plugins/sudoers/cvtsudoers.c:1397 plugins/sudoers/cvtsudoers.c:1497 +#: plugins/sudoers/cvtsudoers_csv.c:182 plugins/sudoers/cvtsudoers_csv.c:255 +#: plugins/sudoers/cvtsudoers_json.c:604 plugins/sudoers/cvtsudoers_json.c:639 +#: plugins/sudoers/cvtsudoers_json.c:1016 +#: plugins/sudoers/cvtsudoers_json.c:1041 plugins/sudoers/cvtsudoers_ldif.c:112 +#: plugins/sudoers/cvtsudoers_ldif.c:144 plugins/sudoers/cvtsudoers_ldif.c:260 +#: plugins/sudoers/cvtsudoers_ldif.c:573 plugins/sudoers/cvtsudoers_ldif.c:586 +#: plugins/sudoers/cvtsudoers_ldif.c:591 plugins/sudoers/cvtsudoers_ldif.c:761 +#: plugins/sudoers/cvtsudoers_merge.c:57 plugins/sudoers/cvtsudoers_merge.c:357 +#: plugins/sudoers/cvtsudoers_merge.c:405 +#: plugins/sudoers/cvtsudoers_merge.c:454 +#: plugins/sudoers/cvtsudoers_merge.c:476 +#: plugins/sudoers/cvtsudoers_merge.c:588 +#: plugins/sudoers/cvtsudoers_merge.c:664 +#: plugins/sudoers/cvtsudoers_merge.c:1197 +#: plugins/sudoers/cvtsudoers_merge.c:1281 plugins/sudoers/defaults.c:455 +#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1062 +#: plugins/sudoers/defaults.c:1248 plugins/sudoers/editor.c:198 +#: plugins/sudoers/env.c:280 plugins/sudoers/exptilde.c:92 #: plugins/sudoers/filedigest.c:66 plugins/sudoers/filedigest.c:70 #: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:212 -#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268 -#: plugins/sudoers/iolog.c:675 plugins/sudoers/iolog.c:703 +#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:270 +#: plugins/sudoers/iolog.c:683 plugins/sudoers/iolog.c:711 #: plugins/sudoers/ldap.c:161 plugins/sudoers/ldap.c:448 #: plugins/sudoers/ldap.c:625 plugins/sudoers/ldap.c:789 #: plugins/sudoers/ldap.c:1214 plugins/sudoers/ldap.c:1642 @@ -146,23 +143,23 @@ msgstr "Pokušajte ponovo." #: plugins/sudoers/ldap_conf.c:299 plugins/sudoers/ldap_conf.c:335 #: plugins/sudoers/ldap_conf.c:441 plugins/sudoers/ldap_conf.c:456 #: plugins/sudoers/ldap_conf.c:565 plugins/sudoers/ldap_conf.c:598 -#: plugins/sudoers/ldap_conf.c:694 plugins/sudoers/ldap_conf.c:776 +#: plugins/sudoers/ldap_conf.c:696 plugins/sudoers/ldap_conf.c:778 #: 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:717 plugins/sudoers/log_client.c:739 -#: plugins/sudoers/log_client.c:744 plugins/sudoers/log_client.c:1426 -#: plugins/sudoers/log_client.c:1547 plugins/sudoers/log_client.c:1670 -#: plugins/sudoers/log_client.c:1993 plugins/sudoers/log_client.c:2052 +#: plugins/sudoers/ldap_util.c:615 plugins/sudoers/linux_audit.c:86 +#: plugins/sudoers/log_client.c:117 plugins/sudoers/log_client.c:411 +#: plugins/sudoers/log_client.c:726 plugins/sudoers/log_client.c:748 +#: plugins/sudoers/log_client.c:753 plugins/sudoers/log_client.c:1449 +#: plugins/sudoers/log_client.c:1570 plugins/sudoers/log_client.c:1693 +#: plugins/sudoers/log_client.c:2018 plugins/sudoers/log_client.c:2077 #: plugins/sudoers/logging.c:110 plugins/sudoers/logging.c:190 -#: plugins/sudoers/logging.c:475 plugins/sudoers/logging.c:711 -#: plugins/sudoers/logging.c:872 plugins/sudoers/lookup.c:338 -#: plugins/sudoers/lookup.c:355 plugins/sudoers/lookup.c:374 -#: plugins/sudoers/lookup.c:393 plugins/sudoers/lookup.c:410 -#: plugins/sudoers/lookup.c:433 plugins/sudoers/lookup.c:444 -#: plugins/sudoers/match_command.c:302 plugins/sudoers/match_command.c:574 -#: plugins/sudoers/match_command.c:641 plugins/sudoers/match_command.c:737 -#: plugins/sudoers/match_command.c:785 plugins/sudoers/match_digest.c:88 +#: plugins/sudoers/logging.c:483 plugins/sudoers/logging.c:723 +#: plugins/sudoers/logging.c:880 plugins/sudoers/lookup.c:331 +#: plugins/sudoers/lookup.c:348 plugins/sudoers/lookup.c:366 +#: plugins/sudoers/lookup.c:384 plugins/sudoers/lookup.c:401 +#: plugins/sudoers/lookup.c:423 plugins/sudoers/lookup.c:434 +#: plugins/sudoers/match_command.c:280 plugins/sudoers/match_command.c:544 +#: plugins/sudoers/match_command.c:608 plugins/sudoers/match_command.c:702 +#: plugins/sudoers/match_command.c:750 plugins/sudoers/match_digest.c:88 #: 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 @@ -173,107 +170,107 @@ msgstr "Pokušajte ponovo." #: 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:646 plugins/sudoers/policy.c:1061 +#: plugins/sudoers/policy.c:654 plugins/sudoers/policy.c:1071 #: plugins/sudoers/prompt.c:94 plugins/sudoers/pwutil.c:219 #: plugins/sudoers/pwutil.c:290 plugins/sudoers/pwutil.c:368 #: plugins/sudoers/pwutil.c:542 plugins/sudoers/pwutil.c:607 #: plugins/sudoers/pwutil.c:679 plugins/sudoers/pwutil.c:877 -#: plugins/sudoers/pwutil.c:967 plugins/sudoers/pwutil.c:1015 -#: plugins/sudoers/pwutil.c:1076 plugins/sudoers/sethost.c:85 +#: plugins/sudoers/pwutil.c:970 plugins/sudoers/pwutil.c:1018 +#: plugins/sudoers/pwutil.c:1082 plugins/sudoers/sethost.c:89 #: plugins/sudoers/sssd.c:145 plugins/sudoers/sssd.c:186 #: plugins/sudoers/sssd.c:415 plugins/sudoers/sssd.c:480 #: plugins/sudoers/sssd.c:507 plugins/sudoers/sssd.c:570 #: plugins/sudoers/sssd.c:765 plugins/sudoers/strvec_join.c:53 #: plugins/sudoers/sudoers.c:405 plugins/sudoers/sudoers.c:412 -#: plugins/sudoers/sudoers.c:656 plugins/sudoers/sudoers.c:666 -#: plugins/sudoers/sudoers.c:811 plugins/sudoers/sudoers.c:877 -#: plugins/sudoers/sudoers.c:936 plugins/sudoers/sudoers.c:985 -#: plugins/sudoers/sudoers.c:1144 plugins/sudoers/sudoers.c:1213 -#: plugins/sudoers/sudoers.c:1307 plugins/sudoers/sudoers_cb.c:150 +#: plugins/sudoers/sudoers.c:673 plugins/sudoers/sudoers.c:683 +#: plugins/sudoers/sudoers.c:828 plugins/sudoers/sudoers.c:894 +#: plugins/sudoers/sudoers.c:953 plugins/sudoers/sudoers.c:1002 +#: plugins/sudoers/sudoers.c:1162 plugins/sudoers/sudoers.c:1231 +#: plugins/sudoers/sudoers.c:1325 plugins/sudoers/sudoers_cb.c:150 #: plugins/sudoers/sudoreplay.c:559 plugins/sudoers/sudoreplay.c:562 -#: plugins/sudoers/sudoreplay.c:1279 plugins/sudoers/sudoreplay.c:1335 -#: plugins/sudoers/sudoreplay.c:1531 plugins/sudoers/sudoreplay.c:1535 +#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1337 +#: plugins/sudoers/sudoreplay.c:1533 plugins/sudoers/sudoreplay.c:1537 #: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:256 #: plugins/sudoers/testsudoers.c:265 plugins/sudoers/testsudoers.c:275 #: plugins/sudoers/testsudoers.c:282 plugins/sudoers/testsudoers.c:302 -#: plugins/sudoers/testsudoers.c:758 plugins/sudoers/timestamp.c:469 -#: plugins/sudoers/timestamp.c:513 plugins/sudoers/timestamp.c:1042 -#: plugins/sudoers/timestamp.c:1216 plugins/sudoers/toke_util.c:79 +#: plugins/sudoers/testsudoers.c:756 plugins/sudoers/timestamp.c:468 +#: plugins/sudoers/timestamp.c:514 plugins/sudoers/timestamp.c:1045 +#: plugins/sudoers/timestamp.c:1248 plugins/sudoers/toke_util.c:79 #: plugins/sudoers/toke_util.c:108 plugins/sudoers/toke_util.c:134 #: plugins/sudoers/toke_util.c:164 plugins/sudoers/toke_util.c:204 -#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:151 +#: plugins/sudoers/tsdump.c:136 plugins/sudoers/visudo.c:151 #: plugins/sudoers/visudo.c:258 plugins/sudoers/visudo.c:383 #: plugins/sudoers/visudo.c:389 plugins/sudoers/visudo.c:501 #: plugins/sudoers/visudo.c:1073 plugins/sudoers/visudo.c:1095 -#: plugins/sudoers/visudo.c:1189 toke.l:1031 toke.l:1194 toke.l:1213 -#: toke.l:1240 toke.l:1320 +#: plugins/sudoers/visudo.c:1189 toke.l:1011 toke.l:1174 toke.l:1193 +#: toke.l:1220 toke.l:1300 msgid "unable to allocate memory" msgstr "nije moguće dodijeliti memoriju" -#: gram.y:624 +#: gram.y:617 msgid "a digest requires a path name" msgstr "kontrolni zbroj zahtijeva ime staze" -#: gram.y:646 +#: gram.y:639 msgid "values for \"CWD\" must start with a '/', '~', or '*'" msgstr "vrijednosti za „CWD“ moraju započeti s „/“, „~“, ili „*“" -#: gram.y:652 +#: gram.y:645 msgid "\"CWD\" path too long" msgstr "„CWD“ staza je preduga" -#: gram.y:662 +#: gram.y:655 msgid "values for \"CHROOT\" must start with a '/', '~', or '*'" msgstr "vrijednosti za „CHROOT“ moraju započeti s „/“, „~“, ili „*“" -#: gram.y:668 +#: gram.y:661 msgid "\"CHROOT\" path too long" msgstr "„CHROOT“ staza je preduga" -#: gram.y:817 +#: gram.y:810 #, c-format msgid "syntax error, reserved word %s used as an alias name" msgstr "sintaktička greška -- rezervirana riječ %s korištena kao alias" -#: gram.y:840 +#: gram.y:833 msgid "invalid notbefore value" msgstr "nevaljana ‘notbefore’ vrijednost" -#: gram.y:849 +#: gram.y:842 msgid "invalid notafter value" msgstr "nevaljana ‘notafter’ vrijednost" -#: gram.y:859 plugins/sudoers/policy.c:390 +#: gram.y:852 plugins/sudoers/policy.c:373 msgid "timeout value too large" msgstr "vrijednost za tajmaut je prevelika" -#: gram.y:861 plugins/sudoers/policy.c:392 +#: gram.y:854 plugins/sudoers/policy.c:375 msgid "invalid timeout value" msgstr "nevaljana vrijednost za tajmaut" -#: gram.y:982 plugins/sudoers/sudoers.c:1162 +#: gram.y:965 plugins/sudoers/sudoers.c:1180 msgid "command too long" msgstr "naredba je preduga" -#: gram.y:1016 +#: gram.y:999 msgid "expected a fully-qualified path name" msgstr "očekivano je potpuno kvalificirano ime staze" -#: gram.y:1261 +#: gram.y:1244 #, c-format msgid "%s:%d:%zu: %s\n" msgstr "%s:%d:%zu: %s\n" -#: gram.y:1315 +#: gram.y:1298 #, c-format msgid "Alias \"%s\" already defined" msgstr "Alias „%s“ je već ranije definiran" -#: gram.y:1829 gram.y:1840 gram.y:1922 lib/eventlog/eventlog.c:236 -#: lib/eventlog/eventlog.c:765 lib/eventlog/eventlog.c:838 -#: lib/eventlog/eventlog.c:841 lib/eventlog/eventlog.c:1175 -#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:483 -#: lib/eventlog/parse_json.c:514 lib/iolog/iolog_filter.c:142 +#: gram.y:1811 gram.y:1822 gram.y:1898 lib/eventlog/eventlog.c:236 +#: lib/eventlog/eventlog.c:778 lib/eventlog/eventlog.c:851 +#: lib/eventlog/eventlog.c:854 lib/eventlog/eventlog.c:1189 +#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:500 +#: lib/eventlog/parse_json.c:531 lib/iolog/iolog_filter.c:142 #: lib/iolog/iolog_filter.c:202 lib/iolog/iolog_filter.c:232 #: lib/iolog/iolog_legacy.c:101 lib/iolog/iolog_legacy.c:112 #: lib/iolog/iolog_legacy.c:124 lib/iolog/iolog_legacy.c:134 @@ -286,16 +283,16 @@ msgstr "Alias „%s“ je već ranije definiran" #: logsrvd/iolog_writer.c:246 logsrvd/iolog_writer.c:256 #: logsrvd/iolog_writer.c:267 logsrvd/iolog_writer.c:277 #: logsrvd/iolog_writer.c:289 logsrvd/iolog_writer.c:299 -#: logsrvd/iolog_writer.c:309 logsrvd/iolog_writer.c:319 -#: logsrvd/iolog_writer.c:329 logsrvd/iolog_writer.c:341 -#: logsrvd/iolog_writer.c:377 logsrvd/iolog_writer.c:383 -#: logsrvd/iolog_writer.c:390 logsrvd/iolog_writer.c:396 -#: logsrvd/iolog_writer.c:580 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:323 -#: logsrvd/logsrvd.c:461 logsrvd/logsrvd.c:498 logsrvd/logsrvd.c:530 -#: logsrvd/logsrvd.c:584 logsrvd/logsrvd.c:619 logsrvd/logsrvd.c:668 -#: logsrvd/logsrvd.c:704 logsrvd/logsrvd.c:740 logsrvd/logsrvd.c:1131 -#: logsrvd/logsrvd.c:1446 logsrvd/logsrvd.c:1453 logsrvd/logsrvd.c:1589 -#: logsrvd/logsrvd.c:1594 logsrvd/logsrvd.c:1781 logsrvd/logsrvd.c:2003 +#: logsrvd/iolog_writer.c:317 logsrvd/iolog_writer.c:327 +#: logsrvd/iolog_writer.c:337 logsrvd/iolog_writer.c:349 +#: logsrvd/iolog_writer.c:385 logsrvd/iolog_writer.c:391 +#: logsrvd/iolog_writer.c:398 logsrvd/iolog_writer.c:404 +#: logsrvd/iolog_writer.c:588 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:324 +#: logsrvd/logsrvd.c:462 logsrvd/logsrvd.c:499 logsrvd/logsrvd.c:531 +#: logsrvd/logsrvd.c:585 logsrvd/logsrvd.c:620 logsrvd/logsrvd.c:669 +#: logsrvd/logsrvd.c:705 logsrvd/logsrvd.c:741 logsrvd/logsrvd.c:1132 +#: logsrvd/logsrvd.c:1456 logsrvd/logsrvd.c:1463 logsrvd/logsrvd.c:1599 +#: logsrvd/logsrvd.c:1604 logsrvd/logsrvd.c:1791 logsrvd/logsrvd.c:2046 #: 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 @@ -303,11 +300,11 @@ msgstr "Alias „%s“ je već ranije definiran" #: 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_conf.c:829 logsrvd/logsrvd_conf.c:1041 +#: logsrvd/logsrvd_conf.c:1058 logsrvd/logsrvd_conf.c:1453 +#: logsrvd/logsrvd_conf.c:1600 logsrvd/logsrvd_conf.c:1626 +#: logsrvd/logsrvd_conf.c:1638 logsrvd/logsrvd_conf.c:1645 +#: logsrvd/logsrvd_conf.c:1651 logsrvd/logsrvd_conf.c:1747 #: logsrvd/logsrvd_journal.c:76 logsrvd/logsrvd_journal.c:125 #: logsrvd/logsrvd_journal.c:216 logsrvd/logsrvd_journal.c:246 #: logsrvd/logsrvd_journal.c:250 logsrvd/logsrvd_journal.c:258 @@ -318,8 +315,8 @@ msgstr "Alias „%s“ je već ranije definiran" #: logsrvd/logsrvd_queue.c:158 logsrvd/logsrvd_queue.c:189 #: logsrvd/logsrvd_queue.c:266 logsrvd/sendlog.c:256 logsrvd/sendlog.c:265 #: logsrvd/sendlog.c:297 logsrvd/sendlog.c:303 logsrvd/sendlog.c:352 -#: logsrvd/sendlog.c:630 logsrvd/sendlog.c:1523 logsrvd/sendlog.c:1530 -#: logsrvd/sendlog.c:1753 logsrvd/sendlog.c:1822 logsrvd/tls_init.c:305 +#: logsrvd/sendlog.c:651 logsrvd/sendlog.c:1548 logsrvd/sendlog.c:1555 +#: logsrvd/sendlog.c:1778 logsrvd/sendlog.c:1847 logsrvd/tls_init.c:305 #: logsrvd/tls_init.c:329 logsrvd/tls_init.c:340 plugins/sudoers/audit.c:118 #: plugins/sudoers/auth/pam.c:518 plugins/sudoers/auth/pam.c:697 #: plugins/sudoers/auth/rfc1938.c:112 plugins/sudoers/canon_path.c:129 @@ -330,34 +327,31 @@ msgstr "Alias „%s“ je već ranije definiran" #: plugins/sudoers/cvtsudoers.c:337 plugins/sudoers/cvtsudoers.c:544 #: plugins/sudoers/cvtsudoers.c:697 plugins/sudoers/cvtsudoers.c:715 #: plugins/sudoers/cvtsudoers.c:891 plugins/sudoers/cvtsudoers.c:898 -#: plugins/sudoers/cvtsudoers.c:1395 plugins/sudoers/cvtsudoers.c:1399 -#: plugins/sudoers/cvtsudoers.c:1501 plugins/sudoers/cvtsudoers_csv.c:182 -#: plugins/sudoers/cvtsudoers_csv.c:246 plugins/sudoers/cvtsudoers_json.c:75 -#: plugins/sudoers/cvtsudoers_ldif.c:151 plugins/sudoers/cvtsudoers_ldif.c:194 -#: plugins/sudoers/cvtsudoers_ldif.c:235 plugins/sudoers/cvtsudoers_ldif.c:301 -#: plugins/sudoers/cvtsudoers_ldif.c:377 plugins/sudoers/cvtsudoers_ldif.c:431 -#: plugins/sudoers/cvtsudoers_ldif.c:439 plugins/sudoers/cvtsudoers_ldif.c:450 -#: plugins/sudoers/cvtsudoers_ldif.c:457 plugins/sudoers/cvtsudoers_ldif.c:469 -#: plugins/sudoers/cvtsudoers_ldif.c:482 plugins/sudoers/cvtsudoers_ldif.c:490 -#: plugins/sudoers/cvtsudoers_ldif.c:637 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:455 -#: plugins/sudoers/defaults.c:689 plugins/sudoers/defaults.c:1051 -#: plugins/sudoers/defaults.c:1235 plugins/sudoers/editor.c:198 -#: plugins/sudoers/env.c:263 plugins/sudoers/exptilde.c:92 +#: plugins/sudoers/cvtsudoers.c:1393 plugins/sudoers/cvtsudoers.c:1397 +#: plugins/sudoers/cvtsudoers.c:1497 plugins/sudoers/cvtsudoers_csv.c:182 +#: plugins/sudoers/cvtsudoers_csv.c:255 plugins/sudoers/cvtsudoers_json.c:604 +#: plugins/sudoers/cvtsudoers_json.c:639 plugins/sudoers/cvtsudoers_json.c:1016 +#: plugins/sudoers/cvtsudoers_json.c:1041 plugins/sudoers/cvtsudoers_ldif.c:112 +#: plugins/sudoers/cvtsudoers_ldif.c:144 plugins/sudoers/cvtsudoers_ldif.c:260 +#: plugins/sudoers/cvtsudoers_ldif.c:573 plugins/sudoers/cvtsudoers_ldif.c:586 +#: plugins/sudoers/cvtsudoers_ldif.c:591 plugins/sudoers/cvtsudoers_ldif.c:761 +#: plugins/sudoers/cvtsudoers_merge.c:57 plugins/sudoers/cvtsudoers_merge.c:357 +#: plugins/sudoers/cvtsudoers_merge.c:405 +#: plugins/sudoers/cvtsudoers_merge.c:453 +#: plugins/sudoers/cvtsudoers_merge.c:475 +#: plugins/sudoers/cvtsudoers_merge.c:583 +#: plugins/sudoers/cvtsudoers_merge.c:588 +#: plugins/sudoers/cvtsudoers_merge.c:661 +#: plugins/sudoers/cvtsudoers_merge.c:664 +#: plugins/sudoers/cvtsudoers_merge.c:1196 +#: plugins/sudoers/cvtsudoers_merge.c:1281 plugins/sudoers/defaults.c:455 +#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1062 +#: plugins/sudoers/defaults.c:1248 plugins/sudoers/editor.c:198 +#: plugins/sudoers/env.c:280 plugins/sudoers/exptilde.c:92 #: plugins/sudoers/filedigest.c:66 plugins/sudoers/filedigest.c:70 #: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:211 -#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268 -#: plugins/sudoers/iolog.c:675 plugins/sudoers/iolog.c:703 +#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:270 +#: plugins/sudoers/iolog.c:683 plugins/sudoers/iolog.c:711 #: plugins/sudoers/ldap.c:161 plugins/sudoers/ldap.c:448 #: plugins/sudoers/ldap.c:625 plugins/sudoers/ldap.c:789 #: plugins/sudoers/ldap.c:1214 plugins/sudoers/ldap.c:1642 @@ -367,26 +361,26 @@ msgstr "Alias „%s“ je već ranije definiran" #: plugins/sudoers/ldap_conf.c:299 plugins/sudoers/ldap_conf.c:335 #: plugins/sudoers/ldap_conf.c:441 plugins/sudoers/ldap_conf.c:456 #: plugins/sudoers/ldap_conf.c:565 plugins/sudoers/ldap_conf.c:598 -#: plugins/sudoers/ldap_conf.c:693 plugins/sudoers/ldap_conf.c:776 +#: plugins/sudoers/ldap_conf.c:695 plugins/sudoers/ldap_conf.c:778 #: 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:717 -#: plugins/sudoers/log_client.c:739 plugins/sudoers/log_client.c:744 -#: plugins/sudoers/log_client.c:1426 plugins/sudoers/log_client.c:1547 -#: plugins/sudoers/log_client.c:1670 plugins/sudoers/log_client.c:1993 -#: plugins/sudoers/log_client.c:2052 plugins/sudoers/logging.c:110 +#: plugins/sudoers/ldap_util.c:615 plugins/sudoers/linux_audit.c:86 +#: plugins/sudoers/log_client.c:117 plugins/sudoers/log_client.c:237 +#: plugins/sudoers/log_client.c:259 plugins/sudoers/log_client.c:273 +#: plugins/sudoers/log_client.c:411 plugins/sudoers/log_client.c:726 +#: plugins/sudoers/log_client.c:748 plugins/sudoers/log_client.c:753 +#: plugins/sudoers/log_client.c:1449 plugins/sudoers/log_client.c:1570 +#: plugins/sudoers/log_client.c:1693 plugins/sudoers/log_client.c:2018 +#: plugins/sudoers/log_client.c:2077 plugins/sudoers/logging.c:110 #: plugins/sudoers/logging.c:189 plugins/sudoers/logging.c:190 -#: plugins/sudoers/logging.c:475 plugins/sudoers/logging.c:711 -#: plugins/sudoers/logging.c:755 plugins/sudoers/logging.c:872 -#: plugins/sudoers/logging.c:925 plugins/sudoers/logging.c:932 -#: plugins/sudoers/lookup.c:337 plugins/sudoers/lookup.c:354 -#: plugins/sudoers/lookup.c:373 plugins/sudoers/lookup.c:392 -#: plugins/sudoers/lookup.c:409 plugins/sudoers/lookup.c:432 -#: plugins/sudoers/lookup.c:443 plugins/sudoers/match_command.c:301 -#: plugins/sudoers/match_command.c:573 plugins/sudoers/match_command.c:640 -#: plugins/sudoers/match_command.c:737 plugins/sudoers/match_command.c:784 +#: plugins/sudoers/logging.c:483 plugins/sudoers/logging.c:723 +#: plugins/sudoers/logging.c:763 plugins/sudoers/logging.c:880 +#: plugins/sudoers/logging.c:933 plugins/sudoers/logging.c:940 +#: plugins/sudoers/lookup.c:330 plugins/sudoers/lookup.c:347 +#: plugins/sudoers/lookup.c:365 plugins/sudoers/lookup.c:383 +#: plugins/sudoers/lookup.c:400 plugins/sudoers/lookup.c:422 +#: plugins/sudoers/lookup.c:433 plugins/sudoers/match_command.c:279 +#: plugins/sudoers/match_command.c:543 plugins/sudoers/match_command.c:607 +#: plugins/sudoers/match_command.c:702 plugins/sudoers/match_command.c:749 #: plugins/sudoers/match_digest.c:88 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 @@ -397,52 +391,52 @@ msgstr "Alias „%s“ je već ranije definiran" #: plugins/sudoers/parse_ldif.c:595 plugins/sudoers/parse_ldif.c:624 #: plugins/sudoers/parse_ldif.c:649 plugins/sudoers/parse_ldif.c:707 #: plugins/sudoers/parse_ldif.c:724 plugins/sudoers/parse_ldif.c:752 -#: plugins/sudoers/parse_ldif.c:759 plugins/sudoers/policy.c:157 -#: plugins/sudoers/policy.c:166 plugins/sudoers/policy.c:175 -#: plugins/sudoers/policy.c:204 plugins/sudoers/policy.c:374 -#: plugins/sudoers/policy.c:390 plugins/sudoers/policy.c:392 -#: plugins/sudoers/policy.c:430 plugins/sudoers/policy.c:439 -#: plugins/sudoers/policy.c:448 plugins/sudoers/policy.c:457 -#: plugins/sudoers/policy.c:493 plugins/sudoers/policy.c:502 -#: plugins/sudoers/policy.c:511 plugins/sudoers/policy.c:520 -#: plugins/sudoers/policy.c:529 plugins/sudoers/policy.c:538 -#: plugins/sudoers/policy.c:547 plugins/sudoers/policy.c:646 -#: plugins/sudoers/policy.c:1061 plugins/sudoers/prompt.c:94 +#: plugins/sudoers/parse_ldif.c:759 plugins/sudoers/policy.c:152 +#: plugins/sudoers/policy.c:161 plugins/sudoers/policy.c:170 +#: plugins/sudoers/policy.c:199 plugins/sudoers/policy.c:357 +#: plugins/sudoers/policy.c:373 plugins/sudoers/policy.c:375 +#: plugins/sudoers/policy.c:414 plugins/sudoers/policy.c:423 +#: plugins/sudoers/policy.c:432 plugins/sudoers/policy.c:441 +#: plugins/sudoers/policy.c:492 plugins/sudoers/policy.c:501 +#: plugins/sudoers/policy.c:510 plugins/sudoers/policy.c:519 +#: plugins/sudoers/policy.c:528 plugins/sudoers/policy.c:537 +#: plugins/sudoers/policy.c:546 plugins/sudoers/policy.c:654 +#: plugins/sudoers/policy.c:1071 plugins/sudoers/prompt.c:94 #: plugins/sudoers/pwutil.c:219 plugins/sudoers/pwutil.c:290 #: plugins/sudoers/pwutil.c:368 plugins/sudoers/pwutil.c:542 #: plugins/sudoers/pwutil.c:607 plugins/sudoers/pwutil.c:679 -#: plugins/sudoers/pwutil.c:877 plugins/sudoers/pwutil.c:967 -#: plugins/sudoers/pwutil.c:1015 plugins/sudoers/pwutil.c:1076 +#: plugins/sudoers/pwutil.c:877 plugins/sudoers/pwutil.c:970 +#: plugins/sudoers/pwutil.c:1018 plugins/sudoers/pwutil.c:1082 #: plugins/sudoers/set_perms.c:374 plugins/sudoers/set_perms.c:723 #: plugins/sudoers/set_perms.c:1096 plugins/sudoers/set_perms.c:1409 -#: plugins/sudoers/set_perms.c:1579 plugins/sudoers/sethost.c:85 +#: plugins/sudoers/set_perms.c:1579 plugins/sudoers/sethost.c:89 #: plugins/sudoers/sssd.c:144 plugins/sudoers/sssd.c:186 #: plugins/sudoers/sssd.c:415 plugins/sudoers/sssd.c:480 #: plugins/sudoers/sssd.c:507 plugins/sudoers/sssd.c:570 #: plugins/sudoers/sssd.c:765 plugins/sudoers/strvec_join.c:53 #: plugins/sudoers/sudoers.c:405 plugins/sudoers/sudoers.c:412 -#: plugins/sudoers/sudoers.c:656 plugins/sudoers/sudoers.c:666 -#: plugins/sudoers/sudoers.c:811 plugins/sudoers/sudoers.c:877 -#: plugins/sudoers/sudoers.c:936 plugins/sudoers/sudoers.c:985 -#: plugins/sudoers/sudoers.c:1144 plugins/sudoers/sudoers.c:1213 -#: plugins/sudoers/sudoers.c:1306 plugins/sudoers/sudoers_cb.c:150 +#: plugins/sudoers/sudoers.c:673 plugins/sudoers/sudoers.c:683 +#: plugins/sudoers/sudoers.c:828 plugins/sudoers/sudoers.c:894 +#: plugins/sudoers/sudoers.c:953 plugins/sudoers/sudoers.c:1002 +#: plugins/sudoers/sudoers.c:1162 plugins/sudoers/sudoers.c:1231 +#: plugins/sudoers/sudoers.c:1324 plugins/sudoers/sudoers_cb.c:150 #: plugins/sudoers/sudoreplay.c:559 plugins/sudoers/sudoreplay.c:562 -#: plugins/sudoers/sudoreplay.c:1279 plugins/sudoers/sudoreplay.c:1335 -#: plugins/sudoers/sudoreplay.c:1531 plugins/sudoers/sudoreplay.c:1535 +#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1337 +#: plugins/sudoers/sudoreplay.c:1533 plugins/sudoers/sudoreplay.c:1537 #: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:255 #: plugins/sudoers/testsudoers.c:264 plugins/sudoers/testsudoers.c:275 #: plugins/sudoers/testsudoers.c:282 plugins/sudoers/testsudoers.c:302 -#: plugins/sudoers/testsudoers.c:758 plugins/sudoers/timestamp.c:469 -#: plugins/sudoers/timestamp.c:513 plugins/sudoers/timestamp.c:1042 -#: plugins/sudoers/timestamp.c:1216 plugins/sudoers/toke_util.c:79 +#: plugins/sudoers/testsudoers.c:756 plugins/sudoers/timestamp.c:468 +#: plugins/sudoers/timestamp.c:514 plugins/sudoers/timestamp.c:1045 +#: plugins/sudoers/timestamp.c:1248 plugins/sudoers/toke_util.c:79 #: plugins/sudoers/toke_util.c:108 plugins/sudoers/toke_util.c:134 #: plugins/sudoers/toke_util.c:163 plugins/sudoers/toke_util.c:204 -#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:151 +#: plugins/sudoers/tsdump.c:136 plugins/sudoers/visudo.c:151 #: plugins/sudoers/visudo.c:258 plugins/sudoers/visudo.c:383 #: plugins/sudoers/visudo.c:389 plugins/sudoers/visudo.c:501 #: plugins/sudoers/visudo.c:1073 plugins/sudoers/visudo.c:1094 -#: plugins/sudoers/visudo.c:1189 toke.l:1031 toke.l:1194 toke.l:1213 -#: toke.l:1240 toke.l:1309 toke.l:1320 +#: plugins/sudoers/visudo.c:1189 toke.l:1011 toke.l:1174 toke.l:1193 +#: toke.l:1220 toke.l:1289 toke.l:1300 #, c-format msgid "%s: %s" msgstr "%s: %s" @@ -471,12 +465,12 @@ msgstr "nije moguće stvoriti novi proces (greška u fork()): %m" msgid "unable to open pipe: %m" msgstr "nije moguće otvoriti cijev: %m" -#: lib/eventlog/eventlog.c:1000 +#: lib/eventlog/eventlog.c:1013 #, c-format msgid "%8s : %s" msgstr "%8s : %s" -#: lib/eventlog/eventlog.c:1029 +#: lib/eventlog/eventlog.c:1042 #, c-format msgid "%8s : (command continued) %s" msgstr "%8s : (naredba se nastavlja) %s" @@ -490,73 +484,73 @@ msgstr "očekivan je JSON_STRING, dobiven je %d" msgid "JSON_ARRAY too large" msgstr "JSON_ARRAY je prevelik" -#: lib/eventlog/parse_json.c:506 +#: lib/eventlog/parse_json.c:523 msgid "missing double quote in name" -msgstr "imenu nedostaje navodnik (\")" +msgstr "u imenu nema navodnika (\")" -#: lib/eventlog/parse_json.c:624 +#: lib/eventlog/parse_json.c:641 msgid "missing JSON_OBJECT" -msgstr "nedostaje JSON_OBJECT" +msgstr "nema JSON_OBJECT" -#: lib/eventlog/parse_json.c:628 +#: lib/eventlog/parse_json.c:645 #, c-format msgid "expected JSON_OBJECT, got %d" msgstr "očekivan je JSON_OBJECT, dobiven je %d" -#: lib/eventlog/parse_json.c:762 +#: lib/eventlog/parse_json.c:779 #, c-format msgid "json stack exhausted (max %u frames)" msgstr "json stog je potrošen (max %u okvira)" -#: lib/eventlog/parse_json.c:840 +#: lib/eventlog/parse_json.c:857 msgid "objects must consist of name:value pairs" msgstr "objekti se moraju sastojati od parova ime:vrijednost" -#: lib/eventlog/parse_json.c:845 lib/eventlog/parse_json.c:876 -#: lib/eventlog/parse_json.c:920 lib/eventlog/parse_json.c:942 -#: lib/eventlog/parse_json.c:964 lib/eventlog/parse_json.c:986 -#: lib/eventlog/parse_json.c:1008 +#: lib/eventlog/parse_json.c:862 lib/eventlog/parse_json.c:893 +#: lib/eventlog/parse_json.c:937 lib/eventlog/parse_json.c:959 +#: lib/eventlog/parse_json.c:981 lib/eventlog/parse_json.c:1003 +#: lib/eventlog/parse_json.c:1025 msgid "missing separator between values" -msgstr "nedostaje separator između vrijednosti" +msgstr "nema separatora između vrijednosti" -#: lib/eventlog/parse_json.c:860 lib/eventlog/parse_json.c:1034 +#: lib/eventlog/parse_json.c:877 lib/eventlog/parse_json.c:1051 msgid "unmatched close brace" msgstr "nesparena zatvorena vitičasta zagrada }" -#: lib/eventlog/parse_json.c:871 +#: lib/eventlog/parse_json.c:888 msgid "unexpected array" msgstr "neočekivano polje" -#: lib/eventlog/parse_json.c:891 lib/eventlog/parse_json.c:1037 +#: lib/eventlog/parse_json.c:908 lib/eventlog/parse_json.c:1054 msgid "unmatched close bracket" msgstr "nesparena zatvorena uglata zagrada ]" -#: lib/eventlog/parse_json.c:902 +#: lib/eventlog/parse_json.c:919 msgid "unexpected string" msgstr "neočekivani string" -#: lib/eventlog/parse_json.c:913 +#: lib/eventlog/parse_json.c:930 msgid "missing colon after name" -msgstr "nedostaje dvotočka iza imena" +msgstr "nema dvotočke iza imena" -#: lib/eventlog/parse_json.c:934 lib/eventlog/parse_json.c:956 +#: lib/eventlog/parse_json.c:951 lib/eventlog/parse_json.c:973 msgid "unexpected boolean" msgstr "neočekivana logička operacija (boolean)" -#: lib/eventlog/parse_json.c:978 +#: lib/eventlog/parse_json.c:995 msgid "unexpected null" msgstr "neočekivana nula" -#: lib/eventlog/parse_json.c:999 +#: lib/eventlog/parse_json.c:1016 msgid "unexpected number" msgstr "neočekivani broj" -#: lib/eventlog/parse_json.c:1045 +#: lib/eventlog/parse_json.c:1062 msgid "parse error" msgstr "greška u raščlambi" -#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1290 -#: plugins/sudoers/sudoreplay.c:1291 plugins/sudoers/sudoreplay.c:1587 +#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1303 +#: plugins/sudoers/sudoreplay.c:1293 plugins/sudoers/sudoreplay.c:1589 #, c-format msgid "invalid regular expression \"%s\": %s" msgstr "nevaljani regularni izraz: „%s“: %s" @@ -569,7 +563,7 @@ msgstr "%s: nevaljana dnevnička datoteka" #: lib/iolog/iolog_legacy.c:83 #, c-format msgid "%s: time stamp field is missing" -msgstr "%s: nedostaje polje za vremensku oznaku" +msgstr "%s: nema polja za vremensku oznaku" #: lib/iolog/iolog_legacy.c:90 #, c-format @@ -579,25 +573,25 @@ msgstr "%s: vremenska oznaka %s: %s" #: lib/iolog/iolog_legacy.c:97 #, c-format msgid "%s: user field is missing" -msgstr "%s: nedostaje polje za korisnika" +msgstr "%s: nema polja za korisnika" #: lib/iolog/iolog_legacy.c:108 #, c-format msgid "%s: runas user field is missing" -msgstr "%s: nedostaje polje za runas-korisnika" +msgstr "%s: nema polja za runas-korisnika" #: lib/iolog/iolog_legacy.c:119 #, c-format msgid "%s: runas group field is missing" -msgstr "%s: nedostaje polje za runas-grupe" +msgstr "%s: nema polja za runas-grupe" #: lib/iolog/iolog_mkdirs.c:89 #, c-format msgid "%s exists but is not a directory (0%o)" msgstr "%s postoji ali nije direktorij (0%o)" -#: lib/iolog/iolog_mkdirs.c:124 lib/iolog/iolog_mkdtemp.c:80 -#: logsrvd/iolog_writer.c:795 plugins/sudoers/timestamp.c:218 +#: lib/iolog/iolog_mkdirs.c:125 lib/iolog/iolog_mkdtemp.c:80 +#: logsrvd/iolog_writer.c:803 plugins/sudoers/timestamp.c:218 #, c-format msgid "unable to mkdir %s" msgstr "nije moguće napraviti direktorij %s" @@ -635,90 +629,90 @@ msgstr "%s: greška u protokolu : krivi tip za %s" msgid "%s: protocol error: NULL value found in %s" msgstr "%s: greška u protokolu : u %s je pronađena NULL vrijednost" -#: logsrvd/iolog_writer.c:141 plugins/sudoers/logging.c:1024 -#: plugins/sudoers/policy.c:613 +#: logsrvd/iolog_writer.c:141 plugins/sudoers/logging.c:1035 +#: plugins/sudoers/policy.c:621 msgid "unable to generate UUID" msgstr "nije moguće generirati UUID" -#: logsrvd/iolog_writer.c:354 logsrvd/iolog_writer.c:359 -#: logsrvd/iolog_writer.c:364 logsrvd/iolog_writer.c:369 +#: logsrvd/iolog_writer.c:362 logsrvd/iolog_writer.c:367 +#: logsrvd/iolog_writer.c:372 logsrvd/iolog_writer.c:377 #, c-format msgid "%s: protocol error: %s missing from AcceptMessage" -msgstr "%s: greška u protokolu : %s nedostaje u AcceptMessage" +msgstr "%s: greška u protokolu : nema %s u AcceptMessage" -#: logsrvd/iolog_writer.c:430 +#: logsrvd/iolog_writer.c:438 #, c-format msgid "%s: unable to format session id" msgstr "%s: nije moguće oblikovati id sesije" -#: logsrvd/iolog_writer.c:444 logsrvd/iolog_writer.c:458 -#: logsrvd/iolog_writer.c:472 logsrvd/iolog_writer.c:487 -#: logsrvd/iolog_writer.c:501 logsrvd/iolog_writer.c:515 +#: logsrvd/iolog_writer.c:452 logsrvd/iolog_writer.c:466 +#: logsrvd/iolog_writer.c:480 logsrvd/iolog_writer.c:495 +#: logsrvd/iolog_writer.c:509 logsrvd/iolog_writer.c:523 #, c-format msgid "%s: %s is not set" msgstr "%s: %s nije postavljen" -#: logsrvd/iolog_writer.c:551 logsrvd/iolog_writer.c:558 +#: logsrvd/iolog_writer.c:559 logsrvd/iolog_writer.c:566 #, c-format msgid "unable to expand iolog path %s" msgstr "nije moguće proširiti stazu iolog (I/O FD) %s" -#: logsrvd/iolog_writer.c:576 +#: logsrvd/iolog_writer.c:584 #, c-format msgid "unable to create iolog path %s" msgstr "nije moguće stvoriti stazu iolog (I/O FD) %s" -#: logsrvd/iolog_writer.c:606 +#: logsrvd/iolog_writer.c:614 #, c-format msgid "invalid iofd %d" msgstr "nevaljani iofd (I/O FD) %d" -#: logsrvd/iolog_writer.c:626 +#: logsrvd/iolog_writer.c:634 #, c-format msgid "error closing iofd %u: %s" msgstr "greška pri zatvaranju iofd (I/O FD) %u: %s" -#: logsrvd/iolog_writer.c:647 +#: logsrvd/iolog_writer.c:655 #, c-format msgid "error flushing iofd %u: %s" msgstr "greška brisanja iofd %u: %s" -#: logsrvd/iolog_writer.c:765 +#: logsrvd/iolog_writer.c:773 #, c-format msgid "invalid I/O log %s: %s referenced but not present" msgstr "nevaljani U/I zapis %s: %s ima referenciju ali ne postoji" -#: logsrvd/iolog_writer.c:777 logsrvd/logsrvd_journal.c:391 +#: logsrvd/iolog_writer.c:785 logsrvd/logsrvd_journal.c:391 #, c-format msgid "%s: unable to find resume point [%lld, %ld]" msgstr "%s: nije moguće naći točku [%lld, %ld] od koje treba nastaviti" -#: logsrvd/iolog_writer.c:799 logsrvd/logsrvd_journal.c:434 +#: logsrvd/iolog_writer.c:807 logsrvd/logsrvd_journal.c:434 #: logsrvd/logsrvd_queue.c:115 logsrvd/tls_init.c:256 -#: plugins/sudoers/check.c:285 plugins/sudoers/cvtsudoers.c:758 -#: plugins/sudoers/cvtsudoers.c:780 plugins/sudoers/cvtsudoers.c:1461 -#: plugins/sudoers/cvtsudoers_csv.c:697 plugins/sudoers/cvtsudoers_json.c:902 -#: plugins/sudoers/cvtsudoers_ldif.c:711 plugins/sudoers/sudoers.c:1291 -#: plugins/sudoers/sudoers.c:1317 plugins/sudoers/sudoreplay.c:1497 -#: plugins/sudoers/timestamp.c:478 plugins/sudoers/tsdump.c:128 +#: plugins/sudoers/check.c:278 plugins/sudoers/cvtsudoers.c:758 +#: plugins/sudoers/cvtsudoers.c:780 plugins/sudoers/cvtsudoers.c:1457 +#: plugins/sudoers/cvtsudoers_csv.c:722 plugins/sudoers/cvtsudoers_json.c:1034 +#: plugins/sudoers/cvtsudoers_ldif.c:753 plugins/sudoers/sudoers.c:1309 +#: plugins/sudoers/sudoers.c:1335 plugins/sudoers/sudoreplay.c:1499 +#: plugins/sudoers/timestamp.c:477 plugins/sudoers/tsdump.c:141 #: plugins/sudoers/visudo.c:990 #, c-format msgid "unable to open %s" msgstr "nije moguće otvoriti %s" -#: logsrvd/iolog_writer.c:811 logsrvd/logsrv_util.c:111 +#: logsrvd/iolog_writer.c:819 logsrvd/logsrv_util.c:111 #: logsrvd/logsrv_util.c:118 plugins/sudoers/sudoreplay.c:355 #: plugins/sudoers/sudoreplay.c:361 #, c-format msgid "unable to open %s/%s" msgstr "nije moguće otvoriti %s/%s" -#: logsrvd/iolog_writer.c:824 +#: logsrvd/iolog_writer.c:832 #, c-format msgid "unable to copy %s/%s to %s/%s: %s" msgstr "nije moguće kopirati %s/%s u %s/%s: %s" -#: logsrvd/iolog_writer.c:853 logsrvd/logsrvd_journal.c:198 +#: logsrvd/iolog_writer.c:861 logsrvd/logsrvd_journal.c:198 #, c-format msgid "unable to rename %s to %s" msgstr "nije moguće preimenovati %s u %s" @@ -738,209 +732,209 @@ msgstr "nema dnevničke datoteke U/I %s/%s" msgid "%s/%s: unable to seek forward %zu" msgstr "%s/%s: nije moguće skočiti naprijed na %zu" -#: logsrvd/logsrvd.c:271 logsrvd/logsrvd_queue.c:135 +#: logsrvd/logsrvd.c:272 logsrvd/logsrvd_queue.c:135 msgid "unable to connect to relay" msgstr "nije moguće spojiti se na relej" -#: logsrvd/logsrvd.c:338 logsrvd/logsrvd_relay.c:847 +#: logsrvd/logsrvd.c:339 logsrvd/logsrvd_relay.c:847 #, c-format msgid "server message too large: %zu" msgstr "poruka servera je prevelika: %zu" -#: logsrvd/logsrvd.c:430 logsrvd/logsrvd.c:553 logsrvd/logsrvd.c:639 -#: logsrvd/logsrvd.c:881 logsrvd/logsrvd.c:895 logsrvd/logsrvd.c:1056 -#: logsrvd/logsrvd.c:1181 logsrvd/logsrvd.c:1354 logsrvd/logsrvd.c:1372 -#: logsrvd/logsrvd.c:1471 logsrvd/logsrvd.c:1596 logsrvd/logsrvd.c:1783 +#: logsrvd/logsrvd.c:431 logsrvd/logsrvd.c:554 logsrvd/logsrvd.c:640 +#: logsrvd/logsrvd.c:882 logsrvd/logsrvd.c:896 logsrvd/logsrvd.c:1057 +#: logsrvd/logsrvd.c:1182 logsrvd/logsrvd.c:1364 logsrvd/logsrvd.c:1382 +#: logsrvd/logsrvd.c:1481 logsrvd/logsrvd.c:1606 logsrvd/logsrvd.c:1793 #: logsrvd/logsrvd_journal.c:503 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:391 logsrvd/logsrvd_relay.c:583 #: logsrvd/logsrvd_relay.c:747 logsrvd/logsrvd_relay.c:1137 -#: logsrvd/sendlog.c:1308 logsrvd/tls_client.c:136 logsrvd/tls_client.c:152 -#: logsrvd/tls_client.c:216 plugins/sudoers/audit.c:281 -#: plugins/sudoers/iolog.c:1041 plugins/sudoers/iolog.c:1175 -#: plugins/sudoers/iolog.c:1274 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:613 -#: plugins/sudoers/log_client.c:620 plugins/sudoers/log_client.c:1114 -#: plugins/sudoers/log_client.c:1395 plugins/sudoers/log_client.c:1436 -#: plugins/sudoers/log_client.c:1444 plugins/sudoers/log_client.c:1603 -#: plugins/sudoers/log_client.c:1728 plugins/sudoers/log_client.c:2060 -#: plugins/sudoers/log_client.c:2068 plugins/sudoers/logging.c:148 +#: logsrvd/sendlog.c:1333 logsrvd/tls_client.c:145 logsrvd/tls_client.c:161 +#: logsrvd/tls_client.c:225 plugins/sudoers/audit.c:281 +#: plugins/sudoers/iolog.c:1049 plugins/sudoers/iolog.c:1183 +#: plugins/sudoers/iolog.c:1282 plugins/sudoers/log_client.c:121 +#: plugins/sudoers/log_client.c:352 plugins/sudoers/log_client.c:368 +#: plugins/sudoers/log_client.c:416 plugins/sudoers/log_client.c:622 +#: plugins/sudoers/log_client.c:629 plugins/sudoers/log_client.c:1137 +#: plugins/sudoers/log_client.c:1418 plugins/sudoers/log_client.c:1459 +#: plugins/sudoers/log_client.c:1467 plugins/sudoers/log_client.c:1626 +#: plugins/sudoers/log_client.c:1751 plugins/sudoers/log_client.c:2085 +#: plugins/sudoers/log_client.c:2093 plugins/sudoers/logging.c:148 #: plugins/sudoers/logging.c:206 plugins/sudoers/sudoreplay.c:519 -#: plugins/sudoers/sudoreplay.c:566 plugins/sudoers/sudoreplay.c:808 -#: plugins/sudoers/sudoreplay.c:920 plugins/sudoers/sudoreplay.c:1011 -#: plugins/sudoers/sudoreplay.c:1026 plugins/sudoers/sudoreplay.c:1033 -#: plugins/sudoers/sudoreplay.c:1040 plugins/sudoers/sudoreplay.c:1047 -#: plugins/sudoers/sudoreplay.c:1054 plugins/sudoers/sudoreplay.c:1182 +#: plugins/sudoers/sudoreplay.c:566 plugins/sudoers/sudoreplay.c:810 +#: plugins/sudoers/sudoreplay.c:922 plugins/sudoers/sudoreplay.c:1013 +#: plugins/sudoers/sudoreplay.c:1028 plugins/sudoers/sudoreplay.c:1035 +#: plugins/sudoers/sudoreplay.c:1042 plugins/sudoers/sudoreplay.c:1049 +#: plugins/sudoers/sudoreplay.c:1056 plugins/sudoers/sudoreplay.c:1184 msgid "unable to add event to queue" msgstr "nije moguće dodati događaj u red čekanja" -#: logsrvd/logsrvd.c:454 logsrvd/logsrvd.c:491 logsrvd/logsrvd.c:523 -#: logsrvd/logsrvd.c:577 logsrvd/logsrvd.c:656 logsrvd/logsrvd.c:692 -#: logsrvd/logsrvd.c:728 logsrvd/logsrvd.c:764 logsrvd/logsrvd_relay.c:512 +#: logsrvd/logsrvd.c:455 logsrvd/logsrvd.c:492 logsrvd/logsrvd.c:524 +#: logsrvd/logsrvd.c:578 logsrvd/logsrvd.c:657 logsrvd/logsrvd.c:693 +#: logsrvd/logsrvd.c:729 logsrvd/logsrvd.c:765 logsrvd/logsrvd_relay.c:512 #: logsrvd/logsrvd_relay.c:545 #, c-format msgid "unexpected state %d for %s" msgstr "neočekivano stanje %d za %s" -#: logsrvd/logsrvd.c:455 logsrvd/logsrvd.c:492 logsrvd/logsrvd.c:524 -#: logsrvd/logsrvd.c:578 logsrvd/logsrvd.c:657 logsrvd/logsrvd.c:693 -#: logsrvd/logsrvd.c:729 logsrvd/logsrvd.c:765 logsrvd/logsrvd_relay.c:514 +#: logsrvd/logsrvd.c:456 logsrvd/logsrvd.c:493 logsrvd/logsrvd.c:525 +#: logsrvd/logsrvd.c:579 logsrvd/logsrvd.c:658 logsrvd/logsrvd.c:694 +#: logsrvd/logsrvd.c:730 logsrvd/logsrvd.c:766 logsrvd/logsrvd_relay.c:514 #: logsrvd/logsrvd_relay.c:547 msgid "state machine error" msgstr "greška automata (state machine)" -#: logsrvd/logsrvd.c:461 logsrvd/logsrvd.c:462 +#: logsrvd/logsrvd.c:462 logsrvd/logsrvd.c:463 msgid "invalid AcceptMessage" msgstr "nevaljani AcceptMessage" -#: logsrvd/logsrvd.c:498 logsrvd/logsrvd.c:499 +#: logsrvd/logsrvd.c:499 logsrvd/logsrvd.c:500 msgid "invalid RejectMessage" msgstr "nevaljani RejectMessage" -#: logsrvd/logsrvd.c:530 logsrvd/logsrvd.c:531 +#: logsrvd/logsrvd.c:531 logsrvd/logsrvd.c:532 msgid "invalid ExitMessage" msgstr "nevaljani ExitMessage" -#: logsrvd/logsrvd.c:584 logsrvd/logsrvd.c:585 +#: logsrvd/logsrvd.c:585 logsrvd/logsrvd.c:586 msgid "invalid RestartMessage" msgstr "nevaljani RestartMessage" -#: logsrvd/logsrvd.c:619 logsrvd/logsrvd.c:620 +#: logsrvd/logsrvd.c:620 logsrvd/logsrvd.c:621 msgid "invalid AlertMessage" msgstr "nevaljani AlertMessage" -#: logsrvd/logsrvd.c:661 logsrvd/logsrvd.c:697 logsrvd/logsrvd.c:733 +#: logsrvd/logsrvd.c:662 logsrvd/logsrvd.c:698 logsrvd/logsrvd.c:734 #, c-format msgid "%s: unexpected IoBuffer" msgstr "%s: neočekivani IoBuffer" -#: logsrvd/logsrvd.c:662 logsrvd/logsrvd.c:698 logsrvd/logsrvd.c:734 +#: logsrvd/logsrvd.c:663 logsrvd/logsrvd.c:699 logsrvd/logsrvd.c:735 msgid "protocol error" msgstr "greška protokola" -#: logsrvd/logsrvd.c:668 logsrvd/logsrvd.c:669 +#: logsrvd/logsrvd.c:669 logsrvd/logsrvd.c:670 msgid "invalid IoBuffer" msgstr "nevaljani IoBuffer" -#: logsrvd/logsrvd.c:704 logsrvd/logsrvd.c:705 +#: logsrvd/logsrvd.c:705 logsrvd/logsrvd.c:706 msgid "invalid ChangeWindowSize" msgstr "nevaljani ChangeWindowSize" -#: logsrvd/logsrvd.c:740 logsrvd/logsrvd.c:741 +#: logsrvd/logsrvd.c:741 logsrvd/logsrvd.c:742 msgid "invalid CommandSuspend" msgstr "nevaljani CommandSuspend" -#: logsrvd/logsrvd.c:790 logsrvd/logsrvd_journal.c:302 -#: logsrvd/logsrvd_relay.c:654 logsrvd/sendlog.c:1207 -#: plugins/sudoers/log_client.c:1593 +#: logsrvd/logsrvd.c:791 logsrvd/logsrvd_journal.c:302 +#: logsrvd/logsrvd_relay.c:654 logsrvd/sendlog.c:1232 +#: plugins/sudoers/log_client.c:1616 #, c-format msgid "unable to unpack %s size %zu" msgstr "nije moguće raspakirati %s veličinu %zu" -#: logsrvd/logsrvd.c:835 logsrvd/logsrvd_journal.c:376 +#: logsrvd/logsrvd.c:836 logsrvd/logsrvd_journal.c:376 #: logsrvd/logsrvd_relay.c:678 #, c-format msgid "unexpected type_case value %d in %s from %s" msgstr "neočekivana type_case vrijednost %d u %s iz %s" -#: logsrvd/logsrvd.c:837 +#: logsrvd/logsrvd.c:838 msgid "unrecognized ClientMessage type" msgstr "neprepoznati tip ClientMessage-a" -#: logsrvd/logsrvd.c:927 +#: logsrvd/logsrvd.c:928 #, c-format msgid "timed out writing to client %s" msgstr "vrijeme za pisanje klijentu %s je isteklo" -#: logsrvd/logsrvd.c:932 logsrvd/logsrvd_relay.c:919 logsrvd/sendlog.c:1413 +#: logsrvd/logsrvd.c:933 logsrvd/logsrvd_relay.c:919 logsrvd/sendlog.c:1438 #, c-format msgid "missing write buffer for client %s" msgstr "nema međuspremnika za pisanje za %s klijenta" -#: logsrvd/logsrvd.c:1027 +#: logsrvd/logsrvd.c:1028 #, c-format msgid "timed out reading from client %s" msgstr "isteklo je vrijeme za čitanje od %s klijenta" -#: logsrvd/logsrvd.c:1068 logsrvd/logsrvd_relay.c:782 +#: logsrvd/logsrvd.c:1069 logsrvd/logsrvd_relay.c:782 #, c-format msgid "EOF from %s without proper TLS shutdown" msgstr "EOF od %s nije propisno zatvaranje TLS-a" -#: logsrvd/logsrvd.c:1112 logsrvd/logsrvd_relay.c:205 logsrvd/sendlog.c:336 -#: plugins/sudoers/log_client.c:723 +#: logsrvd/logsrvd.c:1113 logsrvd/logsrvd_relay.c:205 logsrvd/sendlog.c:336 +#: plugins/sudoers/log_client.c:732 #, c-format msgid "client message too large: %zu" msgstr "poruka klijenta je prevelika: %zu" -#: logsrvd/logsrvd.c:1113 logsrvd/logsrvd_journal.c:259 +#: logsrvd/logsrvd.c:1114 logsrvd/logsrvd_journal.c:259 #: logsrvd/logsrvd_journal.c:260 msgid "client message too large" msgstr "poruka klijenta je prevelika" -#: logsrvd/logsrvd.c:1131 logsrvd/logsrvd.c:1132 +#: logsrvd/logsrvd.c:1132 logsrvd/logsrvd.c:1133 msgid "invalid ClientMessage" msgstr "nevaljana ClientMessage" -#: logsrvd/logsrvd.c:1432 +#: logsrvd/logsrvd.c:1442 msgid "unable to get remote IP addr" msgstr "nije moguće dobiti udaljenu IP adresu" -#: logsrvd/logsrvd.c:1463 logsrvd/tls_client.c:203 -#: plugins/sudoers/log_client.c:281 +#: logsrvd/logsrvd.c:1473 logsrvd/tls_client.c:212 +#: plugins/sudoers/log_client.c:290 #, c-format msgid "Unable to attach user data to the ssl object: %s" msgstr "Nije moguće prikvačiti podatke korisnika na SSL objekt: %s" -#: logsrvd/logsrvd.c:1646 logsrvd/logsrvd.c:2007 +#: logsrvd/logsrvd.c:1656 logsrvd/logsrvd.c:2050 msgid "unable to setup listen socket" msgstr "nije moguće postaviti priključak za slušanje (listen socket)" -#: logsrvd/logsrvd.c:1766 +#: logsrvd/logsrvd.c:1776 #, c-format msgid "unexpected signal %d" msgstr "neočekivani signal %d" -#: logsrvd/logsrvd.c:1909 +#: logsrvd/logsrvd.c:1949 msgid "sudo log server" msgstr "server sudo dnevnika" -#: logsrvd/logsrvd.c:1911 logsrvd/sendlog.c:126 +#: logsrvd/logsrvd.c:1951 logsrvd/sendlog.c:126 msgid "Options:" msgstr "Opcije:" -#: logsrvd/logsrvd.c:1913 +#: logsrvd/logsrvd.c:1953 msgid "path to configuration file" msgstr "staza do datoteke s postavkama" -#: logsrvd/logsrvd.c:1915 logsrvd/sendlog.c:128 +#: logsrvd/logsrvd.c:1955 logsrvd/sendlog.c:128 msgid "display help message and exit" msgstr "pokaže poruku s pomoći i iziđe" -#: logsrvd/logsrvd.c:1917 +#: logsrvd/logsrvd.c:1957 msgid "do not fork, run in the foreground" msgstr "ne stvara novi proces, radi u prednjem planu" -#: logsrvd/logsrvd.c:1919 +#: logsrvd/logsrvd.c:1959 msgid "percent chance connections will drop" msgstr "postotak šanse da će se veza prekinuti" -#: logsrvd/logsrvd.c:1921 logsrvd/sendlog.c:158 +#: logsrvd/logsrvd.c:1961 logsrvd/sendlog.c:158 msgid "display version information and exit" msgstr "prikaže podatke o inačici i iziđe" -#: logsrvd/logsrvd.c:1971 logsrvd/sendlog.c:1722 +#: logsrvd/logsrvd.c:2011 logsrvd/sendlog.c:1747 msgid "Protobuf-C version 1.3 or higher required" msgstr "Potrebna je Protobuf-C inačica 1.3 ili novija" -#: logsrvd/logsrvd.c:1987 +#: logsrvd/logsrvd.c:2027 #, c-format msgid "invalid random drop value: %s" msgstr "nevaljana ‘random drop’ vrijednost: %s" -#: logsrvd/logsrvd.c:1990 logsrvd/sendlog.c:1776 +#: logsrvd/logsrvd.c:2030 logsrvd/sendlog.c:1801 #: plugins/sudoers/cvtsudoers.c:250 plugins/sudoers/sudoreplay.c:294 #: plugins/sudoers/visudo.c:181 #, c-format @@ -949,16 +943,16 @@ msgstr "%s inačica %s\n" #: logsrvd/logsrvd_conf.c:422 plugins/sudoers/check.c:69 #: plugins/sudoers/exptilde.c:85 plugins/sudoers/iolog.c:122 -#: plugins/sudoers/sudoers.c:419 plugins/sudoers/sudoers.c:929 -#: plugins/sudoers/sudoers.c:1034 plugins/sudoers/sudoers.c:1424 +#: plugins/sudoers/sudoers.c:419 plugins/sudoers/sudoers.c:946 +#: plugins/sudoers/sudoers.c:1052 plugins/sudoers/sudoers.c:1442 #: plugins/sudoers/testsudoers.c:169 plugins/sudoers/testsudoers.c:285 -#: plugins/sudoers/testsudoers.c:459 +#: plugins/sudoers/testsudoers.c:459 plugins/sudoers/tsdump.c:131 #, c-format msgid "unknown user %s" msgstr "nepoznati korisnik %s" #: logsrvd/logsrvd_conf.c:439 plugins/sudoers/iolog.c:148 -#: plugins/sudoers/sudoers.c:425 plugins/sudoers/sudoers.c:1458 +#: plugins/sudoers/sudoers.c:425 plugins/sudoers/sudoers.c:1476 #: plugins/sudoers/testsudoers.c:483 #, c-format msgid "unknown group %s" @@ -969,7 +963,7 @@ msgstr "nepoznata grupa %s" msgid "unable to parse iolog mode %s" msgstr "nije moguće razabrati način %s iolog-a" -#: logsrvd/logsrvd_conf.c:474 logsrvd/logsrvd_conf.c:1243 +#: logsrvd/logsrvd_conf.c:474 logsrvd/logsrvd_conf.c:1248 #, c-format msgid "invalid value for %s: %s" msgstr "nevaljana vrijednost za %s: %s" @@ -983,65 +977,65 @@ msgstr "TLS nije podržan" msgid "%s:%s" msgstr "%s:%s" -#: logsrvd/logsrvd_conf.c:622 logsrvd/logsrvd_conf.c:1032 +#: logsrvd/logsrvd_conf.c:622 logsrvd/logsrvd_conf.c:1037 #, c-format msgid "%s: not a fully qualified path" msgstr "%s: to nije potpuno kvalificirana staza" -#: logsrvd/logsrvd_conf.c:951 logsrvd/logsrvd_conf.c:967 -#: logsrvd/logsrvd_conf.c:1676 +#: logsrvd/logsrvd_conf.c:956 logsrvd/logsrvd_conf.c:972 +#: logsrvd/logsrvd_conf.c:1681 #, c-format msgid "unknown syslog facility %s" msgstr "nepoznati ustroj za syslog (Protokol dnevničarenja sustava): %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 +#: logsrvd/logsrvd_conf.c:988 logsrvd/logsrvd_conf.c:1004 +#: logsrvd/logsrvd_conf.c:1020 logsrvd/logsrvd_conf.c:1685 +#: logsrvd/logsrvd_conf.c:1689 logsrvd/logsrvd_conf.c:1693 #, c-format msgid "unknown syslog priority %s" msgstr "nepoznati prioritet %s za protokol dnevnika sustava (syslog)" -#: logsrvd/logsrvd_conf.c:1197 +#: logsrvd/logsrvd_conf.c:1202 #, c-format msgid "%s:%d unmatched '[': %s" msgstr "%s:%d ne podudara '[': %s" -#: logsrvd/logsrvd_conf.c:1203 +#: logsrvd/logsrvd_conf.c:1208 #, c-format msgid "%s:%d garbage after ']': %s" msgstr "%s:%d smeće iza ']': %s" -#: logsrvd/logsrvd_conf.c:1215 +#: logsrvd/logsrvd_conf.c:1220 #, c-format msgid "%s:%d invalid config section: %s" msgstr "%s:%d nevaljana sekcija u konfiguraciji: %s" -#: logsrvd/logsrvd_conf.c:1223 +#: logsrvd/logsrvd_conf.c:1228 #, c-format msgid "%s:%d invalid configuration line: %s" msgstr "%s:%d nevaljani redak u konfiguraciji: %s" -#: logsrvd/logsrvd_conf.c:1229 +#: logsrvd/logsrvd_conf.c:1234 #, c-format msgid "%s:%d expected section name: %s" msgstr "%s:%d očekivano ime sekcije: %s" -#: logsrvd/logsrvd_conf.c:1251 +#: logsrvd/logsrvd_conf.c:1256 #, c-format msgid "%s:%d [%s] illegal key: %s" msgstr "%s:%d [%s] nelegalni ključ : %s" -#: logsrvd/logsrvd_conf.c:1281 plugins/sudoers/cvtsudoers.c:273 -#: plugins/sudoers/logging.c:1076 +#: logsrvd/logsrvd_conf.c:1286 plugins/sudoers/cvtsudoers.c:273 +#: plugins/sudoers/logging.c:1087 #, c-format msgid "unable to open log file %s" msgstr "nije moguće otvoriti dnevničku datoteku %s" -#: logsrvd/logsrvd_conf.c:1763 +#: logsrvd/logsrvd_conf.c:1768 msgid "unable to initialize server TLS context" msgstr "nije moguće inicijalizirati server TLS konteksta" -#: logsrvd/logsrvd_conf.c:1783 +#: logsrvd/logsrvd_conf.c:1788 msgid "unable to initialize relay TLS context" msgstr "nije moguće inicijalizirati relej SSL konteksta" @@ -1145,7 +1139,7 @@ msgstr "nije moguće oblikovati vremenski spremnik, dužine %d" #: logsrvd/logsrvd_local.c:601 logsrvd/logsrvd_local.c:609 #: logsrvd/logsrvd_local.c:657 logsrvd/logsrvd_local.c:692 -#: plugins/sudoers/sudoreplay.c:344 toke.l:981 toke.l:984 +#: plugins/sudoers/sudoreplay.c:344 toke.l:961 toke.l:964 #, c-format msgid "%s/%s: %s" msgstr "%s/%s: %s" @@ -1179,8 +1173,8 @@ msgstr "nije moguće spojiti se na host releja" msgid "%s: invalid ServerHello, missing server_id" msgstr "%s: nevaljani ServerHello, nedostaje server_id" -#: logsrvd/logsrvd_relay.c:522 logsrvd/sendlog.c:1111 -#: plugins/sudoers/log_client.c:1479 +#: logsrvd/logsrvd_relay.c:522 logsrvd/sendlog.c:1136 +#: plugins/sudoers/log_client.c:1502 msgid "invalid ServerHello" msgstr "nevaljani ServerHello" @@ -1284,7 +1278,7 @@ msgstr "zaustavi prijenos nakon tog vremena" msgid "test audit server by sending selected I/O log n times in parallel" msgstr "testira revizijski server slanjem odabranih zapisa U/I dnevnika paralelno n puta" -#: logsrvd/sendlog.c:181 plugins/sudoers/log_client.c:453 +#: logsrvd/sendlog.c:181 plugins/sudoers/log_client.c:462 #, c-format msgid "unable to look up %s:%s: %s" msgstr "nije moguće potražiti %s:%s: %s" @@ -1293,108 +1287,108 @@ msgstr "nije moguće potražiti %s:%s: %s" msgid "unable to get server IP addr" msgstr "nije moguće dobiti IP adresu servera" -#: logsrvd/sendlog.c:314 plugins/sudoers/sudoreplay.c:868 +#: logsrvd/sendlog.c:314 plugins/sudoers/sudoreplay.c:870 #, c-format msgid "unable to read %s/%s: %s" msgstr "nije moguće učitati %s/%s: %s" -#: logsrvd/sendlog.c:1035 plugins/sudoers/iolog.c:959 -#: plugins/sudoers/iolog.c:1034 +#: logsrvd/sendlog.c:1060 plugins/sudoers/iolog.c:967 +#: plugins/sudoers/iolog.c:1042 #, c-format msgid "unexpected I/O event %d" msgstr "neočekivani U/I događaj %d" -#: logsrvd/sendlog.c:1088 logsrvd/sendlog.c:1105 logsrvd/sendlog.c:1139 -#: plugins/sudoers/log_client.c:1129 plugins/sudoers/log_client.c:1405 -#: plugins/sudoers/log_client.c:1473 plugins/sudoers/log_client.c:1512 +#: logsrvd/sendlog.c:1113 logsrvd/sendlog.c:1130 logsrvd/sendlog.c:1164 +#: plugins/sudoers/log_client.c:1152 plugins/sudoers/log_client.c:1428 +#: plugins/sudoers/log_client.c:1496 plugins/sudoers/log_client.c:1535 #, c-format msgid "%s: unexpected state %d" msgstr "%s: neočekivano stanje %d" -#: logsrvd/sendlog.c:1175 plugins/sudoers/log_client.c:1561 +#: logsrvd/sendlog.c:1200 plugins/sudoers/log_client.c:1584 #, c-format msgid "error message received from server: %s" msgstr "primljena je poruka o greškama od servera: %s" -#: logsrvd/sendlog.c:1188 plugins/sudoers/log_client.c:1574 +#: logsrvd/sendlog.c:1213 plugins/sudoers/log_client.c:1597 #, c-format msgid "abort message received from server: %s" msgstr "primljena je poruka za prekid (abort) od servera: %s" -#: logsrvd/sendlog.c:1247 plugins/sudoers/log_client.c:1624 +#: logsrvd/sendlog.c:1272 plugins/sudoers/log_client.c:1647 #, c-format msgid "%s: unexpected type_case value %d" msgstr "%s: neočekivana ‘type_case’ vrijednost za %d" -#: logsrvd/sendlog.c:1276 +#: logsrvd/sendlog.c:1301 msgid "timeout reading from server" msgstr "isteklo je vrijeme za čitanje iz servera" -#: logsrvd/sendlog.c:1327 plugins/sudoers/log_client.c:1747 +#: logsrvd/sendlog.c:1352 plugins/sudoers/log_client.c:1770 msgid "host name does not match certificate" msgstr "ime hosta ne slaže se s certifikatom" -#: logsrvd/sendlog.c:1361 +#: logsrvd/sendlog.c:1386 msgid "premature EOF" msgstr "preuranjeni EOF (kraj datoteke)" -#: logsrvd/sendlog.c:1374 plugins/sudoers/log_client.c:1795 +#: logsrvd/sendlog.c:1399 plugins/sudoers/log_client.c:1818 #, c-format msgid "server message too large: %u" msgstr "poruka servera je prevelika: %u" -#: logsrvd/sendlog.c:1430 +#: logsrvd/sendlog.c:1455 msgid "timeout writing to server" msgstr "isteklo je vrijeme za pisanje na server" -#: logsrvd/sendlog.c:1800 +#: logsrvd/sendlog.c:1825 msgid "both restart point and iolog ID must be specified" msgstr "i točka za ponovno pokretanje i iolog ID moraju biti specificirani" -#: logsrvd/sendlog.c:1804 +#: logsrvd/sendlog.c:1829 msgid "a restart point may not be set when no I/O is sent" msgstr "ako se ne pošalje U/I (I/O), ponovno uspostavljanje možda neće uspjeti" -#: logsrvd/sendlog.c:1880 +#: logsrvd/sendlog.c:1905 #, c-format msgid "exited prematurely with state %d" msgstr "preuranjeni završetak (izlaz) sa stanjem %d" -#: logsrvd/sendlog.c:1881 +#: logsrvd/sendlog.c:1906 #, c-format msgid "elapsed time sent to server [%lld, %ld]" msgstr "proteklo vrijeme poslano je na server [%lld, %ld]" -#: logsrvd/sendlog.c:1883 +#: logsrvd/sendlog.c:1908 #, c-format msgid "commit point received from server [%lld, %ld]" msgstr "potvrđena točka primljena je od servera [%lld, %ld]" -#: logsrvd/tls_client.c:111 plugins/sudoers/log_client.c:315 +#: logsrvd/tls_client.c:120 plugins/sudoers/log_client.c:324 msgid "TLS handshake timeout occurred" msgstr "Vrijeme za TLS rukovanje je isteklo" -#: logsrvd/tls_client.c:131 logsrvd/tls_client.c:147 -#: plugins/sudoers/log_client.c:337 plugins/sudoers/log_client.c:353 +#: logsrvd/tls_client.c:140 logsrvd/tls_client.c:156 +#: plugins/sudoers/log_client.c:346 plugins/sudoers/log_client.c:362 msgid "unable to set event" msgstr "nije moguće uspostaviti događaj" -#: logsrvd/tls_client.c:157 logsrvd/tls_client.c:161 +#: logsrvd/tls_client.c:166 logsrvd/tls_client.c:170 #, c-format msgid "TLS connection failed: %s" msgstr "TLS spajanje nije uspjelo: %s" -#: logsrvd/tls_client.c:196 +#: logsrvd/tls_client.c:205 #, c-format msgid "unable to allocate ssl object: %s" msgstr "nije uspjelo dodijeliti memoriju za SSL objekt: %s" -#: logsrvd/tls_client.c:210 +#: logsrvd/tls_client.c:219 #, c-format msgid "Unable to attach socket to the ssl object: %s" msgstr "Nije uspjelo prikvačiti utičnicu na SSL objekt: %s" -#: logsrvd/tls_client.c:238 +#: logsrvd/tls_client.c:247 msgid "unable to initialize TLS context" msgstr "nije moguće inicijalizirati TLS konteks" @@ -1423,12 +1417,11 @@ msgstr "nije moguće stvoriti TLS kontekst: %s" msgid "unable to set minimum protocol version to TLS 1.2: %s" msgstr "nije mouguće uspostaviti minimalni protokol na TLS 1.2: %s" -#: plugins/sudoers/audit.c:272 plugins/sudoers/audit.c:452 -#: plugins/sudoers/log_client.c:962 plugins/sudoers/log_client.c:1011 -#: plugins/sudoers/log_client.c:1060 plugins/sudoers/log_client.c:1185 -#: plugins/sudoers/logging.c:614 plugins/sudoers/logging.c:732 -#: plugins/sudoers/logging.c:859 plugins/sudoers/logging.c:1031 -#: plugins/sudoers/policy.c:123 +#: plugins/sudoers/audit.c:272 plugins/sudoers/log_client.c:985 +#: plugins/sudoers/log_client.c:1034 plugins/sudoers/log_client.c:1083 +#: plugins/sudoers/log_client.c:1208 plugins/sudoers/logging.c:627 +#: plugins/sudoers/logging.c:867 plugins/sudoers/logging.c:1017 +#: plugins/sudoers/logging.c:1041 plugins/sudoers/policy.c:1055 msgid "unable to get time of day" msgstr "nije moguće dobiti doba dana (trenutno vrijeme)" @@ -1484,47 +1477,47 @@ msgstr "" "greška na serveru za autentifikaciju:\n" "%s" -#: plugins/sudoers/auth/kerb5.c:116 +#: plugins/sudoers/auth/kerb5.c:117 #, c-format msgid "%s: unable to convert principal to string ('%s'): %s" msgstr "%s: nije moguće pretvoriti principala u string (‘%s’): %s" -#: plugins/sudoers/auth/kerb5.c:166 +#: plugins/sudoers/auth/kerb5.c:167 #, c-format msgid "%s: unable to parse '%s': %s" msgstr "%s: nije moguće raščlaniti ‘%s’: %s" -#: plugins/sudoers/auth/kerb5.c:175 +#: plugins/sudoers/auth/kerb5.c:176 #, c-format msgid "%s: unable to resolve credential cache: %s" msgstr "%s: nije moguće naći verifikacijsku predmemoriju: %s" -#: plugins/sudoers/auth/kerb5.c:226 +#: plugins/sudoers/auth/kerb5.c:227 #, c-format msgid "%s: unable to allocate options: %s" msgstr "%s: nije moguće dodijeliti opcije: %s" -#: plugins/sudoers/auth/kerb5.c:241 +#: plugins/sudoers/auth/kerb5.c:242 #, c-format msgid "%s: unable to get credentials: %s" msgstr "%s: nije moguće dobiti verifikaciju: %s" -#: plugins/sudoers/auth/kerb5.c:254 +#: plugins/sudoers/auth/kerb5.c:255 #, c-format msgid "%s: unable to initialize credential cache: %s" msgstr "%s: nije moguće inicijalizirati verifikacijsku predmemoriju: %s" -#: plugins/sudoers/auth/kerb5.c:257 +#: plugins/sudoers/auth/kerb5.c:258 #, c-format msgid "%s: unable to store credential in cache: %s" msgstr "%s: nije moguće spremiti verifikaciju u predmemoriju: %s" -#: plugins/sudoers/auth/kerb5.c:322 +#: plugins/sudoers/auth/kerb5.c:324 #, c-format msgid "%s: unable to get host principal: %s" msgstr "%s: nije moguće dobiti principala: %s" -#: plugins/sudoers/auth/kerb5.c:336 +#: plugins/sudoers/auth/kerb5.c:338 #, c-format msgid "%s: Cannot verify TGT! Possible attack!: %s" msgstr "%s: Nije moguće provjeriti TGT! Mogući napad!: %s" @@ -1602,7 +1595,7 @@ msgstr "nepoznata SecurID greška" msgid "invalid passcode length for SecurID" msgstr "nevaljana duljina lozinke za SecurID" -#: plugins/sudoers/auth/sia.c:72 plugins/sudoers/auth/sia.c:130 +#: plugins/sudoers/auth/sia.c:72 plugins/sudoers/auth/sia.c:131 msgid "unable to initialize SIA session" msgstr "nije moguće inicijalizirati SIA sesiju" @@ -1639,22 +1632,22 @@ msgid "unable to commit audit record" msgstr "revizijski izvještaj nije bilo moguće zapisati na disk" #: plugins/sudoers/check.c:63 plugins/sudoers/check.c:74 -#: plugins/sudoers/lookup.c:79 plugins/sudoers/tsdump.c:119 +#: plugins/sudoers/lookup.c:79 #, c-format msgid "unknown uid %u" msgstr "nepoznati UID %u" -#: plugins/sudoers/check.c:277 +#: plugins/sudoers/check.c:270 #, c-format msgid "error reading lecture file %s" msgstr "greška pri čitanju datoteke s prodikom: %s" -#: plugins/sudoers/check.c:280 +#: plugins/sudoers/check.c:273 #, c-format msgid "ignoring lecture file %s: not a regular file" msgstr "zanemari datoteku s prodikom %s: nije regularna datoteka" -#: plugins/sudoers/check.c:293 +#: plugins/sudoers/check.c:286 msgid "" "\n" "We trust you have received the usual lecture from the local System\n" @@ -1674,7 +1667,7 @@ msgstr "" " #3) S velikim moćima dolazi velika odgovornost.\n" "\n" -#: plugins/sudoers/check.c:301 +#: plugins/sudoers/check.c:294 msgid "" "For security reasons, the password you type will not be visible.\n" "\n" @@ -1763,13 +1756,13 @@ msgstr "nevaljani filtar: %s" msgid "failed to parse %s file, unknown error" msgstr "nije uspjelo raščlaniti %s datoteku, nepoznata greška" -#: plugins/sudoers/cvtsudoers.c:1508 plugins/sudoers/sudoreplay.c:1143 +#: plugins/sudoers/cvtsudoers.c:1504 plugins/sudoers/sudoreplay.c:1145 #: plugins/sudoers/timestamp.c:353 plugins/sudoers/timestamp.c:356 #, c-format msgid "unable to write to %s" msgstr "nije moguće pisati u %s" -#: plugins/sudoers/cvtsudoers.c:1536 +#: plugins/sudoers/cvtsudoers.c:1532 #, c-format msgid "" "%s - convert between sudoers file formats\n" @@ -1778,7 +1771,7 @@ msgstr "" "%s - pretvara formate sudoers datoteka\n" "\n" -#: plugins/sudoers/cvtsudoers.c:1538 +#: plugins/sudoers/cvtsudoers.c:1534 msgid "" "\n" "Options:\n" @@ -1819,817 +1812,836 @@ msgstr "" " -V, --version informira o inačici ovog programa i završi" #: plugins/sudoers/cvtsudoers_csv.c:192 plugins/sudoers/cvtsudoers_csv.c:199 -#: plugins/sudoers/cvtsudoers_ldif.c:245 plugins/sudoers/cvtsudoers_ldif.c:252 -#: plugins/sudoers/cvtsudoers_ldif.c:594 plugins/sudoers/env.c:340 -#: plugins/sudoers/env.c:347 plugins/sudoers/env.c:458 +#: plugins/sudoers/cvtsudoers_ldif.c:270 plugins/sudoers/cvtsudoers_ldif.c:277 +#: plugins/sudoers/cvtsudoers_ldif.c:628 plugins/sudoers/env.c:357 +#: plugins/sudoers/env.c:364 plugins/sudoers/env.c:475 #: plugins/sudoers/ldap.c:511 plugins/sudoers/ldap.c:629 #: plugins/sudoers/ldap.c:1003 plugins/sudoers/ldap_conf.c:219 -#: plugins/sudoers/ldap_conf.c:310 plugins/sudoers/ldap_util.c:486 -#: plugins/sudoers/linux_audit.c:93 plugins/sudoers/logging.c:479 -#: plugins/sudoers/policy.c:828 plugins/sudoers/policy.c:840 +#: plugins/sudoers/ldap_conf.c:310 plugins/sudoers/ldap_util.c:483 +#: plugins/sudoers/linux_audit.c:93 plugins/sudoers/logging.c:487 +#: plugins/sudoers/policy.c:836 plugins/sudoers/policy.c:848 #: plugins/sudoers/prompt.c:169 plugins/sudoers/serialize_list.c:62 #: plugins/sudoers/serialize_list.c:71 plugins/sudoers/strvec_join.c:62 -#: plugins/sudoers/sudoreplay.c:1340 plugins/sudoers/sudoreplay.c:1346 -#: plugins/sudoers/sudoreplay.c:1352 plugins/sudoers/testsudoers.c:306 -#: plugins/sudoers/toke_util.c:217 toke.l:995 toke.l:1277 +#: plugins/sudoers/sudoreplay.c:1342 plugins/sudoers/sudoreplay.c:1348 +#: plugins/sudoers/sudoreplay.c:1354 plugins/sudoers/testsudoers.c:306 +#: plugins/sudoers/toke_util.c:217 toke.l:975 toke.l:1257 #, c-format msgid "internal error, %s overflow" msgstr "**interna greška**, %s prekoračenje" -#: plugins/sudoers/cvtsudoers_csv.c:454 plugins/sudoers/cvtsudoers_csv.c:468 -#: plugins/sudoers/cvtsudoers_json.c:661 plugins/sudoers/cvtsudoers_json.c:676 -#: plugins/sudoers/cvtsudoers_ldif.c:349 plugins/sudoers/cvtsudoers_ldif.c:362 +#: plugins/sudoers/cvtsudoers_csv.c:481 plugins/sudoers/cvtsudoers_csv.c:495 +#: plugins/sudoers/cvtsudoers_json.c:760 plugins/sudoers/cvtsudoers_json.c:776 +#: plugins/sudoers/cvtsudoers_ldif.c:384 plugins/sudoers/cvtsudoers_ldif.c:398 #: plugins/sudoers/ldap.c:495 msgid "unable to get GMT time" msgstr "nije moguće dobiti GMT vrijeme" -#: plugins/sudoers/cvtsudoers_csv.c:459 plugins/sudoers/cvtsudoers_csv.c:473 -#: plugins/sudoers/cvtsudoers_json.c:666 plugins/sudoers/cvtsudoers_json.c:681 -#: plugins/sudoers/cvtsudoers_ldif.c:354 plugins/sudoers/cvtsudoers_ldif.c:367 +#: plugins/sudoers/cvtsudoers_csv.c:486 plugins/sudoers/cvtsudoers_csv.c:500 +#: plugins/sudoers/cvtsudoers_json.c:765 plugins/sudoers/cvtsudoers_json.c:781 +#: plugins/sudoers/cvtsudoers_ldif.c:389 plugins/sudoers/cvtsudoers_ldif.c:403 #: plugins/sudoers/ldap.c:503 msgid "unable to format timestamp" msgstr "nije moguće oblikovati vremensku oznaku" -#: plugins/sudoers/cvtsudoers_json.c:481 plugins/sudoers/cvtsudoers_json.c:516 -#: plugins/sudoers/cvtsudoers_json.c:732 +#: plugins/sudoers/cvtsudoers_json.c:547 plugins/sudoers/cvtsudoers_json.c:588 +#: plugins/sudoers/cvtsudoers_json.c:841 #, c-format msgid "%s:%d:%d: unknown defaults entry \"%s\"" msgstr "%s:%d:%d: nepoznata zadana stavka „%s“" -#: plugins/sudoers/cvtsudoers_ldif.c:663 +#: plugins/sudoers/cvtsudoers_ldif.c:116 +#, c-format +msgid "unable to base64 encode value \"%s\"" +msgstr "vrijednost %s nije moguće base64 kodirati," + +#: plugins/sudoers/cvtsudoers_ldif.c:595 +#, c-format +msgid "internal error, unable insert user %s" +msgstr "**interna greška**, nije moguće umetnuti korisnika %s" + +#: plugins/sudoers/cvtsudoers_ldif.c:702 #, c-format msgid "too many sudoers entries, maximum %u" msgstr "previše sudoers grešaka, maksimum je %u" -#: plugins/sudoers/cvtsudoers_ldif.c:706 +#: plugins/sudoers/cvtsudoers_ldif.c:747 msgid "the SUDOERS_BASE environment variable is not set and the -b option was not specified." msgstr "varijabla okoline SUDOERS_BASE nije postavljena i -b opcija nije specificirana." -#: plugins/sudoers/cvtsudoers_merge.c:273 -#: plugins/sudoers/cvtsudoers_merge.c:309 +#: plugins/sudoers/cvtsudoers_merge.c:275 +#: plugins/sudoers/cvtsudoers_merge.c:313 #, c-format msgid "%s:%d:%d: converting host list to ALL" msgstr "%s:%d:%d: pretvaramo hostov popis u ALL" -#: plugins/sudoers/cvtsudoers_merge.c:545 +#: plugins/sudoers/cvtsudoers_merge.c:568 #, c-format msgid "unable to find alias %s" msgstr "nije moguće naći alias %s" -#: plugins/sudoers/cvtsudoers_merge.c:548 +#: plugins/sudoers/cvtsudoers_merge.c:572 #, c-format msgid "%s:%d:%d: renaming alias %s to %s" msgstr "%s:%d:%d: preimenujemo aliasa %s u %s" -#: plugins/sudoers/cvtsudoers_merge.c:605 +#: plugins/sudoers/cvtsudoers_merge.c:634 #, c-format msgid "%s:%d:%d: removing duplicate alias %s" msgstr "%s:%d:%d: uklanjamo duplikat aliasa %s" -#: plugins/sudoers/cvtsudoers_merge.c:830 +#: plugins/sudoers/cvtsudoers_merge.c:868 #, c-format msgid "%s:%d:%d: conflicting Defaults entry \"%s\" host-specific in %s:%d:%d" msgstr "%s:%d:%d: konfliktni Defaults unos „%s“ specifičan za hosta u %s:%d:%d" -#: plugins/sudoers/cvtsudoers_merge.c:864 +#: plugins/sudoers/cvtsudoers_merge.c:904 #, c-format msgid "%s:%d:%d: made Defaults \"%s\" specific to host %s" msgstr "%s:%d:%d: napravljen je Defaults „%s“ specifičan za opciju %s" -#: plugins/sudoers/cvtsudoers_merge.c:882 +#: plugins/sudoers/cvtsudoers_merge.c:922 #, c-format msgid "%s:%d:%d: unable to make Defaults \"%s\" host-specific" msgstr "%s:%d:%d: nije moguće napraviti Defaults „%s“ specifično za hosta" -#: plugins/sudoers/cvtsudoers_merge.c:892 +#: plugins/sudoers/cvtsudoers_merge.c:932 #, c-format msgid "%s:%d:%d: removing Defaults \"%s\" overridden by subsequent entries" msgstr "%s:%d:%d: uklanjamo Defaults „%s“ nadvladan naknadnim unosima" -#: plugins/sudoers/cvtsudoers_merge.c:1088 +#: plugins/sudoers/cvtsudoers_merge.c:1128 #, c-format msgid "%s:%d:%d: merging userspec into %s:%d:%d" msgstr "%s:%d:%d: spajanje userspec (korisnikova specifikacija) s %s:%d:%d" -#: plugins/sudoers/cvtsudoers_merge.c:1182 +#: plugins/sudoers/cvtsudoers_merge.c:1224 #, c-format msgid "%s:%d:%d: removing userspec overridden by subsequent entries" msgstr "%s:%d:%d: uklanjamo korisničke specifikacije nadvladane naknadnim unosima" -#: plugins/sudoers/def_data.c:56 +#: plugins/sudoers/def_data.c:58 #, c-format msgid "Syslog facility if syslog is being used for logging: %s" msgstr "Ustroj syslog-a ako se syslog koristi za pisanje dnevnika: %s" -#: plugins/sudoers/def_data.c:60 +#: plugins/sudoers/def_data.c:62 #, c-format msgid "Syslog priority to use when user authenticates successfully: %s" msgstr "Pri uspješnoj autentifikaciji korisnika rabi se syslog prioritet: %s" -#: plugins/sudoers/def_data.c:64 +#: plugins/sudoers/def_data.c:66 #, c-format msgid "Syslog priority to use when user authenticates unsuccessfully: %s" msgstr "Pri neuspješnoj autentifikaciji korisnika rabi se syslog prioritet: %s" -#: plugins/sudoers/def_data.c:68 +#: plugins/sudoers/def_data.c:70 msgid "Put OTP prompt on its own line" msgstr "Postavite OTP (One-Time-Password) prompt u zasebni, vlastiti redak" -#: plugins/sudoers/def_data.c:72 +#: plugins/sudoers/def_data.c:74 msgid "Ignore '.' in $PATH" msgstr "Zanemari ‘.’ u $PATH" -#: plugins/sudoers/def_data.c:76 +#: plugins/sudoers/def_data.c:78 msgid "Always send mail when sudo is run" msgstr "Poštu poslati kad god se pokrene sudo" -#: plugins/sudoers/def_data.c:80 +#: plugins/sudoers/def_data.c:82 msgid "Send mail if user authentication fails" msgstr "Poštu poslati ako autentifikacija korisnika nije uspjela" -#: plugins/sudoers/def_data.c:84 +#: plugins/sudoers/def_data.c:86 msgid "Send mail if the user is not in sudoers" msgstr "Poštu poslati ako korisnik nije u sudoers" -#: plugins/sudoers/def_data.c:88 +#: plugins/sudoers/def_data.c:90 msgid "Send mail if the user is not in sudoers for this host" msgstr "Poštu poslati ako korisnik nije u sudoers na ovom računalu" -#: plugins/sudoers/def_data.c:92 +#: plugins/sudoers/def_data.c:94 msgid "Send mail if the user is not allowed to run a command" msgstr "Poštu poslati ako korisnik nema dopuštenje za pokretanje naredbe" -#: plugins/sudoers/def_data.c:96 +#: plugins/sudoers/def_data.c:98 msgid "Send mail if the user tries to run a command" msgstr "Poštu poslati ako korisnik pokušava unositi naredbe" -#: plugins/sudoers/def_data.c:100 +#: plugins/sudoers/def_data.c:102 msgid "Use a separate timestamp for each user/tty combo" msgstr "Za svaku kombinaciju korisnik/terminal koristi se zasebna vremenska oznaka" -#: plugins/sudoers/def_data.c:104 +#: plugins/sudoers/def_data.c:106 msgid "Lecture user the first time they run sudo" msgstr "Korisnika podučiti prilikom prvog pokretanja sudo" -#: plugins/sudoers/def_data.c:108 +#: plugins/sudoers/def_data.c:110 #, c-format msgid "File containing the sudo lecture: %s" msgstr "Datoteka koja sadrži sudo poduku: %s" -#: plugins/sudoers/def_data.c:112 +#: plugins/sudoers/def_data.c:114 msgid "Require users to authenticate by default" msgstr "Zadano (by default),zahtijeva se autentifikacija korisnika" -#: plugins/sudoers/def_data.c:116 +#: plugins/sudoers/def_data.c:118 msgid "Root may run sudo" msgstr "Root smije pokrenuti sudo" -#: plugins/sudoers/def_data.c:120 +#: plugins/sudoers/def_data.c:122 msgid "Log the hostname in the (non-syslog) log file" msgstr "Ime računala zapiše se u (ne-syslog) dnevničku datoteku" -#: plugins/sudoers/def_data.c:124 +#: plugins/sudoers/def_data.c:126 msgid "Log the year in the (non-syslog) log file" msgstr "Godina se zapiše u (ne-syslog) dnevničku datoteku" -#: plugins/sudoers/def_data.c:128 +#: plugins/sudoers/def_data.c:130 msgid "If sudo is invoked with no arguments, start a shell" msgstr "Ako se sudo pozove bez argumenata, pokrene se ljuska" -#: plugins/sudoers/def_data.c:132 +#: plugins/sudoers/def_data.c:134 msgid "Set $HOME to the target user when starting a shell with -s" msgstr "Postavlja $HOME na ciljanog korisnika pri pokretanju ljuske s opcijom -s" -#: plugins/sudoers/def_data.c:136 +#: plugins/sudoers/def_data.c:138 msgid "Always set $HOME to the target user's home directory" msgstr "Uvijek postavlja $HOME na osobni direktorij ciljanog korisnika" -#: plugins/sudoers/def_data.c:140 +#: plugins/sudoers/def_data.c:142 msgid "Allow some information gathering to give useful error messages" msgstr "Dopušteno je prikupljanje informacija za ispis korisnih poruka o greškama" -#: plugins/sudoers/def_data.c:144 +#: plugins/sudoers/def_data.c:146 msgid "Require fully-qualified hostnames in the sudoers file" msgstr "Datoteka sudoers zahtjeva potpuno kvalificirana (fully-qualified) imena računala" -#: plugins/sudoers/def_data.c:148 +#: plugins/sudoers/def_data.c:150 msgid "Insult the user when they enter an incorrect password" msgstr "Korisnika izgrditi ako upiše netočnu lozinku" -#: plugins/sudoers/def_data.c:152 +#: plugins/sudoers/def_data.c:154 msgid "Only allow the user to run sudo if they have a tty" msgstr "Korisniku dopustiti pokretanje sudo samo ako ima tty" -#: plugins/sudoers/def_data.c:156 +#: plugins/sudoers/def_data.c:158 msgid "Visudo will honor the EDITOR environment variable" msgstr "Visudo poštuje varijablu okoline EDITOR" -#: plugins/sudoers/def_data.c:160 -msgid "Prompt for root's password, not the users's" -msgstr "Zatražiti root lozinku umjesto lozinke korisnika" +#: plugins/sudoers/def_data.c:162 +msgid "Prompt for root's password, not the user's" +msgstr "Zatražite root lozinku, a ne korisničku" -#: plugins/sudoers/def_data.c:164 -msgid "Prompt for the runas_default user's password, not the users's" -msgstr "Zatražiti lozinku runas_default korisnika a ne lozinku trenutnog korisnika" +#: plugins/sudoers/def_data.c:166 +msgid "Prompt for the runas_default user's password, not the user's" +msgstr "Zatražite lozinku runas_default korisnika, a ne korisničku" -#: plugins/sudoers/def_data.c:168 -msgid "Prompt for the target user's password, not the users's" -msgstr "Zatražiti lozinku ciljanog korisnika a ne lozinku trenutnog korisnika" +#: plugins/sudoers/def_data.c:170 +msgid "Prompt for the target user's password, not the user's" +msgstr "Zatražite lozinku ciljanog korisnika, a ne korisničku" -#: plugins/sudoers/def_data.c:172 +#: plugins/sudoers/def_data.c:174 msgid "Apply defaults in the target user's login class if there is one" msgstr "Ako postoje, primijeniti zadane vrijednosti iz login klase ciljanog korisnika" -#: plugins/sudoers/def_data.c:176 +#: plugins/sudoers/def_data.c:178 msgid "Set the LOGNAME and USER environment variables" msgstr "Postavlja varijable okoline LOGNAME i USER" -#: plugins/sudoers/def_data.c:180 +#: plugins/sudoers/def_data.c:182 msgid "Only set the effective uid to the target user, not the real uid" msgstr "Postavlja samo efektivni UID na onaj ciljanog korisnika umjesto stvarnog UID" -#: plugins/sudoers/def_data.c:184 +#: plugins/sudoers/def_data.c:186 msgid "Don't initialize the group vector to that of the target user" msgstr "Ne inicijalizirati grupni vektor na onaj od ciljanog korisnika" -#: plugins/sudoers/def_data.c:188 +#: plugins/sudoers/def_data.c:190 #, c-format msgid "Length at which to wrap log file lines (0 for no wrap): %u" msgstr "Pozicija na kojoj se prelamaju redci dnevničke datoteke (0, bez prelamanja): %u" -#: plugins/sudoers/def_data.c:192 +#: plugins/sudoers/def_data.c:194 #, c-format msgid "Authentication timestamp timeout: %.1f minutes" msgstr "Tajmaut vremenske oznake autentifikacije: %.1f minuta" -#: plugins/sudoers/def_data.c:196 +#: plugins/sudoers/def_data.c:198 #, c-format msgid "Password prompt timeout: %.1f minutes" msgstr "Tajmaut za unos lozinke: %.1f minuta" -#: plugins/sudoers/def_data.c:200 +#: plugins/sudoers/def_data.c:202 #, c-format msgid "Number of tries to enter a password: %u" msgstr "Broj pokušaja unosa lozinke: %u" -#: plugins/sudoers/def_data.c:204 +#: plugins/sudoers/def_data.c:206 #, c-format msgid "Umask to use or 0777 to use user's: 0%o" msgstr "Umask za korištenje ili 0777 za korisničku: 0%o" -#: plugins/sudoers/def_data.c:208 +#: plugins/sudoers/def_data.c:210 #, c-format msgid "Path to log file: %s" msgstr "Staza do dnevničke datoteke: %s" -#: plugins/sudoers/def_data.c:212 +#: plugins/sudoers/def_data.c:214 #, c-format msgid "Path to mail program: %s" msgstr "Staza do programa pošte: %s" -#: plugins/sudoers/def_data.c:216 +#: plugins/sudoers/def_data.c:218 #, c-format msgid "Flags for mail program: %s" msgstr "Zastavice za program pošte: %s" -#: plugins/sudoers/def_data.c:220 +#: plugins/sudoers/def_data.c:222 #, c-format msgid "Address to send mail to: %s" msgstr "Adresa na koju se šalje pošta: %s" -#: plugins/sudoers/def_data.c:224 +#: plugins/sudoers/def_data.c:226 #, c-format msgid "Address to send mail from: %s" msgstr "Adresa s koje se šalje pošta: %s" -#: plugins/sudoers/def_data.c:228 +#: plugins/sudoers/def_data.c:230 #, c-format msgid "Subject line for mail messages: %s" msgstr "Redak za upis predmeta (subject) poštanskih poruka: %s" -#: plugins/sudoers/def_data.c:232 +#: plugins/sudoers/def_data.c:234 #, c-format msgid "Incorrect password message: %s" msgstr "Poruka za netočnu lozinku: %s" -#: plugins/sudoers/def_data.c:236 +#: plugins/sudoers/def_data.c:238 #, c-format msgid "Path to lecture status dir: %s" msgstr "Staza do direktorija s lekcijom: %s" -#: plugins/sudoers/def_data.c:240 +#: plugins/sudoers/def_data.c:242 #, c-format msgid "Path to authentication timestamp dir: %s" msgstr "Staza do direktorija s vremenskim oznakama autentifikacije: %s" -#: plugins/sudoers/def_data.c:244 +#: plugins/sudoers/def_data.c:246 #, c-format msgid "Owner of the authentication timestamp dir: %s" msgstr "Vlasnik direktorija s vremenskim oznakama autentifikacije: %s" -#: plugins/sudoers/def_data.c:248 +#: plugins/sudoers/def_data.c:250 #, c-format msgid "Users in this group are exempt from password and PATH requirements: %s" msgstr "Korisnici u ovoj grupi su izuzeti od zahtjeva za unos lozinke i PATH: %s" -#: plugins/sudoers/def_data.c:252 +#: plugins/sudoers/def_data.c:254 #, c-format msgid "Default password prompt: %s" msgstr "Zadani zahtjev (prompt) za lozinku: %s" -#: plugins/sudoers/def_data.c:256 +#: plugins/sudoers/def_data.c:258 msgid "If set, passprompt will override system prompt in all cases." msgstr "Ako je postavljen, passprompt će redefinirati prompt sustava u svim slučajevima." -#: plugins/sudoers/def_data.c:260 +#: plugins/sudoers/def_data.c:262 #, c-format msgid "Default user to run commands as: %s" msgstr "Zadani korisnik za pokretanje naredbi: %s" -#: plugins/sudoers/def_data.c:264 +#: plugins/sudoers/def_data.c:266 #, c-format msgid "Value to override user's $PATH with: %s" msgstr "Vrijednost s kojom se zamijeni korisnikov $PATH: %s" -#: plugins/sudoers/def_data.c:268 +#: plugins/sudoers/def_data.c:270 #, c-format msgid "Path to the editor for use by visudo: %s" msgstr "Staza do uređivača koji će koristiti visudo: %s" -#: plugins/sudoers/def_data.c:272 +#: plugins/sudoers/def_data.c:274 #, c-format msgid "When to require a password for 'list' pseudocommand: %s" msgstr "Kada zatražiti lozinku za pseudonaredbu „list“: %s" -#: plugins/sudoers/def_data.c:276 +#: plugins/sudoers/def_data.c:278 #, c-format msgid "When to require a password for 'verify' pseudocommand: %s" msgstr "Kada zatražiti lozinku za pseudonaredbu „verify“: %s" -#: plugins/sudoers/def_data.c:280 +#: plugins/sudoers/def_data.c:282 msgid "Preload the sudo_noexec library which replaces the exec functions" msgstr "Unaprijed učitajte biblioteku sudo_noexec koja zamjenjuje exec funkcije" -#: plugins/sudoers/def_data.c:284 +#: plugins/sudoers/def_data.c:286 msgid "If LDAP directory is up, do we ignore local sudoers file" msgstr "Ako je dostupni LDAP direktorij, zanemaruje li se lokalna sudoers datoteka" -#: plugins/sudoers/def_data.c:288 +#: plugins/sudoers/def_data.c:290 #, c-format msgid "File descriptors >= %d will be closed before executing a command" msgstr "Deskriptori datoteka >= %d bit će zatvoreni prije izvršavanja naredbe" -#: plugins/sudoers/def_data.c:292 +#: plugins/sudoers/def_data.c:294 msgid "If set, users may override the value of \"closefrom\" with the -C option" msgstr "Ako je dana, korisnici mogu s opcijom -C redefinirati vrijednost od „closefrom“" -#: plugins/sudoers/def_data.c:296 +#: plugins/sudoers/def_data.c:298 msgid "Allow users to set arbitrary environment variables" msgstr "Korisnici mogu postaviti bilo koje varijable okoline" -#: plugins/sudoers/def_data.c:300 +#: plugins/sudoers/def_data.c:302 msgid "Reset the environment to a default set of variables" msgstr "Okolinu vratiti u zadani skup varijabli okoline" -#: plugins/sudoers/def_data.c:304 +#: plugins/sudoers/def_data.c:306 msgid "Environment variables to check for safety:" msgstr "Varijable okruženja čiju sigurnost treba provjeriti:" -#: plugins/sudoers/def_data.c:308 +#: plugins/sudoers/def_data.c:310 msgid "Environment variables to remove:" msgstr "Varijable okoline koje treba ukloniti:" -#: plugins/sudoers/def_data.c:312 +#: plugins/sudoers/def_data.c:314 msgid "Environment variables to preserve:" msgstr "Varijable okoline koje treba zadržati:" -#: plugins/sudoers/def_data.c:316 +#: plugins/sudoers/def_data.c:318 #, c-format msgid "SELinux role to use in the new security context: %s" msgstr "SELinux uloga za korištenje u novom sigurnosnom kontekstu: %s" -#: plugins/sudoers/def_data.c:320 +#: plugins/sudoers/def_data.c:322 #, c-format msgid "SELinux type to use in the new security context: %s" msgstr "SELinux tip za korištenje u novom sigurnosnom kontekstu: %s" -#: plugins/sudoers/def_data.c:324 +#: plugins/sudoers/def_data.c:326 #, c-format msgid "Path to the sudo-specific environment file: %s" msgstr "Staza do datoteke okoline specifične za sudo: %s" -#: plugins/sudoers/def_data.c:328 +#: plugins/sudoers/def_data.c:330 #, c-format msgid "Path to the restricted sudo-specific environment file: %s" msgstr "Staza do datoteke okoline s ograničenim pristupom specifične za sudo: %s" -#: plugins/sudoers/def_data.c:332 +#: plugins/sudoers/def_data.c:334 #, c-format msgid "Locale to use while parsing sudoers: %s" msgstr "Locale za korištenje pri obradi sudoers: %s" -#: plugins/sudoers/def_data.c:336 +#: plugins/sudoers/def_data.c:338 msgid "Allow sudo to prompt for a password even if it would be visible" msgstr "Dopustiti da sudo zatraži lozinku čak i ako će biti vidljiva" -#: plugins/sudoers/def_data.c:340 +#: plugins/sudoers/def_data.c:342 msgid "Provide visual feedback at the password prompt when there is user input" msgstr "Vizualno pokazati rezultat nakon unosa lozinke korisnikom" -#: plugins/sudoers/def_data.c:344 +#: plugins/sudoers/def_data.c:346 msgid "Use faster globbing that is less accurate but does not access the filesystem" msgstr "Rabi se brže i manje precizno podudaranje ali nema dostupa datotečnom sustavu" -#: plugins/sudoers/def_data.c:348 +#: plugins/sudoers/def_data.c:350 msgid "The umask specified in sudoers will override the user's, even if it is more permissive" msgstr "umask, specificiran u sudoers redefinira korisnički, čak i ako je tolerantniji" -#: plugins/sudoers/def_data.c:352 +#: plugins/sudoers/def_data.c:354 msgid "Log user's input for the command being run" msgstr "Urudžbira unos korisnika za trenutno pokrenutu naredbu" -#: plugins/sudoers/def_data.c:356 +#: plugins/sudoers/def_data.c:358 msgid "Log the command's standard input if not connected to a terminal" msgstr "Urudžbíra izvor standardnog unosa naredbe ako naredba nije spojena na terminal" -#: plugins/sudoers/def_data.c:360 +#: plugins/sudoers/def_data.c:362 msgid "Log the user's terminal input for the command being run" msgstr "Urudžbira korisnikov unos u terminal za trenutno pokrenutu naredbu" -#: plugins/sudoers/def_data.c:364 +#: plugins/sudoers/def_data.c:366 msgid "Log the output of the command being run" msgstr "Urudžbirati izlaz pokrenute naredbe" -#: plugins/sudoers/def_data.c:368 +#: plugins/sudoers/def_data.c:370 msgid "Log the command's standard output if not connected to a terminal" msgstr "Urudžbira standardni izlaz naredbe ako nije naredba nije spojena na terminal" -#: plugins/sudoers/def_data.c:372 +#: plugins/sudoers/def_data.c:374 msgid "Log the command's standard error if not connected to a terminal" msgstr "Urudžbira standardne greške naredbe ako naredba nije spojena na terminal" -#: plugins/sudoers/def_data.c:376 +#: plugins/sudoers/def_data.c:378 msgid "Log the terminal output of the command being run" msgstr "Urudžbira izlaz koje trenutna naredba ispisuje na terminal" -#: plugins/sudoers/def_data.c:380 +#: plugins/sudoers/def_data.c:382 msgid "Compress I/O logs using zlib" msgstr "U/I urudžbirane dnevnike komprimirati s programom zlib" -#: plugins/sudoers/def_data.c:384 +#: plugins/sudoers/def_data.c:386 msgid "Always run commands in a pseudo-tty" msgstr "Naredbe uvijek pokrenuti u pseudo-TTY" -#: plugins/sudoers/def_data.c:388 +#: plugins/sudoers/def_data.c:390 #, c-format msgid "Plugin for non-Unix group support: %s" msgstr "Plugin za podršku za ne-Unix grupe: %s" -#: plugins/sudoers/def_data.c:392 +#: plugins/sudoers/def_data.c:394 #, c-format msgid "Directory in which to store input/output logs: %s" msgstr "Direktorij u kojem se spremaju ulazno/izlazni dnevnici: %s" -#: plugins/sudoers/def_data.c:396 +#: plugins/sudoers/def_data.c:398 #, c-format msgid "File in which to store the input/output log: %s" msgstr "Datoteka u koju se sprema ulazno/izlazni dnevnik: %s" -#: plugins/sudoers/def_data.c:400 +#: plugins/sudoers/def_data.c:402 msgid "Add an entry to the utmp/utmpx file when allocating a pty" msgstr "Dodati stavku u utmp/utmpx datoteku pri dodijeli pseudoterminala" -#: plugins/sudoers/def_data.c:404 +#: plugins/sudoers/def_data.c:406 msgid "Set the user in utmp to the runas user, not the invoking user" msgstr "Postaviti korisnika u utmp na runas-korisnika umjesto na pozivatelja" -#: plugins/sudoers/def_data.c:408 +#: plugins/sudoers/def_data.c:410 #, c-format msgid "Set of permitted privileges: %s" msgstr "Skup dopuštenih privilegija: %s" -#: plugins/sudoers/def_data.c:412 +#: plugins/sudoers/def_data.c:414 #, c-format msgid "Set of limit privileges: %s" msgstr "Skup limitiranih privilegija: %s" -#: plugins/sudoers/def_data.c:416 +#: plugins/sudoers/def_data.c:418 msgid "Run commands on a pty in the background" msgstr "Pokrenuti naredbe na pseudo terminalu u pozadini" -#: plugins/sudoers/def_data.c:420 +#: plugins/sudoers/def_data.c:422 #, c-format msgid "PAM service name to use: %s" msgstr "Naziv PAM usluge za upotrebu: %s" -#: plugins/sudoers/def_data.c:424 +#: plugins/sudoers/def_data.c:426 #, c-format msgid "PAM service name to use for login shells: %s" msgstr "Naziv PAM usluge za upotrebu za prijavnu ljusku: %s" -#: plugins/sudoers/def_data.c:428 +#: plugins/sudoers/def_data.c:430 #, c-format msgid "PAM service name to use when sudo is run with the -A option: %s" msgstr "Naziv PAM usluge koja se koristi kad je sudo pozvan s opcijom -A: %s" -#: plugins/sudoers/def_data.c:432 +#: plugins/sudoers/def_data.c:434 msgid "Attempt to establish PAM credentials for the target user" msgstr "Pokušaj da se uspostavi PAM verifikacija za ciljanog korisnika" -#: plugins/sudoers/def_data.c:436 +#: plugins/sudoers/def_data.c:438 msgid "Create a new PAM session for the command to run in" msgstr "Kreira novu PAM sesiju za izvršavanje naredbe" -#: plugins/sudoers/def_data.c:440 +#: plugins/sudoers/def_data.c:442 msgid "Perform PAM account validation management" msgstr "Provjeri upravljanje s PAM računom" -#: plugins/sudoers/def_data.c:444 +#: plugins/sudoers/def_data.c:446 +msgid "Do not allow PAM authentication modules to generate output" +msgstr "Ne dopušta generiranje izlaza PAM modulima za provjeru autentičnosti" + +#: plugins/sudoers/def_data.c:450 #, c-format msgid "Maximum I/O log sequence number: %s" msgstr "Najveći broj redoslijeda dnevnika U/I: %s" -#: plugins/sudoers/def_data.c:448 +#: plugins/sudoers/def_data.c:454 msgid "Enable sudoers netgroup support" msgstr "Omogućite podršku mrežnih grupa (netgroup) u sudoers" -#: plugins/sudoers/def_data.c:452 +#: plugins/sudoers/def_data.c:458 msgid "Check parent directories for writability when editing files with sudoedit" msgstr "Provjerite mogućnost pisanja u naddirektorijima kad se koristi sudoedit za uređivanje" -#: plugins/sudoers/def_data.c:456 +#: plugins/sudoers/def_data.c:462 msgid "Follow symbolic links when editing files with sudoedit" -msgstr "Slijedi simboličke poveznice kad se koristi sudoedit za uređivanje datoteka" +msgstr "Slijedi simbolične poveznice kad se koristi sudoedit za uređivanje datoteka" -#: plugins/sudoers/def_data.c:460 +#: plugins/sudoers/def_data.c:466 msgid "Query the group plugin for unknown system groups" msgstr "Ispituje plugin grupe za nepoznate sustavske grupe" -#: plugins/sudoers/def_data.c:464 +#: plugins/sudoers/def_data.c:470 msgid "Match netgroups based on the entire tuple: user, host and domain" msgstr "Podudaranje mrežnih grupa bazira se na kompletnoj n-torki: korisnik, računalo, domena" -#: plugins/sudoers/def_data.c:468 +#: plugins/sudoers/def_data.c:474 msgid "Allow commands to be run even if sudo cannot write to the audit log" msgstr "Naredbe je dopušteno izvršiti iako ih sudo ne može upisati u revizijski dnevnik" -#: plugins/sudoers/def_data.c:472 +#: plugins/sudoers/def_data.c:478 msgid "Allow commands to be run even if sudo cannot write to the I/O log" msgstr "Naredbe je dopušteno izvršiti iako ih sudo ne može upisati u U/I dnevnik" -#: plugins/sudoers/def_data.c:476 +#: plugins/sudoers/def_data.c:482 msgid "Allow commands to be run even if sudo cannot write to the log file" msgstr "Naredbe je dopušteno izvršiti iako ih sudo ne može upisati u dnevnik" -#: plugins/sudoers/def_data.c:480 +#: plugins/sudoers/def_data.c:486 msgid "Resolve groups in sudoers and match on the group ID, not the name" msgstr "Razriješi grupe u sudoers i podudari ih po ID grupe umjesto po imenu grupe" -#: plugins/sudoers/def_data.c:484 +#: plugins/sudoers/def_data.c:490 #, c-format msgid "Log entries larger than this value will be split into multiple syslog messages: %u" msgstr "Dnevničke stavke veće od ove vrijednosti podijeliti će se u više syslog poruka: %u" -#: plugins/sudoers/def_data.c:488 +#: plugins/sudoers/def_data.c:494 #, c-format msgid "User that will own the I/O log files: %s" msgstr "Korisnik koji će biti vlasnik U/I dnevnika: %s" -#: plugins/sudoers/def_data.c:492 +#: plugins/sudoers/def_data.c:498 #, c-format msgid "Group that will own the I/O log files: %s" msgstr "Grupa koja će biti vlasnik U/I dnevnika: %s" -#: plugins/sudoers/def_data.c:496 +#: plugins/sudoers/def_data.c:502 #, c-format msgid "File mode to use for the I/O log files: 0%o" msgstr "Prava pristupa za uporabu za U/I dnevnike: 0%o" -#: plugins/sudoers/def_data.c:500 +#: plugins/sudoers/def_data.c:506 #, c-format msgid "Execute commands by file descriptor instead of by path: %s" msgstr "Izvrši naredbe pomoću deskriptora datoteke umjesto staze: %s" -#: plugins/sudoers/def_data.c:504 +#: plugins/sudoers/def_data.c:510 msgid "Ignore unknown Defaults entries in sudoers instead of producing a warning" msgstr "Nepoznati zadani podaci za sudoers se ignoriraju umjesto ispisa upozorenja" -#: plugins/sudoers/def_data.c:508 +#: plugins/sudoers/def_data.c:514 #, c-format msgid "Time in seconds after which the command will be terminated: %u" msgstr "Vrijeme u sekundama nakon kojeg se naredba prekida: %u" -#: plugins/sudoers/def_data.c:512 +#: plugins/sudoers/def_data.c:518 msgid "Allow the user to specify a timeout on the command line" msgstr "Dopustite korisniku da specificira tajmaut na komandnom retku" -#: plugins/sudoers/def_data.c:516 +#: plugins/sudoers/def_data.c:522 msgid "Flush I/O log data to disk immediately instead of buffering it" msgstr "U/I dnevnik ispisivati direktno na disk umjesto preko međuspremnika" -#: plugins/sudoers/def_data.c:520 +#: plugins/sudoers/def_data.c:526 msgid "Include the process ID when logging via syslog" msgstr "U syslog dnevnik upisivati i ID procesa" -#: plugins/sudoers/def_data.c:524 +#: plugins/sudoers/def_data.c:530 #, c-format msgid "Type of authentication timestamp record: %s" msgstr "Tip zapisa autentifikacijskih vremenskih oznaka: %s" -#: plugins/sudoers/def_data.c:528 +#: plugins/sudoers/def_data.c:534 #, c-format msgid "Authentication failure message: %s" msgstr "Greška u provjeri autentičnosti: %s" -#: plugins/sudoers/def_data.c:532 +#: plugins/sudoers/def_data.c:538 msgid "Ignore case when matching user names" msgstr "Zanemari veličinu slova kad se uspoređuju imena korisnika" -#: plugins/sudoers/def_data.c:536 +#: plugins/sudoers/def_data.c:542 msgid "Ignore case when matching group names" msgstr "Zanemari velika/mala slova pri usporedbi imena grupa" -#: plugins/sudoers/def_data.c:540 +#: plugins/sudoers/def_data.c:546 msgid "Log when a command is allowed by sudoers" msgstr "Dnevniči (upiše u dnevnik) onda kad sudoers dopusti naredbu" -#: plugins/sudoers/def_data.c:544 +#: plugins/sudoers/def_data.c:550 msgid "Log when a command is denied by sudoers" msgstr "Dnevniči (upiše u dnevnik) onda kad sudoers ne dopusti naredbu" -#: plugins/sudoers/def_data.c:548 +#: plugins/sudoers/def_data.c:554 msgid "Sudo log server(s) to connect to with optional port" msgstr "Server(i) sudo dnevnika za spajanje na opcionalni port" -#: plugins/sudoers/def_data.c:552 +#: plugins/sudoers/def_data.c:558 #, c-format msgid "Sudo log server timeout in seconds: %u" msgstr "Tajmaut servera sudo dnevnika u sekundama: %u" -#: plugins/sudoers/def_data.c:556 +#: plugins/sudoers/def_data.c:562 msgid "Enable SO_KEEPALIVE socket option on the socket connected to the logserver" msgstr "Omogućite opciju utičnice SO_KEEPALIVE na utičnici spojenoj na server dnevnika" -#: plugins/sudoers/def_data.c:560 +#: plugins/sudoers/def_data.c:566 #, c-format msgid "Path to the audit server's CA bundle file: %s" msgstr "Staza do datoteke s paketom certifikata (CA) revizijskog servera: %s" -#: plugins/sudoers/def_data.c:564 +#: plugins/sudoers/def_data.c:570 #, c-format msgid "Path to the sudoers certificate file: %s" msgstr "Staza do datoteke sa sudoers certifikatima: %s" -#: plugins/sudoers/def_data.c:568 +#: plugins/sudoers/def_data.c:574 #, c-format msgid "Path to the sudoers private key file: %s" msgstr "Staza do datoteke sa sudoers privatnim (tajnim) ključem: %s" -#: plugins/sudoers/def_data.c:572 +#: plugins/sudoers/def_data.c:578 msgid "Verify that the log server's certificate is valid" msgstr "Provjerite je li certifikat dnevničkog servera valjan" -#: plugins/sudoers/def_data.c:576 +#: plugins/sudoers/def_data.c:582 msgid "Allow the use of unknown runas user and/or group ID" msgstr "Dopustite nepoznate vrijednosti za korisničko ime i/ili ID grupe za ‘runas’" -#: plugins/sudoers/def_data.c:580 +#: plugins/sudoers/def_data.c:586 msgid "Only permit running commands as a user with a valid shell" msgstr "Dopustite izvršavanje naredbi samo korisniku s valjanom ljuskom" -#: plugins/sudoers/def_data.c:584 +#: plugins/sudoers/def_data.c:590 msgid "Set the pam remote user to the user running sudo" msgstr "Postavite udaljenog korisnika PAM-a na korisnika koji izvršava sudo" -#: plugins/sudoers/def_data.c:588 +#: plugins/sudoers/def_data.c:594 msgid "Set the pam remote host to the local host name" msgstr "Postavite PAM udaljenog hosta pam na ime lokalnog hosta (računala)" -#: plugins/sudoers/def_data.c:592 +#: plugins/sudoers/def_data.c:598 #, c-format msgid "Working directory to change to before executing the command: %s" msgstr "Radni direktorij u koji treba otići prije izvršavanja naredbe: %s" -#: plugins/sudoers/def_data.c:596 +#: plugins/sudoers/def_data.c:602 #, c-format msgid "Root directory to change to before executing the command: %s" msgstr "Root direktorij u koji treba otići prije izvršavanja naredbe: %s" -#: plugins/sudoers/def_data.c:600 +#: plugins/sudoers/def_data.c:606 #, c-format msgid "The format of logs to produce: %s" msgstr "Format dnevnika: %s" -#: plugins/sudoers/def_data.c:604 +#: plugins/sudoers/def_data.c:610 msgid "Enable SELinux RBAC support" msgstr "Omogući podršku za SELinux RBAC" -#: plugins/sudoers/def_data.c:608 +#: plugins/sudoers/def_data.c:614 #, c-format msgid "Path to the file that is created the first time sudo is run: %s" msgstr "Staza do datoteke koja se kreira prilikom prvog sudo pokretanja: %s" -#: plugins/sudoers/def_data.c:612 +#: plugins/sudoers/def_data.c:618 msgid "Intercept further commands and apply sudoers restrictions to them" msgstr "Presretne daljnje naredbe i primijeni ograničenja sudoers-a na njih" -#: plugins/sudoers/def_data.c:616 +#: plugins/sudoers/def_data.c:622 msgid "Log sub-commands run by the original command" msgstr "Urudžbira podnaredbe koje izvodi naredba" -#: plugins/sudoers/def_data.c:620 +#: plugins/sudoers/def_data.c:626 msgid "Log the exit status of commands" msgstr "Urudžbira izlazno stanje pokrenute naredbe" -#: plugins/sudoers/def_data.c:624 +#: plugins/sudoers/def_data.c:630 msgid "Subsequent commands in an intercepted session must be authenticated" msgstr "Naredne naredbe u presretoj sesiji moraju biti ovjerene" -#: plugins/sudoers/def_data.c:628 +#: plugins/sudoers/def_data.c:634 msgid "Allow an intercepted command to run set setuid or setgid programs" msgstr "Dopusti presretnutu naredbu da pokrene program za postavljnje setuid ili setgid" -#: plugins/sudoers/def_data.c:632 +#: plugins/sudoers/def_data.c:638 #, c-format msgid "The maximum size to which the process's address space may grow (in bytes): %s" msgstr "Maksimalna veličina do koje adresni prostor procesa može narasti (u bajtovima): %s" -#: plugins/sudoers/def_data.c:636 +#: plugins/sudoers/def_data.c:642 #, c-format msgid "The largest size core dump file that may be created (in bytes): %s" msgstr "Najveća veličina datoteke s damp memorijom koja se može stvoriti (u bajtovima): %s" -#: plugins/sudoers/def_data.c:640 +#: plugins/sudoers/def_data.c:646 #, c-format msgid "The maximum amount of CPU time that the process may use (in seconds): %s" msgstr "Maksimalna količina CPU vremena koje proces može koristiti (u sekundama): %s" -#: plugins/sudoers/def_data.c:644 +#: plugins/sudoers/def_data.c:650 #, c-format msgid "The maximum size of the data segment for the process (in bytes): %s" msgstr "Maksimalna veličina podatkovnog segmenta za proces (u bajtovima): %s" -#: plugins/sudoers/def_data.c:648 +#: plugins/sudoers/def_data.c:654 #, c-format msgid "The largest size file that the process may create (in bytes): %s" msgstr "Najveća veličina datoteke koju proces može stvoriti (u bajtovima): %s" -#: plugins/sudoers/def_data.c:652 +#: plugins/sudoers/def_data.c:658 #, c-format msgid "The maximum number of locks that the process may establish: %s" msgstr "Maksimalni broj zaključavanja koje proces može uspostaviti: %s" -#: plugins/sudoers/def_data.c:656 +#: plugins/sudoers/def_data.c:662 #, c-format msgid "The maximum size that the process may lock in memory (in bytes): %s" msgstr "Maksimalna veličina koju proces može zaključati u memoriji (u bajtovima): %s" -#: plugins/sudoers/def_data.c:660 +#: plugins/sudoers/def_data.c:666 #, c-format msgid "The maximum number of files that the process may have open: %s" msgstr "Maksimalan broj datoteka koje proces može otvoriti: %s" -#: plugins/sudoers/def_data.c:664 +#: plugins/sudoers/def_data.c:670 #, c-format msgid "The maximum number of processes that the user may run simultaneously: %s" msgstr "Maksimalan broj procesa koje korisnik može istovremeno pokrenuti: %s" -#: plugins/sudoers/def_data.c:668 +#: plugins/sudoers/def_data.c:674 #, c-format msgid "The maximum size to which the process's resident set size may grow (in bytes): %s" msgstr "Maksimalna veličina do koje može narasti rezidentna postavljena veličina procesa (u bajtovima): %s" -#: plugins/sudoers/def_data.c:672 +#: plugins/sudoers/def_data.c:678 #, c-format msgid "The maximum size to which the process's stack may grow (in bytes): %s" msgstr "Maksimalna veličina do koje može narasti stȏg procesa (u bajtovima): %s" -#: plugins/sudoers/def_data.c:676 +#: plugins/sudoers/def_data.c:682 msgid "Attempt authentication even when in non-interactive mode" msgstr "Pokušaj provjere autentičnosti iako se radi u neinteraktivnom načinu" -#: plugins/sudoers/def_data.c:680 +#: plugins/sudoers/def_data.c:686 msgid "Store plaintext passwords in I/O log input" msgstr "Sprema lozinke u čistom tekstu u U/I zapisniku ulaza" -#: plugins/sudoers/def_data.c:684 +#: plugins/sudoers/def_data.c:690 msgid "List of regular expressions to use when matching a password prompt" msgstr "Popis regularnih izraza koji se koriste za podudaranje s lozinkama" -#: plugins/sudoers/def_data.c:688 +#: plugins/sudoers/def_data.c:694 #, c-format msgid "The mechanism used by the intercept and log_subcmds options: %s" msgstr "Mehanizam koji koriste opcije presretanja i log_subcmds: %s" -#: plugins/sudoers/def_data.c:692 +#: plugins/sudoers/def_data.c:698 msgid "Attempt to verify the command and arguments after execution" msgstr "Pokušaj provjere naredbe i argumente nakon izvršenja" -#: plugins/sudoers/def_data.c:696 +#: plugins/sudoers/def_data.c:702 #, c-format msgid "AppArmor profile to use in the new security context: %s" msgstr "AppArmor profil za upotrebu u novom sigurnosnom kontekstu: %s" +#: plugins/sudoers/def_data.c:706 +#, c-format +msgid "Command denial message: %s" +msgstr "Poruka o odbijanju naredbe: %s" + #: plugins/sudoers/defaults.c:207 #, c-format msgid "unknown defaults entry \"%s\"" @@ -2660,64 +2672,64 @@ msgstr "nevaljani Defaults tip 0x%x za opciju „%s“" msgid "value \"%s\" is invalid for option \"%s\"" msgstr "vrijednost „%s“ nije ispravna za opciju „%s“" -#: plugins/sudoers/defaults.c:1176 plugins/sudoers/policy.c:213 -#: plugins/sudoers/policy.c:222 +#: plugins/sudoers/defaults.c:1189 plugins/sudoers/policy.c:208 +#: plugins/sudoers/policy.c:217 #, c-format msgid "path name for \"%s\" too long" msgstr "ime staze za „%s“ je predugo" -#: plugins/sudoers/defaults.c:1182 +#: plugins/sudoers/defaults.c:1195 #, c-format msgid "values for \"%s\" must start with a '/', '~', or '*'" msgstr "vrijednost za „%s“ mora započeti s „/“, „~“, ili „*“" -#: plugins/sudoers/defaults.c:1189 +#: plugins/sudoers/defaults.c:1202 #, c-format msgid "values for \"%s\" must start with a '/'" msgstr "vrijednost za „%s“ mora početi s „/“" -#: plugins/sudoers/display.c:160 +#: plugins/sudoers/display.c:154 #, c-format msgid "LDAP Role: %s\n" msgstr "LDAP Role: %s\n" -#: plugins/sudoers/display.c:163 +#: plugins/sudoers/display.c:157 #, c-format msgid "Sudoers entry: %s\n" msgstr "Sudoers stavka: %s\n" -#: plugins/sudoers/display.c:166 +#: plugins/sudoers/display.c:160 msgid " RunAsUsers: " msgstr " RunAsUsers: " -#: plugins/sudoers/display.c:181 +#: plugins/sudoers/display.c:175 msgid " RunAsGroups: " msgstr " RunAsGroups: " -#: plugins/sudoers/display.c:191 +#: plugins/sudoers/display.c:185 msgid " Options: " msgstr " Opcije: " -#: plugins/sudoers/display.c:255 +#: plugins/sudoers/display.c:249 msgid " Commands:\n" msgstr " Naredbe:\n" -#: plugins/sudoers/display.c:478 +#: plugins/sudoers/display.c:472 #, c-format msgid "Matching Defaults entries for %s on %s:\n" msgstr "Odgovarajući Defaults unosi za %s na %s:\n" -#: plugins/sudoers/display.c:496 +#: plugins/sudoers/display.c:490 #, c-format msgid "Runas and Command-specific defaults for %s:\n" msgstr "Runas i Command-specifične zadane vrijednosti za %s:\n" -#: plugins/sudoers/display.c:514 +#: plugins/sudoers/display.c:508 #, c-format msgid "User %s may run the following commands on %s:\n" msgstr "Korisnik %s može pokrenuti sljedeće naredbe na %s:\n" -#: plugins/sudoers/display.c:530 +#: plugins/sudoers/display.c:524 #, c-format msgid "User %s is not allowed to run sudo on %s.\n" msgstr "Korisniku %s nije dopušteno pokrenuti sudo na %s.\n" @@ -2731,15 +2743,15 @@ msgstr "ignoriramo editor: %.*s" msgid "editor arguments may not contain \"--\"" msgstr "argumenti editora ne smiju sadržavati „--“" -#: plugins/sudoers/env.c:426 +#: plugins/sudoers/env.c:443 msgid "sudo_putenv: corrupted envp, length mismatch" msgstr "sudo_putenv: oštećen envp, duljina ne odgovara" -#: plugins/sudoers/env.c:1119 +#: plugins/sudoers/env.c:1137 msgid "unable to rebuild the environment" msgstr "nije moguće obnoviti okolinu" -#: plugins/sudoers/env.c:1199 +#: plugins/sudoers/env.c:1217 #, c-format msgid "sorry, you are not allowed to set the following environment variables: %s" msgstr "nemate dopuštenje za postavljanje sljedećih varijabli okoline: %s" @@ -2783,37 +2795,37 @@ msgstr "„%s“ nije valjana mrežna maska (nemoguće ju je raščlaniti)" msgid "Local IP address and netmask pairs:\n" msgstr "Parovi lokalnih IP adresa i mrežnih maski:\n" -#: plugins/sudoers/iolog.c:694 +#: plugins/sudoers/iolog.c:702 msgid "unable to update sequence file" msgstr "nije moguće ažurirati datoteku redoslijeda (sequence file)" -#: plugins/sudoers/iolog.c:728 plugins/sudoers/iolog.c:917 -#: plugins/sudoers/iolog.c:1080 plugins/sudoers/iolog.c:1087 -#: plugins/sudoers/iolog.c:1209 plugins/sudoers/iolog.c:1216 -#: plugins/sudoers/iolog.c:1316 plugins/sudoers/iolog.c:1323 +#: plugins/sudoers/iolog.c:736 plugins/sudoers/iolog.c:925 +#: plugins/sudoers/iolog.c:1088 plugins/sudoers/iolog.c:1095 +#: plugins/sudoers/iolog.c:1217 plugins/sudoers/iolog.c:1224 +#: plugins/sudoers/iolog.c:1324 plugins/sudoers/iolog.c:1331 #, c-format msgid "unable to write to I/O log file: %s" msgstr "nije moguće pisati u U/I dnevnik: %s" -#: plugins/sudoers/iolog.c:736 +#: plugins/sudoers/iolog.c:744 #, c-format msgid "unable to create %s/%s" msgstr "nije moguće stvoriti %s/%s" -#: plugins/sudoers/iolog.c:965 +#: plugins/sudoers/iolog.c:973 #, c-format msgid "%s: internal error, I/O log file for event %d not open" msgstr "%s: interna greška, U/I dnevnička datoteka za događaj %d nije otvorena" -#: plugins/sudoers/iolog.c:1065 plugins/sudoers/iolog.c:1194 -#: plugins/sudoers/iolog.c:1300 plugins/sudoers/timestamp.c:897 -#: plugins/sudoers/timestamp.c:989 plugins/sudoers/visudo.c:555 +#: plugins/sudoers/iolog.c:1073 plugins/sudoers/iolog.c:1202 +#: plugins/sudoers/iolog.c:1308 plugins/sudoers/timestamp.c:900 +#: plugins/sudoers/timestamp.c:992 plugins/sudoers/visudo.c:555 #: plugins/sudoers/visudo.c:561 msgid "unable to read the clock" msgstr "nije moguće pročitati vrijeme (clock)" -#: plugins/sudoers/iolog.c:1292 plugins/sudoers/log_client.c:1203 -#: plugins/sudoers/log_client.c:1213 plugins/sudoers/log_client.c:1217 +#: plugins/sudoers/iolog.c:1300 plugins/sudoers/log_client.c:1226 +#: plugins/sudoers/log_client.c:1236 plugins/sudoers/log_client.c:1240 #, c-format msgid "%s: internal error, invalid signal %d" msgstr "%s: interna greška, nevaljani signal %d" @@ -2860,15 +2872,15 @@ msgstr "nepodržani tip adrese LDAP: %s" msgid "unable to mix ldap and ldaps URIs" msgstr "ne možete zajedno koristiti ldap i ldaps adrese" -#: 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 +#: plugins/sudoers/ldap_util.c:496 plugins/sudoers/ldap_util.c:503 +#: plugins/sudoers/ldap_util.c:511 plugins/sudoers/ldap_util.c:519 +#: plugins/sudoers/ldap_util.c:527 plugins/sudoers/ldap_util.c:535 +#: plugins/sudoers/ldap_util.c:543 plugins/sudoers/ldap_util.c:551 #, c-format msgid "duplicate sudoOption: %s%s%s" msgstr "duplicira sudoOption: %s%s%s" -#: plugins/sudoers/ldap_util.c:568 plugins/sudoers/ldap_util.c:570 +#: plugins/sudoers/ldap_util.c:569 plugins/sudoers/ldap_util.c:571 #, c-format msgid "unable to convert sudoOption: %s%s%s" msgstr "nije moguće pretvoriti sudoOption: %s%s%s" @@ -2881,63 +2893,63 @@ msgstr "nije moguće otvoriti revizijski sustav" msgid "unable to send audit message" msgstr "nije moguće poslati revizijsku poruku" -#: plugins/sudoers/log_client.c:125 plugins/sudoers/log_client.c:412 -#: plugins/sudoers/log_client.c:1450 plugins/sudoers/log_client.c:2076 +#: plugins/sudoers/log_client.c:125 plugins/sudoers/log_client.c:421 +#: plugins/sudoers/log_client.c:1473 plugins/sudoers/log_client.c:2101 msgid "error in event loop" msgstr "greška u petlji događaja" -#: plugins/sudoers/log_client.c:205 +#: plugins/sudoers/log_client.c:214 #, c-format msgid "Creation of new SSL_CTX object failed: %s" msgstr "Nije uspjelo stvoriti novi ‘SSL_CTX’ objekt: %s" -#: plugins/sudoers/log_client.c:230 +#: plugins/sudoers/log_client.c:239 #, c-format msgid "unable to load certificate authority bundle %s" msgstr "nije moguće učitati datoteku s certifikatatima (CA bundle) %s" -#: plugins/sudoers/log_client.c:252 +#: plugins/sudoers/log_client.c:261 #, c-format msgid "unable to load certificate %s" msgstr "nije moguće učitati certifikate %s" -#: plugins/sudoers/log_client.c:266 +#: plugins/sudoers/log_client.c:275 #, c-format msgid "unable to load private key %s" msgstr "nije moguće učitati privatni ključ %s" -#: plugins/sudoers/log_client.c:275 +#: plugins/sudoers/log_client.c:284 #, c-format msgid "Unable to allocate ssl object: %s" msgstr "Nije uspjelo dodijeliti memoriju za SSL objekt: %s" -#: plugins/sudoers/log_client.c:364 plugins/sudoers/log_client.c:369 +#: plugins/sudoers/log_client.c:373 plugins/sudoers/log_client.c:378 #, c-format msgid "TLS connection to %s:%s failed: %s" msgstr "TLS veza sa %s:%s nije uspjela: %s" -#: plugins/sudoers/log_client.c:545 +#: plugins/sudoers/log_client.c:554 msgid "TLS initialization was unsuccessful" msgstr "TLS inicijalizacija nije bila uspješna" -#: plugins/sudoers/log_client.c:555 +#: plugins/sudoers/log_client.c:564 msgid "TLS handshake was unsuccessful" msgstr "TLS rukovanje (handshake) nije bila uspješno" -#: plugins/sudoers/log_client.c:1221 +#: plugins/sudoers/log_client.c:1244 #, c-format msgid "%s: internal error, invalid exit status %d" msgstr "%s: **interna greška** -- nevaljani izlazni status %d" -#: plugins/sudoers/log_client.c:1757 plugins/sudoers/log_client.c:1782 +#: plugins/sudoers/log_client.c:1780 plugins/sudoers/log_client.c:1805 msgid "lost connection to log server" msgstr "veza sa serverom za autentifikaciju je prekinuta (izgubljena je)" -#: plugins/sudoers/log_client.c:1859 +#: plugins/sudoers/log_client.c:1882 msgid "missing write buffer" msgstr "nema međuspremnika za pisanje" -#: plugins/sudoers/log_client.c:2015 +#: plugins/sudoers/log_client.c:2040 msgid "unable to connect to log server" msgstr "nije moguće spojiti se na dnevnički server" @@ -2953,42 +2965,55 @@ msgid "user NOT authorized on host" msgstr "korisnik NEMA ovlasti na računalu (nije autoriziran)" #: plugins/sudoers/logging.c:299 +msgid "setid command rejected in intercept mode" +msgstr "naredba ‘setid’ odbijena je u presretanju " + +#: plugins/sudoers/logging.c:301 msgid "command not allowed" msgstr "naredba nije dopuštena" -#: plugins/sudoers/logging.c:320 +#: plugins/sudoers/logging.c:322 #, c-format msgid "%s is not in the sudoers file.\n" msgstr "%s nije u sudoers datoteci\n" -#: plugins/sudoers/logging.c:323 +#: plugins/sudoers/logging.c:325 #, c-format msgid "%s is not allowed to run sudo on %s.\n" msgstr "%s nije dopušteno pokrenuti sudo na %s.\n" -#: plugins/sudoers/logging.c:326 +#: plugins/sudoers/logging.c:328 plugins/sudoers/parser_warnx.c:59 +#, c-format +msgid "%s: %s\n" +msgstr "%s: %s\n" + +#: plugins/sudoers/logging.c:329 +msgid "setid commands are not permitted in intercept mode" +msgstr "naredba 'setid’ nije dopuštena u presretanju" + +#: plugins/sudoers/logging.c:331 #, c-format msgid "Sorry, user %s may not run sudo on %s.\n" msgstr "Nažalost, korisnik %s ne smije pokrenuti sudo na %s.\n" -#: plugins/sudoers/logging.c:339 +#: plugins/sudoers/logging.c:344 #, c-format msgid "Sorry, user %s is not allowed to execute '%s%s%s%s' as %s%s%s on %s.\n" msgstr "Korisniku %s nije dopušteno izvršiti ‘%s%s%s%s’ kao %s%s%s na %s.\n" -#: plugins/sudoers/logging.c:350 +#: plugins/sudoers/logging.c:358 msgid "This incident has been reported to the administrator.\n" msgstr "Ovaj incident bit će prijavljen administratoru.\n" -#: plugins/sudoers/logging.c:387 plugins/sudoers/sudoers.c:547 -#: plugins/sudoers/sudoers.c:549 plugins/sudoers/sudoers.c:551 -#: plugins/sudoers/sudoers.c:553 plugins/sudoers/sudoers.c:777 -#: plugins/sudoers/sudoers.c:779 +#: plugins/sudoers/logging.c:395 plugins/sudoers/sudoers.c:564 +#: plugins/sudoers/sudoers.c:566 plugins/sudoers/sudoers.c:568 +#: plugins/sudoers/sudoers.c:570 plugins/sudoers/sudoers.c:794 +#: plugins/sudoers/sudoers.c:796 #, c-format msgid "%s: command not found" msgstr "%s: naredba nije pronađena" -#: plugins/sudoers/logging.c:389 plugins/sudoers/sudoers.c:543 +#: plugins/sudoers/logging.c:397 plugins/sudoers/sudoers.c:560 #, c-format msgid "" "ignoring \"%s\" found in '.'\n" @@ -2997,7 +3022,7 @@ msgstr "" "zanemaruje se „%s“ pronađen u „.“\n" "Koristite „sudo ./%s“ ako je to „%s“ koji želite pokrenuti." -#: plugins/sudoers/logging.c:409 +#: plugins/sudoers/logging.c:417 #, c-format msgid "%u incorrect password attempt" msgid_plural "%u incorrect password attempts" @@ -3005,24 +3030,24 @@ msgstr[0] "%u netočni pokušaj unosa lozinke" msgstr[1] "%u netočna pokušaja unosa lozinke" msgstr[2] "%u netočnih pokušaja unosa lozinke" -#: plugins/sudoers/logging.c:500 +#: plugins/sudoers/logging.c:508 msgid "authentication failure" msgstr "neuspješna autentifikacija" -#: plugins/sudoers/logging.c:539 plugins/sudoers/logging.c:558 +#: plugins/sudoers/logging.c:552 plugins/sudoers/logging.c:571 msgid "a password is required" msgstr "nužna je lozinka" -#: plugins/sudoers/logging.c:881 +#: plugins/sudoers/logging.c:889 msgid "problem parsing sudoers" msgstr "problem sa sudoers raščlanivanjem" -#: plugins/sudoers/logging.c:922 plugins/sudoers/logging.c:930 +#: plugins/sudoers/logging.c:930 plugins/sudoers/logging.c:938 #, c-format msgid "%s:%d:%d: %s" msgstr "%s:%d:%d: %s" -#: plugins/sudoers/logging.c:1108 +#: plugins/sudoers/logging.c:1119 #, c-format msgid "unable to write log file %s" msgstr "nije moguće zapisati dnevničku datoteku %s" @@ -3052,11 +3077,6 @@ msgstr "nevaljani LDIF atribut: %s" msgid "%s:%d:%d: %s\n" msgstr "%s:%d:%d: %s\n" -#: plugins/sudoers/parser_warnx.c:59 -#, c-format -msgid "%s: %s\n" -msgstr "%s: %s\n" - #: plugins/sudoers/pivot.c:71 msgid "unable to restore root directory" msgstr "nije moguće obnoviti korijenski (root) direktorij" @@ -3070,59 +3090,59 @@ msgstr "nije moguće obnoviti trenutni radni direktorij" msgid "invalid %.*s set by sudo front-end" msgstr "nevaljana opcija %.*s postavljena kroz sudo front-end" -#: plugins/sudoers/policy.c:364 plugins/sudoers/testsudoers.c:329 +#: plugins/sudoers/policy.c:347 plugins/sudoers/testsudoers.c:329 msgid "unable to parse network address list" msgstr "nije moguće pročitati popis mrežnih adresa (nemoguće ih je raščlaniti)" -#: plugins/sudoers/policy.c:556 +#: plugins/sudoers/policy.c:555 msgid "user name not set by sudo front-end" msgstr "ime korisnika nije postavio front-end sudo-a" -#: plugins/sudoers/policy.c:560 +#: plugins/sudoers/policy.c:559 msgid "user-ID not set by sudo front-end" msgstr "korisnički ID (user-ID) nije postavio front-end sudo-a" -#: plugins/sudoers/policy.c:564 +#: plugins/sudoers/policy.c:563 msgid "group-ID not set by sudo front-end" msgstr "grupni ID (group-ID) nije postavio front-end sudo-a" -#: plugins/sudoers/policy.c:568 +#: plugins/sudoers/policy.c:567 msgid "host name not set by sudo front-end" msgstr "ime računala (host name) nije postavio front-end sudo-a" -#: plugins/sudoers/policy.c:757 +#: plugins/sudoers/policy.c:765 #, c-format msgid "invalid working directory: %s" msgstr "nevaljani radni direktorij: %s" -#: plugins/sudoers/policy.c:944 +#: plugins/sudoers/policy.c:952 #, c-format msgid "invalid chroot directory: %s" msgstr "nevaljani chroot direktorij: %s" -#: plugins/sudoers/policy.c:1153 plugins/sudoers/visudo.c:919 +#: plugins/sudoers/policy.c:1163 plugins/sudoers/visudo.c:919 #: plugins/sudoers/visudo.c:1218 #, c-format msgid "unable to execute %s" msgstr "nije moguće izvršiti %s" -#: plugins/sudoers/policy.c:1225 plugins/sudoers/policy.c:1260 -#: plugins/sudoers/policy.c:1282 plugins/sudoers/policy.c:1300 +#: plugins/sudoers/policy.c:1232 plugins/sudoers/policy.c:1267 +#: plugins/sudoers/policy.c:1289 plugins/sudoers/policy.c:1307 #, c-format msgid "%s: invalid mode flags from sudo front end: 0x%x" msgstr "%s: nevaljane zastavice načina rada iz sudo front end: 0x%x" -#: plugins/sudoers/policy.c:1323 +#: plugins/sudoers/policy.c:1330 #, c-format msgid "Sudoers policy plugin version %s\n" msgstr "Inačica sudoers plugina s pravilima %s\n" -#: plugins/sudoers/policy.c:1325 +#: plugins/sudoers/policy.c:1332 #, c-format msgid "Sudoers file grammar version %d\n" msgstr "Inačica sudoers datotečne gramatike %d\n" -#: plugins/sudoers/policy.c:1329 +#: plugins/sudoers/policy.c:1336 #, c-format msgid "" "\n" @@ -3131,29 +3151,29 @@ msgstr "" "\n" "Staza do sudoers: %s\n" -#: plugins/sudoers/policy.c:1332 +#: plugins/sudoers/policy.c:1339 #, c-format msgid "nsswitch path: %s\n" msgstr "nsswitch staza: %s\n" -#: plugins/sudoers/policy.c:1335 +#: plugins/sudoers/policy.c:1342 #, c-format msgid "ldap.conf path: %s\n" msgstr "ldap.conf staza: %s\n" -#: plugins/sudoers/policy.c:1337 +#: plugins/sudoers/policy.c:1344 #, c-format msgid "ldap.secret path: %s\n" msgstr "ldap.secret staza: %s\n" # hook: A location in a routine or program in which the programmer can connect or insert other routines for the purpose of debugging or enhancing functionality. -#: plugins/sudoers/policy.c:1370 +#: plugins/sudoers/policy.c:1377 #, c-format msgid "unable to register hook of type %d (version %d.%d)" msgstr "nije moguće registrirati rutinu (hook) tipa %d (inačica %d.%d)" # hook: A location in a routine or program in which the programmer can connect or insert other routines for the purpose of debugging or enhancing functionality. -#: plugins/sudoers/policy.c:1388 +#: plugins/sudoers/policy.c:1395 #, c-format msgid "unable to deregister hook of type %d (version %d.%d)" msgstr "nije moguće poništiti registraciju tipa (hook) %d (inačica %d.%d)" @@ -3200,24 +3220,24 @@ msgstr "nije moguće zapamtiti (cache) grupu %s" msgid "unable to cache group %s, already exists" msgstr "nije moguće predmemorirati grupu %s jer već postoji" -#: plugins/sudoers/pwutil.c:900 plugins/sudoers/pwutil.c:985 -#: plugins/sudoers/pwutil.c:1039 plugins/sudoers/pwutil.c:1095 +#: plugins/sudoers/pwutil.c:900 plugins/sudoers/pwutil.c:988 +#: plugins/sudoers/pwutil.c:1042 plugins/sudoers/pwutil.c:1101 #, c-format msgid "unable to cache group list for %s, already exists" msgstr "nije moguće predmemorirati popis grupa za %s jer već postoji" -#: plugins/sudoers/pwutil.c:906 plugins/sudoers/pwutil.c:990 -#: plugins/sudoers/pwutil.c:1045 plugins/sudoers/pwutil.c:1100 +#: plugins/sudoers/pwutil.c:906 plugins/sudoers/pwutil.c:993 +#: plugins/sudoers/pwutil.c:1048 plugins/sudoers/pwutil.c:1106 #, c-format msgid "unable to cache group list for %s" msgstr "nije moguće zapamtiti (cache) popis grupa za %s" -#: plugins/sudoers/pwutil.c:979 +#: plugins/sudoers/pwutil.c:982 #, c-format msgid "unable to parse groups for %s" msgstr "nije moguće pročitati grupe za %s" -#: plugins/sudoers/pwutil.c:1089 +#: plugins/sudoers/pwutil.c:1095 #, c-format msgid "unable to parse gids for %s" msgstr "nije moguće razabrati GID-ove za %s" @@ -3346,82 +3366,82 @@ msgstr "korisniku nije dopušteno promijeniti direktorij na %s" msgid "you are not permitted to use the -D option with %s" msgstr "vama nije dopušteno koristi opciju -D s/sa %s" -#: plugins/sudoers/sudoers.c:542 +#: plugins/sudoers/sudoers.c:559 msgid "command in current directory" msgstr "naredba u trenutnom direktoriju" -#: plugins/sudoers/sudoers.c:557 +#: plugins/sudoers/sudoers.c:574 msgid "\"cd\" is a shell built-in command, it cannot be run directly." msgstr "„cd“ naredba je ugrađena u ljusku, ne može se izravno pokrenuti." -#: plugins/sudoers/sudoers.c:559 +#: plugins/sudoers/sudoers.c:576 msgid "the -s option may be used to run a privileged shell." msgstr "opcija -s može se koristiti za pokretanje privilegirane ljuske." -#: plugins/sudoers/sudoers.c:561 +#: plugins/sudoers/sudoers.c:578 msgid "the -D option may be used to run a command in a specific directory." msgstr "opcija -D može se koristiti za pokretanje naredbe u određenom direktoriju." -#: plugins/sudoers/sudoers.c:570 +#: plugins/sudoers/sudoers.c:587 msgid "user not allowed to set a command timeout" msgstr "korisniku nije dopušteno postavljanje tajmaut naredbe" -#: plugins/sudoers/sudoers.c:572 +#: plugins/sudoers/sudoers.c:589 msgid "sorry, you are not allowed set a command timeout" msgstr "nažalost, vama nije dopušteno postavljanje tajmaut za naredbu" -#: plugins/sudoers/sudoers.c:580 +#: plugins/sudoers/sudoers.c:597 msgid "user not allowed to preserve the environment" msgstr "korisniku nije dopušteno sačuvati okolinu" -#: plugins/sudoers/sudoers.c:582 +#: plugins/sudoers/sudoers.c:599 msgid "sorry, you are not allowed to preserve the environment" msgstr "vama nije dopušteno zadržati okolinu" -#: plugins/sudoers/sudoers.c:618 +#: plugins/sudoers/sudoers.c:635 msgid "no command specified" msgstr "nijedna naredba nije specificirana" -#: plugins/sudoers/sudoers.c:759 +#: plugins/sudoers/sudoers.c:776 msgid "error setting user-specified environment variables" msgstr "pogreška pri postavljanju korisnikom specificiranih varijabli okruženja" -#: plugins/sudoers/sudoers.c:1211 +#: plugins/sudoers/sudoers.c:1229 msgid "sudoedit doesn't need to be run via sudo" msgstr "sudoedit se ne mora pokrenuti sa sudo" -#: plugins/sudoers/sudoers.c:1296 plugins/sudoers/sudoreplay.c:1613 -#: plugins/sudoers/tsdump.c:138 +#: plugins/sudoers/sudoers.c:1314 plugins/sudoers/sudoreplay.c:1615 +#: plugins/sudoers/tsdump.c:151 #, c-format msgid "unable to read %s" msgstr "nije moguće pročitati %s" -#: plugins/sudoers/sudoers.c:1321 plugins/sudoers/visudo.c:1123 +#: plugins/sudoers/sudoers.c:1339 plugins/sudoers/visudo.c:1123 #, c-format msgid "%s is not a regular file" msgstr "%s nije obična datoteka" -#: plugins/sudoers/sudoers.c:1325 plugins/sudoers/timestamp.c:272 toke.l:1355 +#: plugins/sudoers/sudoers.c:1343 plugins/sudoers/timestamp.c:272 toke.l:1335 #, c-format msgid "%s is owned by uid %u, should be %u" msgstr "vlasnik %s je UID %u, a treba biti %u" -#: plugins/sudoers/sudoers.c:1330 plugins/sudoers/timestamp.c:279 toke.l:1360 +#: plugins/sudoers/sudoers.c:1348 plugins/sudoers/timestamp.c:279 toke.l:1340 #, c-format msgid "%s is world writable" msgstr "%s smije svatko mijenjati/pisati" -#: plugins/sudoers/sudoers.c:1334 plugins/sudoers/timestamp.c:284 toke.l:1363 +#: plugins/sudoers/sudoers.c:1352 plugins/sudoers/timestamp.c:284 toke.l:1343 #, c-format msgid "%s is owned by gid %u, should be %u" msgstr "vlasnik %s je GID %u, a treba biti %u" -#: plugins/sudoers/sudoers.c:1363 +#: plugins/sudoers/sudoers.c:1381 #, c-format msgid "only root can use \"-c %s\"" msgstr "samo root može koristiti „-c %s“" -#: plugins/sudoers/sudoers.c:1382 +#: plugins/sudoers/sudoers.c:1400 #, c-format msgid "unknown login class %s" msgstr "nepoznata klasa prijave %s" @@ -3466,75 +3486,75 @@ msgstr "%s/tajming: %s" msgid "Replaying sudo session: %s" msgstr "Reproduciranje sudo sesije: %s" -#: plugins/sudoers/sudoreplay.c:634 +#: plugins/sudoers/sudoreplay.c:633 plugins/sudoers/sudoreplay.c:636 msgid "unable to set tty to raw mode" msgstr "nije moguće postaviti TTY u direktni mȏd (da ne interpretira posebne znakove)" -#: plugins/sudoers/sudoreplay.c:685 +#: plugins/sudoers/sudoreplay.c:687 msgid "Warning: your terminal is too small to properly replay the log." msgstr "Upozorenje: vaš terminal je premaleni za pravilno reproduciranje dnevnika." -#: plugins/sudoers/sudoreplay.c:686 +#: plugins/sudoers/sudoreplay.c:688 #, c-format msgid "Log geometry is %d x %d, your terminal's geometry is %d x %d." msgstr "Veličina dnevnika je %d x %d, a veličina vašeg terminala %d x %d." -#: plugins/sudoers/sudoreplay.c:714 +#: plugins/sudoers/sudoreplay.c:716 msgid "Replay finished, press any key to restore the terminal." msgstr "Reprodukcija je završena -- obnovite terminal pritiskom na bilo koju tipku." -#: plugins/sudoers/sudoreplay.c:1217 plugins/sudoers/sudoreplay.c:1247 +#: plugins/sudoers/sudoreplay.c:1219 plugins/sudoers/sudoreplay.c:1249 #, c-format msgid "ambiguous expression \"%s\"" msgstr "dvosmisleni izraz „%s“" -#: plugins/sudoers/sudoreplay.c:1269 +#: plugins/sudoers/sudoreplay.c:1271 msgid "unmatched ')' in expression" msgstr "nesparena „)“ u izrazu" -#: plugins/sudoers/sudoreplay.c:1273 +#: plugins/sudoers/sudoreplay.c:1275 #, c-format msgid "unknown search term \"%s\"" msgstr "nepoznati pojam za pretragu „%s“" -#: plugins/sudoers/sudoreplay.c:1288 +#: plugins/sudoers/sudoreplay.c:1290 #, c-format msgid "%s requires an argument" msgstr "%s zahtijeva argument" -#: plugins/sudoers/sudoreplay.c:1298 +#: plugins/sudoers/sudoreplay.c:1300 #, c-format msgid "could not parse date \"%s\"" msgstr "nije moguće raščlaniti datum „%s“" -#: plugins/sudoers/sudoreplay.c:1307 +#: plugins/sudoers/sudoreplay.c:1309 msgid "unmatched '(' in expression" msgstr "nesparena „(“ u izrazu" -#: plugins/sudoers/sudoreplay.c:1309 +#: plugins/sudoers/sudoreplay.c:1311 msgid "illegal trailing \"or\"" msgstr "nelegalni zaostali „or“" -#: plugins/sudoers/sudoreplay.c:1311 +#: plugins/sudoers/sudoreplay.c:1313 msgid "illegal trailing \"!\"" msgstr "nelegalni zaostali „!“" -#: plugins/sudoers/sudoreplay.c:1417 +#: plugins/sudoers/sudoreplay.c:1419 #, c-format msgid "unknown search type %d" msgstr "nepoznati tip za pretragu %d" -#: plugins/sudoers/sudoreplay.c:1679 +#: plugins/sudoers/sudoreplay.c:1681 #, c-format msgid "usage: %s [-hnRS] [-d dir] [-m num] [-s num] ID\n" msgstr "uporaba: %s [-hnRS] [-d dir] [-m num] [-s num] ID\n" -#: plugins/sudoers/sudoreplay.c:1681 +#: plugins/sudoers/sudoreplay.c:1683 #, c-format msgid "usage: %s [-h] [-d dir] -l [search expression]\n" msgstr "uporaba: %s [-h] [-d direktorij] -l [izraz za pretragu]\n" -#: plugins/sudoers/sudoreplay.c:1695 +#: plugins/sudoers/sudoreplay.c:1697 #, c-format msgid "" "%s - replay sudo session logs\n" @@ -3543,7 +3563,7 @@ msgstr "" "%s - reproducira dnevnike sudo sesija\n" "\n" -#: plugins/sudoers/sudoreplay.c:1697 +#: plugins/sudoers/sudoreplay.c:1699 msgid "" "\n" "Options:\n" @@ -3621,26 +3641,26 @@ msgstr "" "\n" "Naredba nije prepoznata" -#: plugins/sudoers/timestamp.c:364 plugins/sudoers/timestamp.c:711 +#: plugins/sudoers/timestamp.c:364 plugins/sudoers/timestamp.c:714 #, c-format msgid "unable to truncate time stamp file to %lld bytes" msgstr "nije moguće skratiti datoteku s vremenskim podacima na %lld bajtova" -#: plugins/sudoers/timestamp.c:908 +#: plugins/sudoers/timestamp.c:911 msgid "ignoring time stamp from the future" msgstr "zanemarena vremenska oznaka iz budućnosti" -#: plugins/sudoers/timestamp.c:931 +#: plugins/sudoers/timestamp.c:934 #, c-format msgid "time stamp too far in the future: %20.20s" msgstr "vremenska oznaka je predaleko u budućnosti: %20.20s" -#: plugins/sudoers/timestamp.c:1067 +#: plugins/sudoers/timestamp.c:1070 #, c-format msgid "unable to lock time stamp file %s" msgstr "nije moguće zaključati datoteku s vremenskim oznakama %s" -#: plugins/sudoers/timestamp.c:1114 +#: plugins/sudoers/timestamp.c:1117 #, c-format msgid "%s:%d:%d timestampowner: unknown user %s" msgstr "%s:%d:%d timestampowner: nepoznati korisnik %s" @@ -3842,19 +3862,19 @@ msgstr "nevaljani nastavak retka" msgid "invalid IPv6 address" msgstr "nevaljana IPv6 adresa" -#: toke.l:863 +#: toke.l:843 msgid "unexpected line break in string" msgstr "neočekivani prelom retka" -#: toke.l:982 +#: toke.l:962 msgid "ignoring editor backup file" msgstr "ignoriramo osiguranje (sigurnosnu kopiju) editora" -#: toke.l:985 +#: toke.l:965 msgid "ignoring file name containing '.'" msgstr "ignoriramo ime datoteke koje sadrži ‘.’" -#: toke.l:1310 +#: toke.l:1290 msgid "too many levels of includes" msgstr "previše razina uključivanja" @@ -3936,9 +3956,6 @@ msgstr "previše razina uključivanja" #~ msgid "problem with defaults entries" #~ msgstr "problem sa stavkama defaults" -#~ msgid "internal error, unable to find %s in list!" -#~ msgstr "**interna greška**, nije moguće pronaći %s na popisu!" - #~ msgid "%s is not in the sudoers file. This incident will be reported.\n" #~ msgstr "%s nije u sudoers datoteci. Ovaj će incident biti prijavljen.\n" diff --git a/plugins/sudoers/po/id.mo b/plugins/sudoers/po/id.mo new file mode 100644 index 000000000..904428ff6 Binary files /dev/null and b/plugins/sudoers/po/id.mo differ diff --git a/plugins/sudoers/po/id.po b/plugins/sudoers/po/id.po new file mode 100644 index 000000000..469f31ffb --- /dev/null +++ b/plugins/sudoers/po/id.po @@ -0,0 +1,3869 @@ +# Portable object template file for the sudoers plugin +# This file is put in the public domain. +# Todd C. Miller , 2011-2018 +# Andika Triwidada , 2023, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: sudoers 1.9.16b1\n" +"Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n" +"POT-Creation-Date: 2024-06-08 09:06-0600\n" +"PO-Revision-Date: 2024-06-17 14:13+0700\n" +"Last-Translator: Andika Triwidada \n" +"Language-Team: Indonesian \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"X-Generator: Poedit 3.4.3\n" + +#: confstr.sh:1 gram.y:1240 plugins/sudoers/logging.c:919 +msgid "syntax error" +msgstr "galat sintaks" + +#: confstr.sh:2 +msgid "%p's password: " +msgstr "kata sandi %p: " + +#: confstr.sh:3 +msgid "[sudo] password for %p: " +msgstr "[sudo] kata sandi untuk %p: " + +#: confstr.sh:4 +msgid "Password: " +msgstr "Kata Sandi: " + +#: confstr.sh:5 +msgid "*** SECURITY information for %h ***" +msgstr "*** Informasi KEAMANAN untuk %h ***" + +#: confstr.sh:6 +msgid "Sorry, try again." +msgstr "Maaf, coba lagi." + +#: gram.y:238 gram.y:305 gram.y:314 gram.y:323 gram.y:333 gram.y:343 gram.y:367 +#: gram.y:394 gram.y:403 gram.y:411 gram.y:420 gram.y:429 gram.y:502 gram.y:512 +#: gram.y:524 gram.y:566 gram.y:575 gram.y:584 gram.y:593 gram.y:726 gram.y:735 +#: gram.y:750 gram.y:770 gram.y:789 gram.y:942 gram.y:947 gram.y:955 gram.y:969 +#: gram.y:975 gram.y:987 gram.y:993 gram.y:1118 gram.y:1127 gram.y:1135 +#: gram.y:1144 gram.y:1153 gram.y:1182 gram.y:1191 gram.y:1199 gram.y:1300 +#: gram.y:1430 gram.y:1811 gram.y:1822 gram.y:1898 lib/eventlog/eventlog.c:236 +#: lib/eventlog/eventlog.c:313 lib/eventlog/eventlog.c:778 +#: lib/eventlog/eventlog.c:855 lib/eventlog/eventlog.c:1189 +#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:501 +#: lib/eventlog/parse_json.c:531 lib/iolog/iolog_filter.c:142 +#: lib/iolog/iolog_filter.c:202 lib/iolog/iolog_filter.c:233 +#: lib/iolog/iolog_legacy.c:101 lib/iolog/iolog_legacy.c:112 +#: lib/iolog/iolog_legacy.c:124 lib/iolog/iolog_legacy.c:134 +#: lib/iolog/iolog_legacy.c:140 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:147 logsrvd/iolog_writer.c:185 +#: logsrvd/iolog_writer.c:218 logsrvd/iolog_writer.c:228 +#: logsrvd/iolog_writer.c:257 logsrvd/iolog_writer.c:278 +#: logsrvd/iolog_writer.c:290 logsrvd/iolog_writer.c:300 +#: logsrvd/iolog_writer.c:318 logsrvd/iolog_writer.c:328 +#: logsrvd/iolog_writer.c:338 logsrvd/iolog_writer.c:350 +#: logsrvd/iolog_writer.c:385 logsrvd/iolog_writer.c:391 +#: logsrvd/iolog_writer.c:398 logsrvd/iolog_writer.c:404 +#: logsrvd/iolog_writer.c:588 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:324 +#: logsrvd/logsrvd.c:1058 logsrvd/logsrvd.c:1121 logsrvd/logsrvd.c:1599 +#: logsrvd/logsrvd.c:1604 logsrvd/logsrvd.c:1791 logsrvd/logsrvd.c:2046 +#: 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:1041 +#: logsrvd/logsrvd_conf.c:1058 logsrvd/logsrvd_conf.c:1453 +#: logsrvd/logsrvd_conf.c:1600 logsrvd/logsrvd_conf.c:1626 +#: logsrvd/logsrvd_conf.c:1638 logsrvd/logsrvd_conf.c:1645 +#: logsrvd/logsrvd_conf.c:1651 logsrvd/logsrvd_conf.c:1748 +#: logsrvd/logsrvd_journal.c:76 logsrvd/logsrvd_journal.c:216 +#: logsrvd/logsrvd_journal.c:217 logsrvd/logsrvd_journal.c:274 +#: logsrvd/logsrvd_journal.c:279 logsrvd/logsrvd_journal.c:439 +#: logsrvd/logsrvd_journal.c:441 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:468 logsrvd/logsrvd_local.c:469 +#: logsrvd/logsrvd_local.c:474 logsrvd/logsrvd_local.c:475 +#: logsrvd/logsrvd_queue.c:159 logsrvd/logsrvd_queue.c:189 +#: logsrvd/logsrvd_queue.c:266 logsrvd/logsrvd_relay.c:446 +#: logsrvd/logsrvd_relay.c:748 logsrvd/logsrvd_relay.c:855 +#: logsrvd/sendlog.c:256 logsrvd/sendlog.c:265 logsrvd/sendlog.c:297 +#: logsrvd/sendlog.c:303 logsrvd/sendlog.c:352 logsrvd/sendlog.c:651 +#: logsrvd/sendlog.c:1847 plugins/sudoers/audit.c:118 +#: plugins/sudoers/auth/bsdauth.c:154 plugins/sudoers/auth/kerb5.c:123 +#: plugins/sudoers/auth/kerb5.c:151 plugins/sudoers/auth/pam.c:697 +#: plugins/sudoers/auth/rfc1938.c:112 plugins/sudoers/auth/sia.c:61 +#: plugins/sudoers/canon_path.c:129 plugins/sudoers/canon_path.c:161 +#: plugins/sudoers/check_aliases.c:128 plugins/sudoers/check_util.c:56 +#: plugins/sudoers/check_util.c:84 plugins/sudoers/cvtsudoers.c:132 +#: plugins/sudoers/cvtsudoers.c:176 plugins/sudoers/cvtsudoers.c:193 +#: plugins/sudoers/cvtsudoers.c:204 plugins/sudoers/cvtsudoers.c:338 +#: plugins/sudoers/cvtsudoers.c:379 plugins/sudoers/cvtsudoers.c:399 +#: plugins/sudoers/cvtsudoers.c:545 plugins/sudoers/cvtsudoers.c:698 +#: plugins/sudoers/cvtsudoers.c:716 plugins/sudoers/cvtsudoers.c:891 +#: plugins/sudoers/cvtsudoers.c:899 plugins/sudoers/cvtsudoers.c:1393 +#: plugins/sudoers/cvtsudoers.c:1397 plugins/sudoers/cvtsudoers.c:1497 +#: plugins/sudoers/cvtsudoers_csv.c:182 plugins/sudoers/cvtsudoers_csv.c:255 +#: plugins/sudoers/cvtsudoers_json.c:604 plugins/sudoers/cvtsudoers_json.c:639 +#: plugins/sudoers/cvtsudoers_json.c:1016 +#: plugins/sudoers/cvtsudoers_json.c:1041 plugins/sudoers/cvtsudoers_ldif.c:112 +#: plugins/sudoers/cvtsudoers_ldif.c:144 plugins/sudoers/cvtsudoers_ldif.c:260 +#: plugins/sudoers/cvtsudoers_ldif.c:573 plugins/sudoers/cvtsudoers_ldif.c:586 +#: plugins/sudoers/cvtsudoers_ldif.c:591 plugins/sudoers/cvtsudoers_ldif.c:761 +#: plugins/sudoers/cvtsudoers_merge.c:57 plugins/sudoers/cvtsudoers_merge.c:357 +#: plugins/sudoers/cvtsudoers_merge.c:405 +#: plugins/sudoers/cvtsudoers_merge.c:454 +#: plugins/sudoers/cvtsudoers_merge.c:476 +#: plugins/sudoers/cvtsudoers_merge.c:588 +#: plugins/sudoers/cvtsudoers_merge.c:664 +#: plugins/sudoers/cvtsudoers_merge.c:1197 +#: plugins/sudoers/cvtsudoers_merge.c:1281 plugins/sudoers/defaults.c:455 +#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1062 +#: plugins/sudoers/defaults.c:1248 plugins/sudoers/editor.c:198 +#: plugins/sudoers/env.c:280 plugins/sudoers/exptilde.c:92 +#: plugins/sudoers/filedigest.c:66 plugins/sudoers/filedigest.c:70 +#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:212 +#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:270 +#: plugins/sudoers/iolog.c:683 plugins/sudoers/iolog.c:711 +#: plugins/sudoers/ldap.c:161 plugins/sudoers/ldap.c:448 +#: plugins/sudoers/ldap.c:625 plugins/sudoers/ldap.c:789 +#: plugins/sudoers/ldap.c:1214 plugins/sudoers/ldap.c:1642 +#: plugins/sudoers/ldap.c:1679 plugins/sudoers/ldap.c:1897 +#: plugins/sudoers/ldap.c:2007 plugins/sudoers/ldap.c:2023 +#: plugins/sudoers/ldap_conf.c:215 plugins/sudoers/ldap_conf.c:247 +#: plugins/sudoers/ldap_conf.c:299 plugins/sudoers/ldap_conf.c:335 +#: plugins/sudoers/ldap_conf.c:441 plugins/sudoers/ldap_conf.c:456 +#: plugins/sudoers/ldap_conf.c:565 plugins/sudoers/ldap_conf.c:598 +#: plugins/sudoers/ldap_conf.c:696 plugins/sudoers/ldap_conf.c:778 +#: plugins/sudoers/ldap_util.c:294 plugins/sudoers/ldap_util.c:301 +#: plugins/sudoers/ldap_util.c:615 plugins/sudoers/linux_audit.c:86 +#: plugins/sudoers/log_client.c:117 plugins/sudoers/log_client.c:411 +#: plugins/sudoers/log_client.c:726 plugins/sudoers/log_client.c:748 +#: plugins/sudoers/log_client.c:753 plugins/sudoers/log_client.c:1449 +#: plugins/sudoers/log_client.c:1570 plugins/sudoers/log_client.c:1693 +#: plugins/sudoers/log_client.c:2018 plugins/sudoers/log_client.c:2077 +#: plugins/sudoers/logging.c:110 plugins/sudoers/logging.c:190 +#: plugins/sudoers/logging.c:483 plugins/sudoers/logging.c:723 +#: plugins/sudoers/logging.c:880 plugins/sudoers/lookup.c:331 +#: plugins/sudoers/lookup.c:348 plugins/sudoers/lookup.c:366 +#: plugins/sudoers/lookup.c:384 plugins/sudoers/lookup.c:401 +#: plugins/sudoers/lookup.c:423 plugins/sudoers/lookup.c:434 +#: plugins/sudoers/match_command.c:280 plugins/sudoers/match_command.c:544 +#: plugins/sudoers/match_command.c:608 plugins/sudoers/match_command.c:702 +#: plugins/sudoers/match_command.c:750 plugins/sudoers/match_digest.c:88 +#: 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:595 +#: 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:654 plugins/sudoers/policy.c:1071 +#: plugins/sudoers/prompt.c:94 plugins/sudoers/pwutil.c:219 +#: plugins/sudoers/pwutil.c:290 plugins/sudoers/pwutil.c:368 +#: plugins/sudoers/pwutil.c:542 plugins/sudoers/pwutil.c:607 +#: plugins/sudoers/pwutil.c:679 plugins/sudoers/pwutil.c:877 +#: plugins/sudoers/pwutil.c:970 plugins/sudoers/pwutil.c:1018 +#: plugins/sudoers/pwutil.c:1082 plugins/sudoers/sethost.c:89 +#: plugins/sudoers/sssd.c:145 plugins/sudoers/sssd.c:186 +#: plugins/sudoers/sssd.c:415 plugins/sudoers/sssd.c:480 +#: plugins/sudoers/sssd.c:507 plugins/sudoers/sssd.c:570 +#: plugins/sudoers/sssd.c:765 plugins/sudoers/strvec_join.c:53 +#: plugins/sudoers/sudoers.c:405 plugins/sudoers/sudoers.c:412 +#: plugins/sudoers/sudoers.c:673 plugins/sudoers/sudoers.c:683 +#: plugins/sudoers/sudoers.c:828 plugins/sudoers/sudoers.c:894 +#: plugins/sudoers/sudoers.c:953 plugins/sudoers/sudoers.c:1002 +#: plugins/sudoers/sudoers.c:1162 plugins/sudoers/sudoers.c:1231 +#: plugins/sudoers/sudoers.c:1325 plugins/sudoers/sudoers_cb.c:150 +#: plugins/sudoers/sudoreplay.c:559 plugins/sudoers/sudoreplay.c:562 +#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1337 +#: plugins/sudoers/sudoreplay.c:1533 plugins/sudoers/sudoreplay.c:1537 +#: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:256 +#: plugins/sudoers/testsudoers.c:265 plugins/sudoers/testsudoers.c:275 +#: plugins/sudoers/testsudoers.c:282 plugins/sudoers/testsudoers.c:302 +#: plugins/sudoers/testsudoers.c:756 plugins/sudoers/timestamp.c:468 +#: plugins/sudoers/timestamp.c:514 plugins/sudoers/timestamp.c:1045 +#: plugins/sudoers/timestamp.c:1248 plugins/sudoers/toke_util.c:79 +#: plugins/sudoers/toke_util.c:108 plugins/sudoers/toke_util.c:134 +#: plugins/sudoers/toke_util.c:164 plugins/sudoers/toke_util.c:204 +#: plugins/sudoers/tsdump.c:136 plugins/sudoers/visudo.c:151 +#: plugins/sudoers/visudo.c:258 plugins/sudoers/visudo.c:383 +#: plugins/sudoers/visudo.c:389 plugins/sudoers/visudo.c:501 +#: plugins/sudoers/visudo.c:1073 plugins/sudoers/visudo.c:1095 +#: plugins/sudoers/visudo.c:1189 toke.l:1011 toke.l:1174 toke.l:1193 +#: toke.l:1220 toke.l:1300 +msgid "unable to allocate memory" +msgstr "tidak bisa mengalokasikan memori" + +#: gram.y:617 +msgid "a digest requires a path name" +msgstr "suatu digest memerlukan sebuah nama path" + +#: gram.y:639 +msgid "values for \"CWD\" must start with a '/', '~', or '*'" +msgstr "nilai untuk \"CWD\" mesti diawali dengan suatu '/', '~', atau '*'" + +#: gram.y:645 +msgid "\"CWD\" path too long" +msgstr "path \"CWD\" terlalu panjang" + +#: gram.y:655 +msgid "values for \"CHROOT\" must start with a '/', '~', or '*'" +msgstr "nilai untuk \"CHROOT\" mesti diawali dengan suatu '/', '~', atau '*'" + +#: gram.y:661 +msgid "\"CHROOT\" path too long" +msgstr "path \"CHROOT\" terlalu panjang" + +#: gram.y:810 +#, c-format +msgid "syntax error, reserved word %s used as an alias name" +msgstr "galat sintaks, kata khusus %s dipakai sebagai suatu nama alias" + +#: gram.y:833 +msgid "invalid notbefore value" +msgstr "nilai notbefore tidak valid" + +#: gram.y:842 +msgid "invalid notafter value" +msgstr "nilai notafter tidak valid" + +#: gram.y:852 plugins/sudoers/policy.c:373 +msgid "timeout value too large" +msgstr "nilai timeout terlalu besar" + +#: gram.y:854 plugins/sudoers/policy.c:375 +msgid "invalid timeout value" +msgstr "nilai timeout tidak valid" + +#: gram.y:965 plugins/sudoers/sudoers.c:1180 +msgid "command too long" +msgstr "perintah terlalu panjang" + +#: gram.y:999 +msgid "expected a fully-qualified path name" +msgstr "mengharapkan nama path lengkap (fully qualified)" + +#: gram.y:1244 +#, c-format +msgid "%s:%d:%zu: %s\n" +msgstr "%s:%d:%zu: %s\n" + +#: gram.y:1298 +#, c-format +msgid "Alias \"%s\" already defined" +msgstr "Alias \"%s\" sudah didefinisikan" + +#: gram.y:1811 gram.y:1822 gram.y:1898 lib/eventlog/eventlog.c:236 +#: lib/eventlog/eventlog.c:778 lib/eventlog/eventlog.c:851 +#: lib/eventlog/eventlog.c:854 lib/eventlog/eventlog.c:1189 +#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:500 +#: lib/eventlog/parse_json.c:531 lib/iolog/iolog_filter.c:142 +#: lib/iolog/iolog_filter.c:202 lib/iolog/iolog_filter.c:232 +#: lib/iolog/iolog_legacy.c:101 lib/iolog/iolog_legacy.c:112 +#: lib/iolog/iolog_legacy.c:124 lib/iolog/iolog_legacy.c:134 +#: lib/iolog/iolog_legacy.c:140 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:147 logsrvd/iolog_writer.c:174 +#: logsrvd/iolog_writer.c:184 logsrvd/iolog_writer.c:197 +#: logsrvd/iolog_writer.c:217 logsrvd/iolog_writer.c:227 +#: logsrvd/iolog_writer.c:246 logsrvd/iolog_writer.c:256 +#: logsrvd/iolog_writer.c:267 logsrvd/iolog_writer.c:277 +#: logsrvd/iolog_writer.c:289 logsrvd/iolog_writer.c:299 +#: logsrvd/iolog_writer.c:317 logsrvd/iolog_writer.c:327 +#: logsrvd/iolog_writer.c:337 logsrvd/iolog_writer.c:349 +#: logsrvd/iolog_writer.c:385 logsrvd/iolog_writer.c:391 +#: logsrvd/iolog_writer.c:398 logsrvd/iolog_writer.c:404 +#: logsrvd/iolog_writer.c:588 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:324 +#: logsrvd/logsrvd.c:462 logsrvd/logsrvd.c:499 logsrvd/logsrvd.c:531 +#: logsrvd/logsrvd.c:585 logsrvd/logsrvd.c:620 logsrvd/logsrvd.c:669 +#: logsrvd/logsrvd.c:705 logsrvd/logsrvd.c:741 logsrvd/logsrvd.c:1132 +#: logsrvd/logsrvd.c:1456 logsrvd/logsrvd.c:1463 logsrvd/logsrvd.c:1599 +#: logsrvd/logsrvd.c:1604 logsrvd/logsrvd.c:1791 logsrvd/logsrvd.c:2046 +#: 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:1041 +#: logsrvd/logsrvd_conf.c:1058 logsrvd/logsrvd_conf.c:1453 +#: logsrvd/logsrvd_conf.c:1600 logsrvd/logsrvd_conf.c:1626 +#: logsrvd/logsrvd_conf.c:1638 logsrvd/logsrvd_conf.c:1645 +#: logsrvd/logsrvd_conf.c:1651 logsrvd/logsrvd_conf.c:1747 +#: logsrvd/logsrvd_journal.c:76 logsrvd/logsrvd_journal.c:125 +#: logsrvd/logsrvd_journal.c:216 logsrvd/logsrvd_journal.c:246 +#: logsrvd/logsrvd_journal.c:250 logsrvd/logsrvd_journal.c:258 +#: logsrvd/logsrvd_journal.c:287 logsrvd/logsrvd_journal.c:291 +#: logsrvd/logsrvd_journal.c:439 logsrvd/logsrvd_local.c:215 +#: logsrvd/logsrvd_local.c:278 logsrvd/logsrvd_local.c:468 +#: logsrvd/logsrvd_local.c:474 logsrvd/logsrvd_local.c:493 +#: logsrvd/logsrvd_queue.c:158 logsrvd/logsrvd_queue.c:189 +#: logsrvd/logsrvd_queue.c:266 logsrvd/sendlog.c:256 logsrvd/sendlog.c:265 +#: logsrvd/sendlog.c:297 logsrvd/sendlog.c:303 logsrvd/sendlog.c:352 +#: logsrvd/sendlog.c:651 logsrvd/sendlog.c:1548 logsrvd/sendlog.c:1555 +#: logsrvd/sendlog.c:1778 logsrvd/sendlog.c:1847 logsrvd/tls_init.c:305 +#: logsrvd/tls_init.c:329 logsrvd/tls_init.c:340 plugins/sudoers/audit.c:118 +#: plugins/sudoers/auth/pam.c:518 plugins/sudoers/auth/pam.c:697 +#: plugins/sudoers/auth/rfc1938.c:112 plugins/sudoers/canon_path.c:129 +#: plugins/sudoers/canon_path.c:161 plugins/sudoers/check_aliases.c:128 +#: plugins/sudoers/check_util.c:56 plugins/sudoers/check_util.c:84 +#: plugins/sudoers/cvtsudoers.c:132 plugins/sudoers/cvtsudoers.c:175 +#: plugins/sudoers/cvtsudoers.c:192 plugins/sudoers/cvtsudoers.c:203 +#: plugins/sudoers/cvtsudoers.c:337 plugins/sudoers/cvtsudoers.c:544 +#: plugins/sudoers/cvtsudoers.c:697 plugins/sudoers/cvtsudoers.c:715 +#: plugins/sudoers/cvtsudoers.c:891 plugins/sudoers/cvtsudoers.c:898 +#: plugins/sudoers/cvtsudoers.c:1393 plugins/sudoers/cvtsudoers.c:1397 +#: plugins/sudoers/cvtsudoers.c:1497 plugins/sudoers/cvtsudoers_csv.c:182 +#: plugins/sudoers/cvtsudoers_csv.c:255 plugins/sudoers/cvtsudoers_json.c:604 +#: plugins/sudoers/cvtsudoers_json.c:639 plugins/sudoers/cvtsudoers_json.c:1016 +#: plugins/sudoers/cvtsudoers_json.c:1041 plugins/sudoers/cvtsudoers_ldif.c:112 +#: plugins/sudoers/cvtsudoers_ldif.c:144 plugins/sudoers/cvtsudoers_ldif.c:260 +#: plugins/sudoers/cvtsudoers_ldif.c:573 plugins/sudoers/cvtsudoers_ldif.c:586 +#: plugins/sudoers/cvtsudoers_ldif.c:591 plugins/sudoers/cvtsudoers_ldif.c:761 +#: plugins/sudoers/cvtsudoers_merge.c:57 plugins/sudoers/cvtsudoers_merge.c:357 +#: plugins/sudoers/cvtsudoers_merge.c:405 +#: plugins/sudoers/cvtsudoers_merge.c:453 +#: plugins/sudoers/cvtsudoers_merge.c:475 +#: plugins/sudoers/cvtsudoers_merge.c:583 +#: plugins/sudoers/cvtsudoers_merge.c:588 +#: plugins/sudoers/cvtsudoers_merge.c:661 +#: plugins/sudoers/cvtsudoers_merge.c:664 +#: plugins/sudoers/cvtsudoers_merge.c:1196 +#: plugins/sudoers/cvtsudoers_merge.c:1281 plugins/sudoers/defaults.c:455 +#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1062 +#: plugins/sudoers/defaults.c:1248 plugins/sudoers/editor.c:198 +#: plugins/sudoers/env.c:280 plugins/sudoers/exptilde.c:92 +#: plugins/sudoers/filedigest.c:66 plugins/sudoers/filedigest.c:70 +#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:211 +#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:270 +#: plugins/sudoers/iolog.c:683 plugins/sudoers/iolog.c:711 +#: plugins/sudoers/ldap.c:161 plugins/sudoers/ldap.c:448 +#: plugins/sudoers/ldap.c:625 plugins/sudoers/ldap.c:789 +#: plugins/sudoers/ldap.c:1214 plugins/sudoers/ldap.c:1642 +#: plugins/sudoers/ldap.c:1679 plugins/sudoers/ldap.c:1897 +#: plugins/sudoers/ldap.c:2007 plugins/sudoers/ldap.c:2023 +#: plugins/sudoers/ldap_conf.c:215 plugins/sudoers/ldap_conf.c:247 +#: plugins/sudoers/ldap_conf.c:299 plugins/sudoers/ldap_conf.c:335 +#: plugins/sudoers/ldap_conf.c:441 plugins/sudoers/ldap_conf.c:456 +#: plugins/sudoers/ldap_conf.c:565 plugins/sudoers/ldap_conf.c:598 +#: plugins/sudoers/ldap_conf.c:695 plugins/sudoers/ldap_conf.c:778 +#: plugins/sudoers/ldap_util.c:293 plugins/sudoers/ldap_util.c:300 +#: plugins/sudoers/ldap_util.c:615 plugins/sudoers/linux_audit.c:86 +#: plugins/sudoers/log_client.c:117 plugins/sudoers/log_client.c:237 +#: plugins/sudoers/log_client.c:259 plugins/sudoers/log_client.c:273 +#: plugins/sudoers/log_client.c:411 plugins/sudoers/log_client.c:726 +#: plugins/sudoers/log_client.c:748 plugins/sudoers/log_client.c:753 +#: plugins/sudoers/log_client.c:1449 plugins/sudoers/log_client.c:1570 +#: plugins/sudoers/log_client.c:1693 plugins/sudoers/log_client.c:2018 +#: plugins/sudoers/log_client.c:2077 plugins/sudoers/logging.c:110 +#: plugins/sudoers/logging.c:189 plugins/sudoers/logging.c:190 +#: plugins/sudoers/logging.c:483 plugins/sudoers/logging.c:723 +#: plugins/sudoers/logging.c:763 plugins/sudoers/logging.c:880 +#: plugins/sudoers/logging.c:933 plugins/sudoers/logging.c:940 +#: plugins/sudoers/lookup.c:330 plugins/sudoers/lookup.c:347 +#: plugins/sudoers/lookup.c:365 plugins/sudoers/lookup.c:383 +#: plugins/sudoers/lookup.c:400 plugins/sudoers/lookup.c:422 +#: plugins/sudoers/lookup.c:433 plugins/sudoers/match_command.c:279 +#: plugins/sudoers/match_command.c:543 plugins/sudoers/match_command.c:607 +#: plugins/sudoers/match_command.c:702 plugins/sudoers/match_command.c:749 +#: plugins/sudoers/match_digest.c:88 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:595 plugins/sudoers/parse_ldif.c:624 +#: plugins/sudoers/parse_ldif.c:649 plugins/sudoers/parse_ldif.c:707 +#: plugins/sudoers/parse_ldif.c:724 plugins/sudoers/parse_ldif.c:752 +#: plugins/sudoers/parse_ldif.c:759 plugins/sudoers/policy.c:152 +#: plugins/sudoers/policy.c:161 plugins/sudoers/policy.c:170 +#: plugins/sudoers/policy.c:199 plugins/sudoers/policy.c:357 +#: plugins/sudoers/policy.c:373 plugins/sudoers/policy.c:375 +#: plugins/sudoers/policy.c:414 plugins/sudoers/policy.c:423 +#: plugins/sudoers/policy.c:432 plugins/sudoers/policy.c:441 +#: plugins/sudoers/policy.c:492 plugins/sudoers/policy.c:501 +#: plugins/sudoers/policy.c:510 plugins/sudoers/policy.c:519 +#: plugins/sudoers/policy.c:528 plugins/sudoers/policy.c:537 +#: plugins/sudoers/policy.c:546 plugins/sudoers/policy.c:654 +#: plugins/sudoers/policy.c:1071 plugins/sudoers/prompt.c:94 +#: plugins/sudoers/pwutil.c:219 plugins/sudoers/pwutil.c:290 +#: plugins/sudoers/pwutil.c:368 plugins/sudoers/pwutil.c:542 +#: plugins/sudoers/pwutil.c:607 plugins/sudoers/pwutil.c:679 +#: plugins/sudoers/pwutil.c:877 plugins/sudoers/pwutil.c:970 +#: plugins/sudoers/pwutil.c:1018 plugins/sudoers/pwutil.c:1082 +#: plugins/sudoers/set_perms.c:374 plugins/sudoers/set_perms.c:723 +#: plugins/sudoers/set_perms.c:1096 plugins/sudoers/set_perms.c:1409 +#: plugins/sudoers/set_perms.c:1579 plugins/sudoers/sethost.c:89 +#: plugins/sudoers/sssd.c:144 plugins/sudoers/sssd.c:186 +#: plugins/sudoers/sssd.c:415 plugins/sudoers/sssd.c:480 +#: plugins/sudoers/sssd.c:507 plugins/sudoers/sssd.c:570 +#: plugins/sudoers/sssd.c:765 plugins/sudoers/strvec_join.c:53 +#: plugins/sudoers/sudoers.c:405 plugins/sudoers/sudoers.c:412 +#: plugins/sudoers/sudoers.c:673 plugins/sudoers/sudoers.c:683 +#: plugins/sudoers/sudoers.c:828 plugins/sudoers/sudoers.c:894 +#: plugins/sudoers/sudoers.c:953 plugins/sudoers/sudoers.c:1002 +#: plugins/sudoers/sudoers.c:1162 plugins/sudoers/sudoers.c:1231 +#: plugins/sudoers/sudoers.c:1324 plugins/sudoers/sudoers_cb.c:150 +#: plugins/sudoers/sudoreplay.c:559 plugins/sudoers/sudoreplay.c:562 +#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1337 +#: plugins/sudoers/sudoreplay.c:1533 plugins/sudoers/sudoreplay.c:1537 +#: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:255 +#: plugins/sudoers/testsudoers.c:264 plugins/sudoers/testsudoers.c:275 +#: plugins/sudoers/testsudoers.c:282 plugins/sudoers/testsudoers.c:302 +#: plugins/sudoers/testsudoers.c:756 plugins/sudoers/timestamp.c:468 +#: plugins/sudoers/timestamp.c:514 plugins/sudoers/timestamp.c:1045 +#: plugins/sudoers/timestamp.c:1248 plugins/sudoers/toke_util.c:79 +#: plugins/sudoers/toke_util.c:108 plugins/sudoers/toke_util.c:134 +#: plugins/sudoers/toke_util.c:163 plugins/sudoers/toke_util.c:204 +#: plugins/sudoers/tsdump.c:136 plugins/sudoers/visudo.c:151 +#: plugins/sudoers/visudo.c:258 plugins/sudoers/visudo.c:383 +#: plugins/sudoers/visudo.c:389 plugins/sudoers/visudo.c:501 +#: plugins/sudoers/visudo.c:1073 plugins/sudoers/visudo.c:1094 +#: plugins/sudoers/visudo.c:1189 toke.l:1011 toke.l:1174 toke.l:1193 +#: toke.l:1220 toke.l:1289 toke.l:1300 +#, c-format +msgid "%s: %s" +msgstr "%s: %s" + +#: lib/eventlog/eventlog.c:304 +#, c-format +msgid "unable to dup stdin: %m" +msgstr "tidak bisa men-dup stdin: %m" + +#: lib/eventlog/eventlog.c:346 +#, c-format +msgid "unable to execute %s: %m" +msgstr "tidak bisa mengeksekusi %s: %m" + +#: lib/eventlog/eventlog.c:394 plugins/sudoers/auth/aix_auth.c:199 +msgid "unable to fork" +msgstr "tidak bisa mem-fork" + +#: lib/eventlog/eventlog.c:404 lib/eventlog/eventlog.c:471 +#, c-format +msgid "unable to fork: %m" +msgstr "tidak bisa mem-fork: %m" + +#: lib/eventlog/eventlog.c:461 +#, c-format +msgid "unable to open pipe: %m" +msgstr "tidak bisa membuka pipa: %m" + +#: lib/eventlog/eventlog.c:1013 +#, c-format +msgid "%8s : %s" +msgstr "%8s : %s" + +#: lib/eventlog/eventlog.c:1042 +#, c-format +msgid "%8s : (command continued) %s" +msgstr "%8s : (perintah dilanjutkan) %s" + +#: lib/eventlog/parse_json.c:175 +#, c-format +msgid "expected JSON_STRING, got %d" +msgstr "mengharapkan JSON_STRING, mendapat %d" + +#: lib/eventlog/parse_json.c:180 +msgid "JSON_ARRAY too large" +msgstr "JSON_ARRAY terlalu besar" + +#: lib/eventlog/parse_json.c:523 +msgid "missing double quote in name" +msgstr "kurang kutip ganda dalam nama" + +#: lib/eventlog/parse_json.c:641 +msgid "missing JSON_OBJECT" +msgstr "kurang JSON_OBJECT" + +#: lib/eventlog/parse_json.c:645 +#, c-format +msgid "expected JSON_OBJECT, got %d" +msgstr "mengharapkan JSON_OBJECT, mendapat %d" + +#: lib/eventlog/parse_json.c:779 +#, c-format +msgid "json stack exhausted (max %u frames)" +msgstr "stack json habis (maks %u frame)" + +#: lib/eventlog/parse_json.c:857 +msgid "objects must consist of name:value pairs" +msgstr "obyek mesti terdiri dari pasangan nama:nilai" + +#: lib/eventlog/parse_json.c:862 lib/eventlog/parse_json.c:893 +#: lib/eventlog/parse_json.c:937 lib/eventlog/parse_json.c:959 +#: lib/eventlog/parse_json.c:981 lib/eventlog/parse_json.c:1003 +#: lib/eventlog/parse_json.c:1025 +msgid "missing separator between values" +msgstr "kurang pemisah antara nilai-nilai" + +#: lib/eventlog/parse_json.c:877 lib/eventlog/parse_json.c:1051 +msgid "unmatched close brace" +msgstr "kurawal tutup tanpa pasangan" + +#: lib/eventlog/parse_json.c:888 +msgid "unexpected array" +msgstr "larik yang tidak diharapkan" + +#: lib/eventlog/parse_json.c:908 lib/eventlog/parse_json.c:1054 +msgid "unmatched close bracket" +msgstr "kurawal tutup tanpa pasangan" + +#: lib/eventlog/parse_json.c:919 +msgid "unexpected string" +msgstr "string yang tidak diharapkan" + +#: lib/eventlog/parse_json.c:930 +msgid "missing colon after name" +msgstr "kurang titik dua setelah nama" + +#: lib/eventlog/parse_json.c:951 lib/eventlog/parse_json.c:973 +msgid "unexpected boolean" +msgstr "bool yang tidak diharapkan" + +#: lib/eventlog/parse_json.c:995 +msgid "unexpected null" +msgstr "null yang tidak diharapkan" + +#: lib/eventlog/parse_json.c:1016 +msgid "unexpected number" +msgstr "angka yang tidak diharapkan" + +#: lib/eventlog/parse_json.c:1062 +msgid "parse error" +msgstr "galat penguraian" + +#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1303 +#: plugins/sudoers/sudoreplay.c:1293 plugins/sudoers/sudoreplay.c:1589 +#, c-format +msgid "invalid regular expression \"%s\": %s" +msgstr "ekspresi reguler yang tidak valid \"%s\": %s" + +#: lib/iolog/iolog_legacy.c:65 +#, c-format +msgid "%s: invalid log file" +msgstr "%s: berkas log tidak valid" + +#: lib/iolog/iolog_legacy.c:83 +#, c-format +msgid "%s: time stamp field is missing" +msgstr "%s: ruas stempel waktu hilang" + +#: lib/iolog/iolog_legacy.c:90 +#, c-format +msgid "%s: time stamp %s: %s" +msgstr "%s: stempel waktu %s: %s" + +#: lib/iolog/iolog_legacy.c:97 +#, c-format +msgid "%s: user field is missing" +msgstr "%s: ruas pengguna hilang" + +#: lib/iolog/iolog_legacy.c:108 +#, c-format +msgid "%s: runas user field is missing" +msgstr "%s: ruas pengguna runas hilang" + +#: lib/iolog/iolog_legacy.c:119 +#, c-format +msgid "%s: runas group field is missing" +msgstr "%s: ruas grup runas hilang" + +#: lib/iolog/iolog_mkdirs.c:89 +#, c-format +msgid "%s exists but is not a directory (0%o)" +msgstr "%s ada tapi bukanlah suatu direktori (0%o)" + +#: lib/iolog/iolog_mkdirs.c:125 lib/iolog/iolog_mkdtemp.c:80 +#: logsrvd/iolog_writer.c:803 plugins/sudoers/timestamp.c:218 +#, c-format +msgid "unable to mkdir %s" +msgstr "tidak bisa mkdir %s" + +#: lib/iolog/iolog_mkdtemp.c:85 plugins/sudoers/visudo.c:769 +#: plugins/sudoers/visudo.c:803 plugins/sudoers/visudo.c:809 +#, c-format +msgid "unable to change mode of %s to 0%o" +msgstr "tidak bisa mengubah mode %s menjadi 0%o" + +#: lib/iolog/iolog_timing.c:261 +#, c-format +msgid "error reading timing file: %s" +msgstr "galat saat membaca berkas pewaktuan: %s" + +#: lib/iolog/iolog_timing.c:268 +#, c-format +msgid "invalid timing file line: %s" +msgstr "baris berkas pewaktuan yang tidak valid: %s" + +#: logsrvd/iolog_writer.c:65 +#, c-format +msgid "%s: protocol error: NULL key" +msgstr "%s: galat protokol: kunci NULL" + +#: logsrvd/iolog_writer.c:69 +#, c-format +msgid "%s: protocol error: wrong type for %s" +msgstr "%s: galat protokol: tipe yang salah untuk %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: galat protokol: nilai NULL ditemukan dalam %s" + +#: logsrvd/iolog_writer.c:141 plugins/sudoers/logging.c:1035 +#: plugins/sudoers/policy.c:621 +msgid "unable to generate UUID" +msgstr "tidak bisa membangkitkan UUID" + +#: logsrvd/iolog_writer.c:362 logsrvd/iolog_writer.c:367 +#: logsrvd/iolog_writer.c:372 logsrvd/iolog_writer.c:377 +#, c-format +msgid "%s: protocol error: %s missing from AcceptMessage" +msgstr "%s: galat protokol: %s hilang dari AcceptMessage" + +#: logsrvd/iolog_writer.c:438 +#, c-format +msgid "%s: unable to format session id" +msgstr "%s: tidak bisa memformat id sesi" + +#: logsrvd/iolog_writer.c:452 logsrvd/iolog_writer.c:466 +#: logsrvd/iolog_writer.c:480 logsrvd/iolog_writer.c:495 +#: logsrvd/iolog_writer.c:509 logsrvd/iolog_writer.c:523 +#, c-format +msgid "%s: %s is not set" +msgstr "%s: %s tidak ditata" + +#: logsrvd/iolog_writer.c:559 logsrvd/iolog_writer.c:566 +#, c-format +msgid "unable to expand iolog path %s" +msgstr "tidak bisa mengekspaksi path iolog %s" + +#: logsrvd/iolog_writer.c:584 +#, c-format +msgid "unable to create iolog path %s" +msgstr "tidak bisa mencipta path iolog %s" + +#: logsrvd/iolog_writer.c:614 +#, c-format +msgid "invalid iofd %d" +msgstr "iofd tidak valid %d" + +#: logsrvd/iolog_writer.c:634 +#, c-format +msgid "error closing iofd %u: %s" +msgstr "galat saat menutup iofd %u: %s" + +#: logsrvd/iolog_writer.c:655 +#, c-format +msgid "error flushing iofd %u: %s" +msgstr "galat saat mem-flush iofd %u: %s" + +#: logsrvd/iolog_writer.c:773 +#, c-format +msgid "invalid I/O log %s: %s referenced but not present" +msgstr "log I/O tidak valid %s: %s diacu tapi tidak ada" + +#: logsrvd/iolog_writer.c:785 logsrvd/logsrvd_journal.c:391 +#, c-format +msgid "%s: unable to find resume point [%lld, %ld]" +msgstr "%s: tidak bisa menemukan titik pelanjutan [%lld, %ld]" + +#: logsrvd/iolog_writer.c:807 logsrvd/logsrvd_journal.c:434 +#: logsrvd/logsrvd_queue.c:115 logsrvd/tls_init.c:256 +#: plugins/sudoers/check.c:278 plugins/sudoers/cvtsudoers.c:758 +#: plugins/sudoers/cvtsudoers.c:780 plugins/sudoers/cvtsudoers.c:1457 +#: plugins/sudoers/cvtsudoers_csv.c:722 plugins/sudoers/cvtsudoers_json.c:1034 +#: plugins/sudoers/cvtsudoers_ldif.c:753 plugins/sudoers/sudoers.c:1309 +#: plugins/sudoers/sudoers.c:1335 plugins/sudoers/sudoreplay.c:1499 +#: plugins/sudoers/timestamp.c:477 plugins/sudoers/tsdump.c:141 +#: plugins/sudoers/visudo.c:990 +#, c-format +msgid "unable to open %s" +msgstr "tidak bisa membuka %s" + +#: logsrvd/iolog_writer.c:819 logsrvd/logsrv_util.c:111 +#: logsrvd/logsrv_util.c:118 plugins/sudoers/sudoreplay.c:355 +#: plugins/sudoers/sudoreplay.c:361 +#, c-format +msgid "unable to open %s/%s" +msgstr "tidak bisa membuka %s/%s" + +#: logsrvd/iolog_writer.c:832 +#, c-format +msgid "unable to copy %s/%s to %s/%s: %s" +msgstr "tidak bisa menyalin %s/%s ke %s/%s: %s" + +#: logsrvd/iolog_writer.c:861 logsrvd/logsrvd_journal.c:198 +#, c-format +msgid "unable to rename %s to %s" +msgstr "tidak bisa mengubah nama %s menjadi %s" + +#: logsrvd/logsrv_util.c:153 logsrvd/logsrv_util.c:182 +#, c-format +msgid "%s/%s: unable to find resume point [%lld, %ld]" +msgstr "%s/%s: tidak bisa menemukan titik pelanjutan [%lld, %ld]" + +#: logsrvd/logsrv_util.c:165 +#, c-format +msgid "missing I/O log file %s/%s" +msgstr "berkas log I/O hilang %s/%s" + +#: logsrvd/logsrv_util.c:172 +#, c-format +msgid "%s/%s: unable to seek forward %zu" +msgstr "%s/%s: tidak bisa seek maju %zu" + +#: logsrvd/logsrvd.c:272 logsrvd/logsrvd_queue.c:135 +msgid "unable to connect to relay" +msgstr "tidak bisa menyambung ke relay" + +#: logsrvd/logsrvd.c:339 logsrvd/logsrvd_relay.c:847 +#, c-format +msgid "server message too large: %zu" +msgstr "pesan server terlalu besar: %zu" + +#: logsrvd/logsrvd.c:431 logsrvd/logsrvd.c:554 logsrvd/logsrvd.c:640 +#: logsrvd/logsrvd.c:882 logsrvd/logsrvd.c:896 logsrvd/logsrvd.c:1057 +#: logsrvd/logsrvd.c:1182 logsrvd/logsrvd.c:1364 logsrvd/logsrvd.c:1382 +#: logsrvd/logsrvd.c:1481 logsrvd/logsrvd.c:1606 logsrvd/logsrvd.c:1793 +#: logsrvd/logsrvd_journal.c:503 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:391 logsrvd/logsrvd_relay.c:583 +#: logsrvd/logsrvd_relay.c:747 logsrvd/logsrvd_relay.c:1137 +#: logsrvd/sendlog.c:1333 logsrvd/tls_client.c:145 logsrvd/tls_client.c:161 +#: logsrvd/tls_client.c:225 plugins/sudoers/audit.c:281 +#: plugins/sudoers/iolog.c:1049 plugins/sudoers/iolog.c:1183 +#: plugins/sudoers/iolog.c:1282 plugins/sudoers/log_client.c:121 +#: plugins/sudoers/log_client.c:352 plugins/sudoers/log_client.c:368 +#: plugins/sudoers/log_client.c:416 plugins/sudoers/log_client.c:622 +#: plugins/sudoers/log_client.c:629 plugins/sudoers/log_client.c:1137 +#: plugins/sudoers/log_client.c:1418 plugins/sudoers/log_client.c:1459 +#: plugins/sudoers/log_client.c:1467 plugins/sudoers/log_client.c:1626 +#: plugins/sudoers/log_client.c:1751 plugins/sudoers/log_client.c:2085 +#: plugins/sudoers/log_client.c:2093 plugins/sudoers/logging.c:148 +#: plugins/sudoers/logging.c:206 plugins/sudoers/sudoreplay.c:519 +#: plugins/sudoers/sudoreplay.c:566 plugins/sudoers/sudoreplay.c:810 +#: plugins/sudoers/sudoreplay.c:922 plugins/sudoers/sudoreplay.c:1013 +#: plugins/sudoers/sudoreplay.c:1028 plugins/sudoers/sudoreplay.c:1035 +#: plugins/sudoers/sudoreplay.c:1042 plugins/sudoers/sudoreplay.c:1049 +#: plugins/sudoers/sudoreplay.c:1056 plugins/sudoers/sudoreplay.c:1184 +msgid "unable to add event to queue" +msgstr "tidak bisa menambah kejadian ke antrian" + +#: logsrvd/logsrvd.c:455 logsrvd/logsrvd.c:492 logsrvd/logsrvd.c:524 +#: logsrvd/logsrvd.c:578 logsrvd/logsrvd.c:657 logsrvd/logsrvd.c:693 +#: logsrvd/logsrvd.c:729 logsrvd/logsrvd.c:765 logsrvd/logsrvd_relay.c:512 +#: logsrvd/logsrvd_relay.c:545 +#, c-format +msgid "unexpected state %d for %s" +msgstr "keadaan %d yang tidak diharapkan untuk %s" + +#: logsrvd/logsrvd.c:456 logsrvd/logsrvd.c:493 logsrvd/logsrvd.c:525 +#: logsrvd/logsrvd.c:579 logsrvd/logsrvd.c:658 logsrvd/logsrvd.c:694 +#: logsrvd/logsrvd.c:730 logsrvd/logsrvd.c:766 logsrvd/logsrvd_relay.c:514 +#: logsrvd/logsrvd_relay.c:547 +msgid "state machine error" +msgstr "galat state machine" + +#: logsrvd/logsrvd.c:462 logsrvd/logsrvd.c:463 +msgid "invalid AcceptMessage" +msgstr "AcceptMessage yang tidak valid" + +#: logsrvd/logsrvd.c:499 logsrvd/logsrvd.c:500 +msgid "invalid RejectMessage" +msgstr "RejectMessage yang tidak valid" + +#: logsrvd/logsrvd.c:531 logsrvd/logsrvd.c:532 +msgid "invalid ExitMessage" +msgstr "ExitMessage yang tidak valid" + +#: logsrvd/logsrvd.c:585 logsrvd/logsrvd.c:586 +msgid "invalid RestartMessage" +msgstr "RestartMessage yang tidak valid" + +#: logsrvd/logsrvd.c:620 logsrvd/logsrvd.c:621 +msgid "invalid AlertMessage" +msgstr "AlertMessage yang tidak valid" + +#: logsrvd/logsrvd.c:662 logsrvd/logsrvd.c:698 logsrvd/logsrvd.c:734 +#, c-format +msgid "%s: unexpected IoBuffer" +msgstr "%s: IoBuffer yang tidak diharapkan" + +#: logsrvd/logsrvd.c:663 logsrvd/logsrvd.c:699 logsrvd/logsrvd.c:735 +msgid "protocol error" +msgstr "galat protokol" + +#: logsrvd/logsrvd.c:669 logsrvd/logsrvd.c:670 +msgid "invalid IoBuffer" +msgstr "IoBuffer yang tidak valid" + +#: logsrvd/logsrvd.c:705 logsrvd/logsrvd.c:706 +msgid "invalid ChangeWindowSize" +msgstr "ChangeWindowSize yang tidak valid" + +#: logsrvd/logsrvd.c:741 logsrvd/logsrvd.c:742 +msgid "invalid CommandSuspend" +msgstr "CommandSuspend yang tidak valid" + +#: logsrvd/logsrvd.c:791 logsrvd/logsrvd_journal.c:302 +#: logsrvd/logsrvd_relay.c:654 logsrvd/sendlog.c:1232 +#: plugins/sudoers/log_client.c:1616 +#, c-format +msgid "unable to unpack %s size %zu" +msgstr "tidak bisa membongkar paket %s ukuran %zu" + +#: logsrvd/logsrvd.c:836 logsrvd/logsrvd_journal.c:376 +#: logsrvd/logsrvd_relay.c:678 +#, c-format +msgid "unexpected type_case value %d in %s from %s" +msgstr "nilai type_case %d yang tidak diharapkan dalam %s dari %s" + +#: logsrvd/logsrvd.c:838 +msgid "unrecognized ClientMessage type" +msgstr "tipe ClientMessage yang tidak dikenal" + +#: logsrvd/logsrvd.c:928 +#, c-format +msgid "timed out writing to client %s" +msgstr "habis waktu saat menulis ke klien %s" + +#: logsrvd/logsrvd.c:933 logsrvd/logsrvd_relay.c:919 logsrvd/sendlog.c:1438 +#, c-format +msgid "missing write buffer for client %s" +msgstr "kurang penyangga tulis untuk klien %s" + +#: logsrvd/logsrvd.c:1028 +#, c-format +msgid "timed out reading from client %s" +msgstr "habis waktu saat membaca dari klien %s" + +#: logsrvd/logsrvd.c:1069 logsrvd/logsrvd_relay.c:782 +#, c-format +msgid "EOF from %s without proper TLS shutdown" +msgstr "EOF dari %s tanpa mematikan TLS secara benar" + +#: logsrvd/logsrvd.c:1113 logsrvd/logsrvd_relay.c:205 logsrvd/sendlog.c:336 +#: plugins/sudoers/log_client.c:732 +#, c-format +msgid "client message too large: %zu" +msgstr "pesan klien terlalu besar: %zu" + +#: logsrvd/logsrvd.c:1114 logsrvd/logsrvd_journal.c:259 +#: logsrvd/logsrvd_journal.c:260 +msgid "client message too large" +msgstr "pesan klien terlalu besar" + +#: logsrvd/logsrvd.c:1132 logsrvd/logsrvd.c:1133 +msgid "invalid ClientMessage" +msgstr "ClientMessage tidak valid" + +#: logsrvd/logsrvd.c:1442 +msgid "unable to get remote IP addr" +msgstr "tidak bisa mendapatkan alamat IP remote" + +#: logsrvd/logsrvd.c:1473 logsrvd/tls_client.c:212 +#: plugins/sudoers/log_client.c:290 +#, c-format +msgid "Unable to attach user data to the ssl object: %s" +msgstr "Tidak bisa mencantol data pengguna ke obyek ssl: %s" + +#: logsrvd/logsrvd.c:1656 logsrvd/logsrvd.c:2050 +msgid "unable to setup listen socket" +msgstr "tidak bisa menyiapkan soket pendengar" + +#: logsrvd/logsrvd.c:1776 +#, c-format +msgid "unexpected signal %d" +msgstr "sinyal %d yang tak diharapkan" + +#: logsrvd/logsrvd.c:1949 +msgid "sudo log server" +msgstr "server log sudo" + +#: logsrvd/logsrvd.c:1951 logsrvd/sendlog.c:126 +msgid "Options:" +msgstr "Opsi:" + +#: logsrvd/logsrvd.c:1953 +msgid "path to configuration file" +msgstr "path ke berkas konfigurasi" + +#: logsrvd/logsrvd.c:1955 logsrvd/sendlog.c:128 +msgid "display help message and exit" +msgstr "tampilkan pesan bantuan dan keluar" + +#: logsrvd/logsrvd.c:1957 +msgid "do not fork, run in the foreground" +msgstr "jangan fork, jalankan di latar depan" + +#: logsrvd/logsrvd.c:1959 +msgid "percent chance connections will drop" +msgstr "persentase kemungkinan koneksi akan putus" + +#: logsrvd/logsrvd.c:1961 logsrvd/sendlog.c:158 +msgid "display version information and exit" +msgstr "tampilkan informasi versi dan keluar" + +#: logsrvd/logsrvd.c:2011 logsrvd/sendlog.c:1747 +msgid "Protobuf-C version 1.3 or higher required" +msgstr "Protobuf-C versi 1.3 atau yang lebih tinggi diperlukan" + +#: logsrvd/logsrvd.c:2027 +#, c-format +msgid "invalid random drop value: %s" +msgstr "nilai drop acak tidak valid: %s" + +#: logsrvd/logsrvd.c:2030 logsrvd/sendlog.c:1801 +#: plugins/sudoers/cvtsudoers.c:250 plugins/sudoers/sudoreplay.c:294 +#: plugins/sudoers/visudo.c:181 +#, c-format +msgid "%s version %s\n" +msgstr "%s versi %s\n" + +#: logsrvd/logsrvd_conf.c:422 plugins/sudoers/check.c:69 +#: plugins/sudoers/exptilde.c:85 plugins/sudoers/iolog.c:122 +#: plugins/sudoers/sudoers.c:419 plugins/sudoers/sudoers.c:946 +#: plugins/sudoers/sudoers.c:1052 plugins/sudoers/sudoers.c:1442 +#: plugins/sudoers/testsudoers.c:169 plugins/sudoers/testsudoers.c:285 +#: plugins/sudoers/testsudoers.c:459 plugins/sudoers/tsdump.c:131 +#, c-format +msgid "unknown user %s" +msgstr "pengguna tak dikenal %s" + +#: logsrvd/logsrvd_conf.c:439 plugins/sudoers/iolog.c:148 +#: plugins/sudoers/sudoers.c:425 plugins/sudoers/sudoers.c:1476 +#: plugins/sudoers/testsudoers.c:483 +#, c-format +msgid "unknown group %s" +msgstr "grup tak dikenal %s" + +#: logsrvd/logsrvd_conf.c:457 +#, c-format +msgid "unable to parse iolog mode %s" +msgstr "tidak bisa mengurai mode iolog %s" + +#: logsrvd/logsrvd_conf.c:474 logsrvd/logsrvd_conf.c:1248 +#, c-format +msgid "invalid value for %s: %s" +msgstr "nilai tak valid untuk %s: %s" + +#: logsrvd/logsrvd_conf.c:527 +msgid "TLS not supported" +msgstr "TLS tak didukung" + +#: logsrvd/logsrvd_conf.c:549 +#, c-format +msgid "%s:%s" +msgstr "%s:%s" + +#: logsrvd/logsrvd_conf.c:622 logsrvd/logsrvd_conf.c:1037 +#, c-format +msgid "%s: not a fully qualified path" +msgstr "%s: bukan path yang lengkap (fully qualified)" + +#: logsrvd/logsrvd_conf.c:956 logsrvd/logsrvd_conf.c:972 +#: logsrvd/logsrvd_conf.c:1681 +#, c-format +msgid "unknown syslog facility %s" +msgstr "fasilitas syslog tak dikenal %s" + +#: logsrvd/logsrvd_conf.c:988 logsrvd/logsrvd_conf.c:1004 +#: logsrvd/logsrvd_conf.c:1020 logsrvd/logsrvd_conf.c:1685 +#: logsrvd/logsrvd_conf.c:1689 logsrvd/logsrvd_conf.c:1693 +#, c-format +msgid "unknown syslog priority %s" +msgstr "prioritas syslog tak dikenal %s" + +#: logsrvd/logsrvd_conf.c:1202 +#, c-format +msgid "%s:%d unmatched '[': %s" +msgstr "%s:%d '[' tanpa pasangan: %s" + +#: logsrvd/logsrvd_conf.c:1208 +#, c-format +msgid "%s:%d garbage after ']': %s" +msgstr "%s:%d sampah setelah ']': %s" + +#: logsrvd/logsrvd_conf.c:1220 +#, c-format +msgid "%s:%d invalid config section: %s" +msgstr "%s:%d bagian konfig tidak valid: %s" + +#: logsrvd/logsrvd_conf.c:1228 +#, c-format +msgid "%s:%d invalid configuration line: %s" +msgstr "%s:%d baris konfigurasi tidak valid: %s" + +#: logsrvd/logsrvd_conf.c:1234 +#, c-format +msgid "%s:%d expected section name: %s" +msgstr "%s:%d mengharapkan nama bagian: %s" + +#: logsrvd/logsrvd_conf.c:1256 +#, c-format +msgid "%s:%d [%s] illegal key: %s" +msgstr "%s:%d [%s] kunci tidak legal: %s" + +#: logsrvd/logsrvd_conf.c:1286 plugins/sudoers/cvtsudoers.c:273 +#: plugins/sudoers/logging.c:1087 +#, c-format +msgid "unable to open log file %s" +msgstr "tidak bisa membuka berkas log %s" + +#: logsrvd/logsrvd_conf.c:1768 +msgid "unable to initialize server TLS context" +msgstr "tidak bisa menginisialisasi konteks TLS server" + +#: logsrvd/logsrvd_conf.c:1788 +msgid "unable to initialize relay TLS context" +msgstr "tidak bisa menginisialisasi konteks TLS relay" + +#: logsrvd/logsrvd_journal.c:149 logsrvd/logsrvd_journal.c:430 +#: logsrvd/logsrvd_journal.c:435 +msgid "unable to create journal file" +msgstr "tidak bisa membuat berkas jurnal" + +#: logsrvd/logsrvd_journal.c:153 logsrvd/logsrvd_queue.c:109 +#: plugins/sudoers/visudo.c:1046 +#, c-format +msgid "unable to lock %s" +msgstr "tidak bisa mengunci %s" + +#: logsrvd/logsrvd_journal.c:156 +msgid "unable to lock journal file" +msgstr "tidak bisa mengunci berkas jurnal" + +#: logsrvd/logsrvd_journal.c:164 +msgid "unable to open journal file" +msgstr "tidak bisa membuka berkas jurnal" + +#: logsrvd/logsrvd_journal.c:185 logsrvd/logsrvd_journal.c:466 +#: logsrvd/logsrvd_journal.c:471 +msgid "unable to write journal file" +msgstr "tidak bisa menulisi berkas jurnal" + +#: logsrvd/logsrvd_journal.c:193 logsrvd/logsrvd_journal.c:200 +msgid "unable to rename journal file" +msgstr "tidak bisa mengubah nama berkas jurnal" + +#: logsrvd/logsrvd_journal.c:247 logsrvd/logsrvd_journal.c:248 +#: logsrvd/logsrvd_journal.c:288 logsrvd/logsrvd_journal.c:289 +msgid "unexpected EOF reading journal file" +msgstr "EOF yang tidak diharapkan saat membaca berkas jurnal" + +#: logsrvd/logsrvd_journal.c:251 logsrvd/logsrvd_journal.c:252 +#: logsrvd/logsrvd_journal.c:292 logsrvd/logsrvd_journal.c:293 +msgid "error reading journal file" +msgstr "galat saat membaca berkas jurnal" + +#: logsrvd/logsrvd_journal.c:304 logsrvd/logsrvd_journal.c:390 +msgid "invalid journal file, unable to restart" +msgstr "berkas jurnal tidak valid, tidak bisa memulai ulang" + +#: logsrvd/logsrvd_journal.c:449 +#, c-format +msgid "unable to seek to [%lld, %ld] in journal file %s" +msgstr "tidak bisa men-seek ke [%lld, %ld] dalam berkas jurnal %s" + +#: logsrvd/logsrvd_local.c:166 +#, c-format +msgid "unexpected value_case %d in %s from %s" +msgstr "value_case %d yang tak diharapkan dalam %s dari %s" + +#: logsrvd/logsrvd_local.c:194 +msgid "error parsing AcceptMessage" +msgstr "galat saat mengurai AcceptMessage" + +#: logsrvd/logsrvd_local.c:205 +msgid "error creating I/O log" +msgstr "galat saat membuat log I/O" + +#: logsrvd/logsrvd_local.c:228 +msgid "error logging accept event" +msgstr "galat saat mencatat log kejadian terima" + +#: logsrvd/logsrvd_local.c:267 +msgid "error parsing RejectMessage" +msgstr "galat saat mengurai RejectMessage" + +#: logsrvd/logsrvd_local.c:291 +msgid "error logging reject event" +msgstr "galat saat mencatat log kejadian tolak" + +#: logsrvd/logsrvd_local.c:427 logsrvd/logsrvd_local.c:437 +msgid "error logging exit event" +msgstr "galat saat mencatat log kejadian keluar" + +#: logsrvd/logsrvd_local.c:494 logsrvd/logsrvd_local.c:495 +msgid "log is already complete, cannot be restarted" +msgstr "log sudah lengkap, tidak bisa dimulai ulang" + +#: logsrvd/logsrvd_local.c:525 +msgid "unable to restart log" +msgstr "tidak bisa memulai ulang log" + +#: logsrvd/logsrvd_local.c:541 +msgid "error parsing AlertMessage" +msgstr "galat saat mengurai AlertMessage" + +#: logsrvd/logsrvd_local.c:551 +msgid "error logging alert event" +msgstr "galat saat mencatat log kejadian waspada" + +#: logsrvd/logsrvd_local.c:587 logsrvd/logsrvd_local.c:650 +#: logsrvd/logsrvd_local.c:685 +#, c-format +msgid "unable to format timing buffer, length %d" +msgstr "tidak bisa memformat penyangga pewaktu, panjang %d" + +#: logsrvd/logsrvd_local.c:601 logsrvd/logsrvd_local.c:609 +#: logsrvd/logsrvd_local.c:657 logsrvd/logsrvd_local.c:692 +#: plugins/sudoers/sudoreplay.c:344 toke.l:961 toke.l:964 +#, c-format +msgid "%s/%s: %s" +msgstr "%s/%s: %s" + +#: logsrvd/logsrvd_local.c:620 +msgid "randomly dropping connection" +msgstr "secara acak memutus koneksi" + +#: logsrvd/logsrvd_local.c:632 +msgid "error writing IoBuffer" +msgstr "galat saat menulis IoBuffer" + +#: logsrvd/logsrvd_local.c:667 +msgid "error writing ChangeWindowSize" +msgstr "galat saat menulis ChangeWindowSize" + +#: logsrvd/logsrvd_local.c:702 +msgid "error writing CommandSuspend" +msgstr "galat saat menulis CommandSuspend" + +#: logsrvd/logsrvd_relay.c:437 +msgid "TLS handshake with relay host failed" +msgstr "jabat tangan TLS dengan host relay gagal" + +#: logsrvd/logsrvd_relay.c:465 +msgid "unable to connect to relay host" +msgstr "tidak bisa menyambung ke host relay" + +#: logsrvd/logsrvd_relay.c:520 +#, c-format +msgid "%s: invalid ServerHello, missing server_id" +msgstr "%s: ServerHello tidak valid, kurang server_id" + +#: logsrvd/logsrvd_relay.c:522 logsrvd/sendlog.c:1136 +#: plugins/sudoers/log_client.c:1502 +msgid "invalid ServerHello" +msgstr "ServerHello tidak valid" + +#: logsrvd/logsrvd_relay.c:681 +msgid "unrecognized ServerMessage type" +msgstr "tipe ServerMessage yang tidak dikenal" + +#: logsrvd/logsrvd_relay.c:710 +#, c-format +msgid "timed out reading from relay %s (%s)" +msgstr "habis waktu saat membaca dari relay %s (%s)" + +#: logsrvd/logsrvd_relay.c:712 +msgid "timeout reading from relay" +msgstr "habis waktu saat membaca dari relay" + +#: logsrvd/logsrvd_relay.c:767 +msgid "relay host name does not match certificate" +msgstr "nama host relay tidak cocok dengan sertifikat" + +#: logsrvd/logsrvd_relay.c:773 logsrvd/logsrvd_relay.c:787 +#: logsrvd/logsrvd_relay.c:794 +msgid "error reading from relay" +msgstr "galat saat membaca dari relay" + +#: logsrvd/logsrvd_relay.c:815 +msgid "unable to read from relay" +msgstr "tidak bisa membaca dari relay" + +#: logsrvd/logsrvd_relay.c:830 logsrvd/logsrvd_relay.c:949 +msgid "relay server closed connection" +msgstr "server relay menutup koneksi" + +#: logsrvd/logsrvd_relay.c:848 +msgid "server message too large" +msgstr "pesan server terlalu besar" + +#: logsrvd/logsrvd_relay.c:912 +#, c-format +msgid "timed out writing to relay %s (%s)" +msgstr "habis waktu saat menulis ke relay %s (%s)" + +#: logsrvd/logsrvd_relay.c:914 +msgid "timeout writing to relay" +msgstr "habis waktu saat menulis ke relay" + +#: logsrvd/logsrvd_relay.c:968 logsrvd/logsrvd_relay.c:975 +#: logsrvd/logsrvd_relay.c:987 +msgid "error writing to relay" +msgstr "galat saat menulis ke relay" + +#: logsrvd/sendlog.c:124 +msgid "send sudo I/O log to remote server" +msgstr "kirim log I/O sudo ke server remote" + +#: logsrvd/sendlog.c:130 +msgid "only send an accept event (no I/O)" +msgstr "hanya kirim suatu kejadian terima (tanpa I/O)" + +#: logsrvd/sendlog.c:133 +msgid "certificate bundle file to verify server's cert against" +msgstr "berkas bundel sertifikat untuk verifikasi terhadap sertifikat server" + +#: logsrvd/sendlog.c:135 +msgid "certificate file for TLS handshake" +msgstr "berkas sertifikat untuk jabat tangan TLS" + +#: logsrvd/sendlog.c:138 +msgid "host to send logs to" +msgstr "host tempat tujuan kirim log" + +#: logsrvd/sendlog.c:140 +msgid "remote ID of I/O log to be resumed" +msgstr "ID remote dari log I/O yang akan dilanjutkan" + +#: logsrvd/sendlog.c:143 +msgid "private key file" +msgstr "berkas kunci privat" + +#: logsrvd/sendlog.c:145 +msgid "do not verify server certificate" +msgstr "jangan verifikasi sertifikat server" + +#: logsrvd/sendlog.c:148 +msgid "port to use when connecting to host" +msgstr "port yang dipakai ketika menyambung ke host" + +#: logsrvd/sendlog.c:150 +msgid "restart previous I/O log transfer" +msgstr "jalankan ulang transfer log I/O" + +#: logsrvd/sendlog.c:152 +msgid "reject the command with the given reason" +msgstr "tolak perintah dengan alasan yang diberikan" + +#: logsrvd/sendlog.c:154 +msgid "stop transfer after reaching this time" +msgstr "hentikan transfer setelah mencapai waktu ini" + +#: logsrvd/sendlog.c:156 +msgid "test audit server by sending selected I/O log n times in parallel" +msgstr "uji server audit dengan mengirim log I/O yang dipilih n kali secara paralel" + +#: logsrvd/sendlog.c:181 plugins/sudoers/log_client.c:462 +#, c-format +msgid "unable to look up %s:%s: %s" +msgstr "tidak bisa mencari %s:%s: %s" + +#: logsrvd/sendlog.c:219 +msgid "unable to get server IP addr" +msgstr "tidak bisa mendapatkan alamat IP server" + +#: logsrvd/sendlog.c:314 plugins/sudoers/sudoreplay.c:870 +#, c-format +msgid "unable to read %s/%s: %s" +msgstr "tidak bisa membaca %s/%s: %s" + +#: logsrvd/sendlog.c:1060 plugins/sudoers/iolog.c:967 +#: plugins/sudoers/iolog.c:1042 +#, c-format +msgid "unexpected I/O event %d" +msgstr "kejadian I/O %d yang tidak diharapkan" + +#: logsrvd/sendlog.c:1113 logsrvd/sendlog.c:1130 logsrvd/sendlog.c:1164 +#: plugins/sudoers/log_client.c:1152 plugins/sudoers/log_client.c:1428 +#: plugins/sudoers/log_client.c:1496 plugins/sudoers/log_client.c:1535 +#, c-format +msgid "%s: unexpected state %d" +msgstr "%s: keadaan yang tidak diharapkan %d" + +#: logsrvd/sendlog.c:1200 plugins/sudoers/log_client.c:1584 +#, c-format +msgid "error message received from server: %s" +msgstr "pesan galat diterima dari server: %s" + +#: logsrvd/sendlog.c:1213 plugins/sudoers/log_client.c:1597 +#, c-format +msgid "abort message received from server: %s" +msgstr "pesan pengguguran diterima dari server: %s" + +#: logsrvd/sendlog.c:1272 plugins/sudoers/log_client.c:1647 +#, c-format +msgid "%s: unexpected type_case value %d" +msgstr "%s: nilai type_case %d yang tidak diharapkan" + +#: logsrvd/sendlog.c:1301 +msgid "timeout reading from server" +msgstr "habis waktu saat membaca dari server" + +#: logsrvd/sendlog.c:1352 plugins/sudoers/log_client.c:1770 +msgid "host name does not match certificate" +msgstr "nama host tidak cocok dengan sertifikat" + +#: logsrvd/sendlog.c:1386 +msgid "premature EOF" +msgstr "EOF prematur" + +#: logsrvd/sendlog.c:1399 plugins/sudoers/log_client.c:1818 +#, c-format +msgid "server message too large: %u" +msgstr "pesan server terlalu besar: %u" + +#: logsrvd/sendlog.c:1455 +msgid "timeout writing to server" +msgstr "habis waktu saat menulis ke server" + +#: logsrvd/sendlog.c:1825 +msgid "both restart point and iolog ID must be specified" +msgstr "titik start ulang dan ID iolog keduanya harus dinyatakan" + +#: logsrvd/sendlog.c:1829 +msgid "a restart point may not be set when no I/O is sent" +msgstr "titik start ulang mungkin tidak diatur ketika tidak ada I/O yang dikirim" + +#: logsrvd/sendlog.c:1905 +#, c-format +msgid "exited prematurely with state %d" +msgstr "keluar secara prematur dengan keadaan %d" + +#: logsrvd/sendlog.c:1906 +#, c-format +msgid "elapsed time sent to server [%lld, %ld]" +msgstr "lama waktu berlalu dikirim ke server [%lld, %ld]" + +#: logsrvd/sendlog.c:1908 +#, c-format +msgid "commit point received from server [%lld, %ld]" +msgstr "titik komit diterima dari server [%lld, %ld]" + +#: logsrvd/tls_client.c:120 plugins/sudoers/log_client.c:324 +msgid "TLS handshake timeout occurred" +msgstr "terjadi habis waktu jabat tangan TLS" + +#: logsrvd/tls_client.c:140 logsrvd/tls_client.c:156 +#: plugins/sudoers/log_client.c:346 plugins/sudoers/log_client.c:362 +msgid "unable to set event" +msgstr "tidak bisa menata kejadian" + +#: logsrvd/tls_client.c:166 logsrvd/tls_client.c:170 +#, c-format +msgid "TLS connection failed: %s" +msgstr "koneksi TLS gagal: %s" + +#: logsrvd/tls_client.c:205 +#, c-format +msgid "unable to allocate ssl object: %s" +msgstr "tidak bisa mengalokasikan obyek ssl: %s" + +#: logsrvd/tls_client.c:219 +#, c-format +msgid "Unable to attach socket to the ssl object: %s" +msgstr "Tidak bisa mencantolkan soket ke obyek ssl: %s" + +#: logsrvd/tls_client.c:247 +msgid "unable to initialize TLS context" +msgstr "tidak bisa menginisalisasi konteks TLS" + +#: logsrvd/tls_init.c:138 logsrvd/tls_init.c:146 +#, c-format +msgid "unable to set TLS 1.2 ciphersuite to %s: %s" +msgstr "tidak bisa menata ciphersuite TLS 1.2 ke %s: %s" + +#: logsrvd/tls_init.c:166 logsrvd/tls_init.c:174 +#, c-format +msgid "unable to set TLS 1.3 ciphersuite to %s: %s" +msgstr "tidak bisa menata ciphersuite TLS 1.3 ke %s: %s" + +#: logsrvd/tls_init.c:206 logsrvd/tls_init.c:227 +#, c-format +msgid "unable to set diffie-hellman parameters: %s" +msgstr "tidak bisa menata parameter diffie-hellman: %s" + +#: logsrvd/tls_init.c:283 +#, c-format +msgid "unable to create TLS context: %s" +msgstr "tidak bisa mencipta konteks TLS: %s" + +#: logsrvd/tls_init.c:290 +#, c-format +msgid "unable to set minimum protocol version to TLS 1.2: %s" +msgstr "tidak bisa menata versi protokol minimum ke TLS 1.2: %s" + +#: plugins/sudoers/audit.c:272 plugins/sudoers/log_client.c:985 +#: plugins/sudoers/log_client.c:1034 plugins/sudoers/log_client.c:1083 +#: plugins/sudoers/log_client.c:1208 plugins/sudoers/logging.c:627 +#: plugins/sudoers/logging.c:867 plugins/sudoers/logging.c:1017 +#: plugins/sudoers/logging.c:1041 plugins/sudoers/policy.c:1055 +msgid "unable to get time of day" +msgstr "tidak bisa memperoleh jam saat ini" + +#: plugins/sudoers/auth/aix_auth.c:282 +#, c-format +msgid "unable to change password for %s" +msgstr "tidak bisa mengubah kata sandi bagi %s" + +#: plugins/sudoers/auth/bsdauth.c:78 +#, c-format +msgid "unable to get login class for user %s" +msgstr "tidak bisa mendapatkan kelas log masuk bagi pengguna %s" + +#: plugins/sudoers/auth/bsdauth.c:85 +msgid "invalid authentication type" +msgstr "tipe otentikasi tidak valid" + +#: plugins/sudoers/auth/bsdauth.c:90 +msgid "unable to begin BSD authentication" +msgstr "tidak bisa memulai otentikasi BSD" + +#: plugins/sudoers/auth/bsdauth.c:97 +msgid "unable to initialize BSD authentication" +msgstr "tidak bisa menginisialisasi otentikasi BSD" + +#: plugins/sudoers/auth/bsdauth.c:191 +msgid "your account has expired" +msgstr "akun Anda telah kedaluwarsa" + +#: plugins/sudoers/auth/bsdauth.c:193 +msgid "approval failed" +msgstr "persetujuan gagal" + +#: plugins/sudoers/auth/fwtk.c:62 +msgid "unable to read fwtk config" +msgstr "tidak bisa membaca konfig fwtk" + +#: plugins/sudoers/auth/fwtk.c:67 +msgid "unable to connect to authentication server" +msgstr "tidak bisa menyambung ke server otentikasi" + +#: plugins/sudoers/auth/fwtk.c:73 plugins/sudoers/auth/fwtk.c:99 +#: plugins/sudoers/auth/fwtk.c:131 +msgid "lost connection to authentication server" +msgstr "kehilangan koneksi ke server otentikasi" + +#: plugins/sudoers/auth/fwtk.c:77 +#, c-format +msgid "" +"authentication server error:\n" +"%s" +msgstr "galat server otentikasi: %s" + +#: plugins/sudoers/auth/kerb5.c:117 +#, c-format +msgid "%s: unable to convert principal to string ('%s'): %s" +msgstr "%s: tidak bisa mengonversi prinsipal ke string ('%s'): %s" + +#: plugins/sudoers/auth/kerb5.c:167 +#, c-format +msgid "%s: unable to parse '%s': %s" +msgstr "%s: tidak bisa mengurai '%s': %s" + +#: plugins/sudoers/auth/kerb5.c:176 +#, c-format +msgid "%s: unable to resolve credential cache: %s" +msgstr "%s: tidak bisa mengurai singgahan kredensial: %s" + +#: plugins/sudoers/auth/kerb5.c:227 +#, c-format +msgid "%s: unable to allocate options: %s" +msgstr "%s: tidak bisa mengalokasikan opsi: %s" + +#: plugins/sudoers/auth/kerb5.c:242 +#, c-format +msgid "%s: unable to get credentials: %s" +msgstr "%s: tidak bisa mendapatkan kredensial: %s" + +#: plugins/sudoers/auth/kerb5.c:255 +#, c-format +msgid "%s: unable to initialize credential cache: %s" +msgstr "%s: tidak bisa menginisialisasi singgahan kredensial: %s" + +#: plugins/sudoers/auth/kerb5.c:258 +#, c-format +msgid "%s: unable to store credential in cache: %s" +msgstr "%s: tidak bisa menyimpan kredensial dalam singgahan: %s" + +#: plugins/sudoers/auth/kerb5.c:324 +#, c-format +msgid "%s: unable to get host principal: %s" +msgstr "%s: tidak bisa mendapatkan principal host: %s" + +#: plugins/sudoers/auth/kerb5.c:338 +#, c-format +msgid "%s: Cannot verify TGT! Possible attack!: %s" +msgstr "%s: Tidak bisa memverifikasi TGT! Mungkin serangan!: %s" + +#: plugins/sudoers/auth/pam.c:233 +#, c-format +msgid "unable to initialize PAM: %s" +msgstr "tidak bisa menginisialisasi PAM: %s" + +#: plugins/sudoers/auth/pam.c:349 +#, c-format +msgid "PAM authentication error: %s" +msgstr "galat otentikasi PAM: %s" + +#: plugins/sudoers/auth/pam.c:369 +msgid "account validation failure, is your account locked?" +msgstr "kegagalan validasi akun, apakah akun Anda terkunci?" + +#: plugins/sudoers/auth/pam.c:380 +msgid "Account or password is expired, reset your password and try again" +msgstr "Akun atau kata sandi kedaluwarsa, reset kata sandi Anda dan coba lagi" + +#: plugins/sudoers/auth/pam.c:387 +#, c-format +msgid "unable to change expired password: %s" +msgstr "tidak bisa mengubah kata sandi yang kedaluwarsa: %s" + +#: plugins/sudoers/auth/pam.c:398 +msgid "Password expired, contact your system administrator" +msgstr "Kata sandi kedaluwarsa, hubungi administrator sistem Anda" + +#: plugins/sudoers/auth/pam.c:403 +msgid "Account expired or PAM config lacks an \"account\" section for sudo, contact your system administrator" +msgstr "Akun kedaluwarsa atau konfig PAM kurang bagian \"account\" bagi sudo, hubungi sistem administrator Anda" + +#: plugins/sudoers/auth/pam.c:411 plugins/sudoers/auth/pam.c:416 +#, c-format +msgid "PAM account management error: %s" +msgstr "Galat manajemen akun PAM: %s" + +#: plugins/sudoers/auth/rfc1938.c:100 plugins/sudoers/visudo.c:266 +#, c-format +msgid "you do not exist in the %s database" +msgstr "Anda tidak ada dalam basis data %s" + +#: plugins/sudoers/auth/securid5.c:76 +msgid "failed to initialise the ACE API library" +msgstr "gagal menginisialisasi pustaka API ACE" + +#: plugins/sudoers/auth/securid5.c:108 +msgid "unable to contact the SecurID server" +msgstr "tidak bisa menghubungi server SecurID" + +#: plugins/sudoers/auth/securid5.c:117 +msgid "User ID locked for SecurID Authentication" +msgstr "ID pengguna dikunci untuk Otentikasi SecurID" + +#: plugins/sudoers/auth/securid5.c:121 plugins/sudoers/auth/securid5.c:174 +msgid "invalid username length for SecurID" +msgstr "panjang nama pengguna tidak valid bagi SecurID" + +#: plugins/sudoers/auth/securid5.c:125 plugins/sudoers/auth/securid5.c:179 +msgid "invalid Authentication Handle for SecurID" +msgstr "Handle Otentikasi tidak valid bagi SecurID" + +#: plugins/sudoers/auth/securid5.c:129 +msgid "SecurID communication failed" +msgstr "komunikasi SecurID gagal" + +#: plugins/sudoers/auth/securid5.c:133 plugins/sudoers/auth/securid5.c:222 +msgid "unknown SecurID error" +msgstr "galat SecurID yang tidak dikenal" + +#: plugins/sudoers/auth/securid5.c:169 +msgid "invalid passcode length for SecurID" +msgstr "panjang kode sandi yang tidak valid bagi SecurID" + +#: plugins/sudoers/auth/sia.c:72 plugins/sudoers/auth/sia.c:131 +msgid "unable to initialize SIA session" +msgstr "tidak bisa menginisialisasi sesi SIA" + +#: plugins/sudoers/auth/sudo_auth.c:141 +msgid "invalid authentication methods" +msgstr "metode otentikasi tidak valid" + +#: plugins/sudoers/auth/sudo_auth.c:143 +msgid "Invalid authentication methods compiled into sudo! You may not mix standalone and non-standalone authentication." +msgstr "Metode otentikasi yang tidak valid di-compile ke dalam sudo! Anda tidak boleh mencampur otentikasi berdiri sendiri dan yang tidak berdiri sendiri." + +#: plugins/sudoers/auth/sudo_auth.c:296 plugins/sudoers/auth/sudo_auth.c:359 +msgid "no authentication methods" +msgstr "tidak ada metode otentikasi" + +#: plugins/sudoers/auth/sudo_auth.c:298 +msgid "There are no authentication methods compiled into sudo! If you want to turn off authentication, use the --disable-authentication configure option." +msgstr "Tidak ada metode otentikasi yang di-compile ke dalam sudo! Bila Anda ingin mematikan otentikasi, gunakan opsi konfigurasi --disable-authentication." + +#: plugins/sudoers/auth/sudo_auth.c:361 +msgid "Unable to initialize authentication methods." +msgstr "Tidak bisa menginisialisai metode otentikasi." + +#: plugins/sudoers/auth/sudo_auth.c:551 +msgid "Authentication methods:" +msgstr "Metode otentikasi:" + +#: plugins/sudoers/bsm_audit.c:122 plugins/sudoers/bsm_audit.c:214 +msgid "Could not determine audit condition" +msgstr "Tidak bisa menentukan kondisi audit" + +#: plugins/sudoers/bsm_audit.c:188 plugins/sudoers/bsm_audit.c:278 +msgid "unable to commit audit record" +msgstr "tidak bisa meng-komit catatan audit" + +#: plugins/sudoers/check.c:63 plugins/sudoers/check.c:74 +#: plugins/sudoers/lookup.c:79 +#, c-format +msgid "unknown uid %u" +msgstr "uid tak dikenal %u" + +#: plugins/sudoers/check.c:270 +#, c-format +msgid "error reading lecture file %s" +msgstr "galat saat membaca berkas lecture %s" + +#: plugins/sudoers/check.c:273 +#, c-format +msgid "ignoring lecture file %s: not a regular file" +msgstr "mengabaikan berkas lecture %s: bukan sebuah berkas reguler" + +#: plugins/sudoers/check.c:286 +msgid "" +"\n" +"We trust you have received the usual lecture from the local System\n" +"Administrator. It usually boils down to these three things:\n" +"\n" +" #1) Respect the privacy of others.\n" +" #2) Think before you type.\n" +" #3) With great power comes great responsibility.\n" +"\n" +msgstr "" +"\n" +"Kami percaya Anda telah menerima kuliah yang biasa dari Administrator\n" +"Sistem lokal. Itu biasanya terrangkum ke tiga hal berikut:\n" +"\n" +" #1) Hormati privasi orang lain.\n" +" #2) Pikir sebelum Anda mengetik.\n" +" #3) Dengan kekuatan yang besar datang juga tanggung jawab besar.\n" +"\n" + +#: plugins/sudoers/check.c:294 +msgid "" +"For security reasons, the password you type will not be visible.\n" +"\n" +msgstr "" +"Untuk alasan keamanan, kata sandi yang Anda ketikkan tidak akan tampak:\n" +"\n" + +#: plugins/sudoers/check_aliases.c:93 +#, c-format +msgid "cycle in %s \"%s\"" +msgstr "siklus dalam %s \"%s\"" + +#: plugins/sudoers/check_aliases.c:96 +#, c-format +msgid "%s \"%s\" referenced but not defined" +msgstr "%s \"%s\" diacu tapi tidak didefinisikan" + +#: plugins/sudoers/cvtsudoers.c:211 +#, c-format +msgid "order increment: %s: %s" +msgstr "kenaikan urutan: %s: %s" + +#: plugins/sudoers/cvtsudoers.c:231 +#, c-format +msgid "starting order: %s: %s" +msgstr "urutan awal: %s: %s" + +#: plugins/sudoers/cvtsudoers.c:242 +#, c-format +msgid "order padding: %s: %s" +msgstr "urutkan padding: %s: %s" + +#: plugins/sudoers/cvtsudoers.c:252 plugins/sudoers/visudo.c:183 +#, c-format +msgid "%s grammar version %d\n" +msgstr "Tata bahasa %s versi %d\n" + +#: plugins/sudoers/cvtsudoers.c:282 plugins/sudoers/testsudoers.c:162 +#, c-format +msgid "unsupported input format %s" +msgstr "format masukan tidak didukung %s" + +#: plugins/sudoers/cvtsudoers.c:300 +#, c-format +msgid "unsupported output format %s" +msgstr "format keluaran tidak didukung %s" + +#: plugins/sudoers/cvtsudoers.c:392 +#, c-format +msgid "%s: input and output files must be different" +msgstr "%s: berkas masukan dan keluaran harus berbeda" + +#: plugins/sudoers/cvtsudoers.c:406 plugins/sudoers/sudoers.c:151 +#: plugins/sudoers/sudoers.c:209 plugins/sudoers/testsudoers.c:315 +#: plugins/sudoers/visudo.c:276 plugins/sudoers/visudo.c:666 +msgid "unable to initialize sudoers default values" +msgstr "tidak bisa menginisialisasi nilai-nilai baku sudoers" + +#: plugins/sudoers/cvtsudoers.c:533 plugins/sudoers/ldap_conf.c:431 +#, c-format +msgid "%s: %s: %s: %s" +msgstr "%s: %s: %s: %s" + +#: plugins/sudoers/cvtsudoers.c:612 +#, c-format +msgid "%s: unknown key word %s" +msgstr "%s: kata kunci tak dikenal %s" + +#: plugins/sudoers/cvtsudoers.c:658 +#, c-format +msgid "invalid defaults type: %s" +msgstr "tipe baku tak valid: %s" + +#: plugins/sudoers/cvtsudoers.c:681 +#, c-format +msgid "invalid suppression type: %s" +msgstr "tipe supresi tidak valid: %s" + +#: plugins/sudoers/cvtsudoers.c:722 plugins/sudoers/cvtsudoers.c:738 +#, c-format +msgid "invalid filter: %s" +msgstr "filter tak valid: %s" + +#: plugins/sudoers/cvtsudoers.c:783 plugins/sudoers/visudo.c:1000 +#, c-format +msgid "failed to parse %s file, unknown error" +msgstr "gagal mengurai berkas %s, galat tak dikenal" + +#: plugins/sudoers/cvtsudoers.c:1504 plugins/sudoers/sudoreplay.c:1145 +#: plugins/sudoers/timestamp.c:353 plugins/sudoers/timestamp.c:356 +#, c-format +msgid "unable to write to %s" +msgstr "tidak bisa menulis ke %s" + +#: plugins/sudoers/cvtsudoers.c:1532 +#, c-format +msgid "" +"%s - convert between sudoers file formats\n" +"\n" +msgstr "" +"%s - konversi antara format berkas sudoer\n" +"\n" + +#: plugins/sudoers/cvtsudoers.c:1534 +msgid "" +"\n" +"Options:\n" +" -b, --base=dn the base DN for sudo LDAP queries\n" +" -c, --config=conf_file the path to the configuration file\n" +" -d, --defaults=deftypes only convert Defaults of the specified types\n" +" -e, --expand-aliases expand aliases when converting\n" +" -f, --output-format=format set output format: JSON, LDIF or sudoers\n" +" -i, --input-format=format set input format: LDIF or sudoers\n" +" -I, --increment=num amount to increase each sudoOrder by\n" +" -h, --help display help message and exit\n" +" -m, --match=filter only convert entries that match the filter\n" +" -M, --match-local match filter uses passwd and group databases\n" +" -o, --output=output_file write converted sudoers to output_file\n" +" -O, --order-start=num starting point for first sudoOrder\n" +" -p, --prune-matches prune non-matching users, groups and hosts\n" +" -P, --padding=num base padding for sudoOrder increment\n" +" -s, --suppress=sections suppress output of certain sections\n" +" -V, --version display version information and exit" +msgstr "" +"\n" +"Pilihan:\n" +" -b, --base=dn DN dasar untuk kueri sudo LDAP\n" +" -c, --config=conf_file path ke berkas konfigurasi\n" +" -d, --defaults=deftypes hanya mengonversi Default dari tipe yang ditentukan\n" +" -e, --expand-alias ekspansikan alias saat mengonversi\n" +" -f, --output-format=format atur format keluaran: JSON, LDIF atau sudoers\n" +" -i, --input-format=format atur format masukan: LDIF atau sudoers\n" +" -I, --increment=num banyaknya meningkatkan setiap sudoOrder\n" +" -h, --help menampilkan pesan bantuan dan keluar\n" +" -m, --match=filter hanya mengonversi entri yang cocok dengan filter\n" +" -M, --match-local mencocokkan menggunakan basis data passwd dan group\n" +" -o, --output=output_file tulis sudoer yang dikonversi ke output_file\n" +" -O, --order-start=num titik awal untuk sudoOrder pertama\n" +" -p, --prune-matches pangkas pengguna, grup, dan host yang tidak cocok\n" +" -P, --padding=num base padding untuk kenaikan sudoOrder\n" +" -s, --suppress=sections jangan tampilkan keluaran bagian tertentu\n" +" -V, --version menampilkan informasi versi dan keluar" + +#: plugins/sudoers/cvtsudoers_csv.c:192 plugins/sudoers/cvtsudoers_csv.c:199 +#: plugins/sudoers/cvtsudoers_ldif.c:270 plugins/sudoers/cvtsudoers_ldif.c:277 +#: plugins/sudoers/cvtsudoers_ldif.c:628 plugins/sudoers/env.c:357 +#: plugins/sudoers/env.c:364 plugins/sudoers/env.c:475 +#: plugins/sudoers/ldap.c:511 plugins/sudoers/ldap.c:629 +#: plugins/sudoers/ldap.c:1003 plugins/sudoers/ldap_conf.c:219 +#: plugins/sudoers/ldap_conf.c:310 plugins/sudoers/ldap_util.c:483 +#: plugins/sudoers/linux_audit.c:93 plugins/sudoers/logging.c:487 +#: plugins/sudoers/policy.c:836 plugins/sudoers/policy.c:848 +#: plugins/sudoers/prompt.c:169 plugins/sudoers/serialize_list.c:62 +#: plugins/sudoers/serialize_list.c:71 plugins/sudoers/strvec_join.c:62 +#: plugins/sudoers/sudoreplay.c:1342 plugins/sudoers/sudoreplay.c:1348 +#: plugins/sudoers/sudoreplay.c:1354 plugins/sudoers/testsudoers.c:306 +#: plugins/sudoers/toke_util.c:217 toke.l:975 toke.l:1257 +#, c-format +msgid "internal error, %s overflow" +msgstr "galat internal, %s overflow" + +#: plugins/sudoers/cvtsudoers_csv.c:481 plugins/sudoers/cvtsudoers_csv.c:495 +#: plugins/sudoers/cvtsudoers_json.c:760 plugins/sudoers/cvtsudoers_json.c:776 +#: plugins/sudoers/cvtsudoers_ldif.c:384 plugins/sudoers/cvtsudoers_ldif.c:398 +#: plugins/sudoers/ldap.c:495 +msgid "unable to get GMT time" +msgstr "tidak bisa mendapatkan waktu GMT" + +#: plugins/sudoers/cvtsudoers_csv.c:486 plugins/sudoers/cvtsudoers_csv.c:500 +#: plugins/sudoers/cvtsudoers_json.c:765 plugins/sudoers/cvtsudoers_json.c:781 +#: plugins/sudoers/cvtsudoers_ldif.c:389 plugins/sudoers/cvtsudoers_ldif.c:403 +#: plugins/sudoers/ldap.c:503 +msgid "unable to format timestamp" +msgstr "tidak bisa memformat stempel waktu" + +#: plugins/sudoers/cvtsudoers_json.c:547 plugins/sudoers/cvtsudoers_json.c:588 +#: plugins/sudoers/cvtsudoers_json.c:841 +#, c-format +msgid "%s:%d:%d: unknown defaults entry \"%s\"" +msgstr "%s:%d:%d: entri baku tak dikenal \"%s\"" + +#: plugins/sudoers/cvtsudoers_ldif.c:116 +#, c-format +msgid "unable to base64 encode value \"%s\"" +msgstr "tidak dapat meng-encode nilai base64 \"%s\"" + +#: plugins/sudoers/cvtsudoers_ldif.c:595 +#, c-format +msgid "internal error, unable insert user %s" +msgstr "galat internal, tidak bisa menyisipkan pengguna %s" + +#: plugins/sudoers/cvtsudoers_ldif.c:702 +#, c-format +msgid "too many sudoers entries, maximum %u" +msgstr "terlalu banyak entri sudoer, maksimum %u" + +#: plugins/sudoers/cvtsudoers_ldif.c:747 +msgid "the SUDOERS_BASE environment variable is not set and the -b option was not specified." +msgstr "variabel lingkungan SUDOERS_BASE tidak ditata dan opsi -b tidak dinyatakan." + +#: plugins/sudoers/cvtsudoers_merge.c:275 +#: plugins/sudoers/cvtsudoers_merge.c:313 +#, c-format +msgid "%s:%d:%d: converting host list to ALL" +msgstr "%s:%d:%d: mengonversi daftar host ke ALL" + +#: plugins/sudoers/cvtsudoers_merge.c:568 +#, c-format +msgid "unable to find alias %s" +msgstr "tidak bisa menemukan alias %s" + +#: plugins/sudoers/cvtsudoers_merge.c:572 +#, c-format +msgid "%s:%d:%d: renaming alias %s to %s" +msgstr "%s:%d:%d: mengubah nama alias %s menjadi %s" + +#: plugins/sudoers/cvtsudoers_merge.c:634 +#, c-format +msgid "%s:%d:%d: removing duplicate alias %s" +msgstr "%s:%d:%d: menghapus alias duplikat %s" + +#: plugins/sudoers/cvtsudoers_merge.c:868 +#, c-format +msgid "%s:%d:%d: conflicting Defaults entry \"%s\" host-specific in %s:%d:%d" +msgstr "%s:%d:%d: entri \"%s\" Defaults spesifik host yang konflik dalam %s:%d:%d" + +#: plugins/sudoers/cvtsudoers_merge.c:904 +#, c-format +msgid "%s:%d:%d: made Defaults \"%s\" specific to host %s" +msgstr "%s:%d:%d: membuat Default \"%s\" khusus untuk host %s" + +#: plugins/sudoers/cvtsudoers_merge.c:922 +#, c-format +msgid "%s:%d:%d: unable to make Defaults \"%s\" host-specific" +msgstr "%s:%d:%d: tidak dapat membuat Default \"%s\" khusus host" + +#: plugins/sudoers/cvtsudoers_merge.c:932 +#, c-format +msgid "%s:%d:%d: removing Defaults \"%s\" overridden by subsequent entries" +msgstr "%s:%d:%d: menghapus Default \"%s\" yang ditimpa oleh entri berikutnya" + +#: plugins/sudoers/cvtsudoers_merge.c:1128 +#, c-format +msgid "%s:%d:%d: merging userspec into %s:%d:%d" +msgstr "%s:%d:%d: menggabungkan userspec ke dalam %s:%d:%d" + +#: plugins/sudoers/cvtsudoers_merge.c:1224 +#, c-format +msgid "%s:%d:%d: removing userspec overridden by subsequent entries" +msgstr "%s:%d:%d: menghapus userspec yang ditimpa oleh entri berikutnya" + +#: plugins/sudoers/def_data.c:58 +#, c-format +msgid "Syslog facility if syslog is being used for logging: %s" +msgstr "Fasilitas syslog bila syslog dipakai untuk pencatatan log: %s" + +#: plugins/sudoers/def_data.c:62 +#, c-format +msgid "Syslog priority to use when user authenticates successfully: %s" +msgstr "Prioritas syslog yang akan dipakai ketika pengguna sukses mengotentikasi: %s" + +#: plugins/sudoers/def_data.c:66 +#, c-format +msgid "Syslog priority to use when user authenticates unsuccessfully: %s" +msgstr "Prioritas syslog yang akan dipakai ketika pengguna tidak sukses mengotentikasi: %s" + +#: plugins/sudoers/def_data.c:70 +msgid "Put OTP prompt on its own line" +msgstr "Letakkan permintaan OTP di barisnya sendiri" + +#: plugins/sudoers/def_data.c:74 +msgid "Ignore '.' in $PATH" +msgstr "Mengabaikan '.' dalam $PATH" + +#: plugins/sudoers/def_data.c:78 +msgid "Always send mail when sudo is run" +msgstr "Selalu kirim surat ketika sudo dijalankan" + +#: plugins/sudoers/def_data.c:82 +msgid "Send mail if user authentication fails" +msgstr "Kirim surat bila otentikasi pengguna gagal" + +#: plugins/sudoers/def_data.c:86 +msgid "Send mail if the user is not in sudoers" +msgstr "Kirim surat bila pengguna tidak dalam sudoer" + +#: plugins/sudoers/def_data.c:90 +msgid "Send mail if the user is not in sudoers for this host" +msgstr "Kirim surat bila pengguna tidak dalam sudoer bagi host ini" + +#: plugins/sudoers/def_data.c:94 +msgid "Send mail if the user is not allowed to run a command" +msgstr "Kirim surat bila pengguna tidak diizinkan menjalankan suatu perintah" + +#: plugins/sudoers/def_data.c:98 +msgid "Send mail if the user tries to run a command" +msgstr "Kirim surat bila pengguna mencoba menjalankan suatu perintah" + +#: plugins/sudoers/def_data.c:102 +msgid "Use a separate timestamp for each user/tty combo" +msgstr "Gunakan stempel waktu terpisah untuk setiap kombo pengguna/tty" + +#: plugins/sudoers/def_data.c:106 +msgid "Lecture user the first time they run sudo" +msgstr "Kuliahi pengguna saat pertama kali menjalankan sudo" + +#: plugins/sudoers/def_data.c:110 +#, c-format +msgid "File containing the sudo lecture: %s" +msgstr "Berkas yang berisi kuliah sudo: %s" + +#: plugins/sudoers/def_data.c:114 +msgid "Require users to authenticate by default" +msgstr "Wajibkan pengguna untuk mengautentikasi secara baku" + +#: plugins/sudoers/def_data.c:118 +msgid "Root may run sudo" +msgstr "Root dapat menjalankan sudo" + +#: plugins/sudoers/def_data.c:122 +msgid "Log the hostname in the (non-syslog) log file" +msgstr "Catat nama host dalam berkas log (bukan syslog)" + +#: plugins/sudoers/def_data.c:126 +msgid "Log the year in the (non-syslog) log file" +msgstr "Catat tahun dalam berkas log (bukan syslog)" + +#: plugins/sudoers/def_data.c:130 +msgid "If sudo is invoked with no arguments, start a shell" +msgstr "Jika sudo dipanggil tanpa argumen, mulai jalankan sebuah shell" + +#: plugins/sudoers/def_data.c:134 +msgid "Set $HOME to the target user when starting a shell with -s" +msgstr "Atur $HOME ke pengguna target saat memulai shell dengan -s" + +#: plugins/sudoers/def_data.c:138 +msgid "Always set $HOME to the target user's home directory" +msgstr "Selalu atur $HOME ke direktori home pengguna target" + +#: plugins/sudoers/def_data.c:142 +msgid "Allow some information gathering to give useful error messages" +msgstr "Izinkan beberapa pengumpulan informasi untuk memberikan pesan kesalahan yang berguna" + +#: plugins/sudoers/def_data.c:146 +msgid "Require fully-qualified hostnames in the sudoers file" +msgstr "Memerlukan nama host fully-qualified dalam berkas sudoers" + +#: plugins/sudoers/def_data.c:150 +msgid "Insult the user when they enter an incorrect password" +msgstr "Menghina pengguna saat mereka memasukkan kata sandi yang salah" + +#: plugins/sudoers/def_data.c:154 +msgid "Only allow the user to run sudo if they have a tty" +msgstr "Hanya izinkan pengguna untuk menjalankan sudo jika mereka memiliki tty" + +#: plugins/sudoers/def_data.c:158 +msgid "Visudo will honor the EDITOR environment variable" +msgstr "Visudo akan menghormati variabel lingkungan EDITOR" + +#: plugins/sudoers/def_data.c:162 +msgid "Prompt for root's password, not the user's" +msgstr "Meminta kata sandi root, bukan kata sandi pengguna" + +#: plugins/sudoers/def_data.c:166 +msgid "Prompt for the runas_default user's password, not the user's" +msgstr "Memintaan kata sandi pengguna runas_default, bukan kata sandi pengguna" + +#: plugins/sudoers/def_data.c:170 +msgid "Prompt for the target user's password, not the user's" +msgstr "Meminta kata sandi pengguna target, bukan kata sandi pengguna" + +#: plugins/sudoers/def_data.c:174 +msgid "Apply defaults in the target user's login class if there is one" +msgstr "Terapkan nilai baku di kelas login pengguna target jika ada" + +#: plugins/sudoers/def_data.c:178 +msgid "Set the LOGNAME and USER environment variables" +msgstr "Mengatur variabel lingkungan LOGNAME dan USER" + +#: plugins/sudoers/def_data.c:182 +msgid "Only set the effective uid to the target user, not the real uid" +msgstr "Hanya atur uid efektif ke pengguna target, bukan uid asli" + +#: plugins/sudoers/def_data.c:186 +msgid "Don't initialize the group vector to that of the target user" +msgstr "Jangan menginisialisasi vektor grup ke vektor pengguna target" + +#: plugins/sudoers/def_data.c:190 +#, c-format +msgid "Length at which to wrap log file lines (0 for no wrap): %u" +msgstr "Panjang untuk melipat baris berkas log (0 untuk tidak melipat): %u" + +#: plugins/sudoers/def_data.c:194 +#, c-format +msgid "Authentication timestamp timeout: %.1f minutes" +msgstr "Batas waktu stempel waktu autentikasi: %.1f menit" + +#: plugins/sudoers/def_data.c:198 +#, c-format +msgid "Password prompt timeout: %.1f minutes" +msgstr "Batas waktu permintaan kata sandi: %.1f menit" + +#: plugins/sudoers/def_data.c:202 +#, c-format +msgid "Number of tries to enter a password: %u" +msgstr "Cacah percobaan memasukkan kata sandi: %u" + +#: plugins/sudoers/def_data.c:206 +#, c-format +msgid "Umask to use or 0777 to use user's: 0%o" +msgstr "Umask yang akan digunakan atau 0777 untuk memakai milik pengguna: 0%o" + +#: plugins/sudoers/def_data.c:210 +#, c-format +msgid "Path to log file: %s" +msgstr "Path ke berkas log: %s" + +#: plugins/sudoers/def_data.c:214 +#, c-format +msgid "Path to mail program: %s" +msgstr "Path ke program mail: %s" + +#: plugins/sudoers/def_data.c:218 +#, c-format +msgid "Flags for mail program: %s" +msgstr "Flag bagi program mail: %s" + +#: plugins/sudoers/def_data.c:222 +#, c-format +msgid "Address to send mail to: %s" +msgstr "Alamat tujuan kirim surat: %s" + +#: plugins/sudoers/def_data.c:226 +#, c-format +msgid "Address to send mail from: %s" +msgstr "Alamat pengirim surat: %s" + +#: plugins/sudoers/def_data.c:230 +#, c-format +msgid "Subject line for mail messages: %s" +msgstr "Baris subyek untuk pesan surat: %s" + +#: plugins/sudoers/def_data.c:234 +#, c-format +msgid "Incorrect password message: %s" +msgstr "Pesan kata sandi salah: %s" + +#: plugins/sudoers/def_data.c:238 +#, c-format +msgid "Path to lecture status dir: %s" +msgstr "Path ke dir status perkuliahan: %s" + +#: plugins/sudoers/def_data.c:242 +#, c-format +msgid "Path to authentication timestamp dir: %s" +msgstr "Path ke dir stempel waktu otentikasi: %s" + +#: plugins/sudoers/def_data.c:246 +#, c-format +msgid "Owner of the authentication timestamp dir: %s" +msgstr "Pemilik dir stempel waktu otentikasi: %s" + +#: plugins/sudoers/def_data.c:250 +#, c-format +msgid "Users in this group are exempt from password and PATH requirements: %s" +msgstr "Pengguna dalam grup ini dibebaskan dari persyaratan kata sandi dan PATH: %s" + +#: plugins/sudoers/def_data.c:254 +#, c-format +msgid "Default password prompt: %s" +msgstr "Permintaan kata sandi baku: %s" + +#: plugins/sudoers/def_data.c:258 +msgid "If set, passprompt will override system prompt in all cases." +msgstr "Jika diatur, passprompt akan menimpa prompt sistem dalam semua kasus." + +#: plugins/sudoers/def_data.c:262 +#, c-format +msgid "Default user to run commands as: %s" +msgstr "Pengguna baku yang dipakai untuk menjalankan perintah: %s" + +#: plugins/sudoers/def_data.c:266 +#, c-format +msgid "Value to override user's $PATH with: %s" +msgstr "Nilai penimpa $PATH pengguna: %s" + +#: plugins/sudoers/def_data.c:270 +#, c-format +msgid "Path to the editor for use by visudo: %s" +msgstr "Path ke penyunting untuk digunakan oleh visudo: %s" + +#: plugins/sudoers/def_data.c:274 +#, c-format +msgid "When to require a password for 'list' pseudocommand: %s" +msgstr "Kapan harus meminta kata sandi untuk perintah pseudo 'list': %s" + +#: plugins/sudoers/def_data.c:278 +#, c-format +msgid "When to require a password for 'verify' pseudocommand: %s" +msgstr "Kapan harus meminta kata sandi untuk perintah pseudo 'verify': %s" + +#: plugins/sudoers/def_data.c:282 +msgid "Preload the sudo_noexec library which replaces the exec functions" +msgstr "Pramuat pustaka sudo_noexec yang menggantikan fungsi exec" + +#: plugins/sudoers/def_data.c:286 +msgid "If LDAP directory is up, do we ignore local sudoers file" +msgstr "Jika direktori LDAP aktif, apakah kita mengabaikan berkas sudoers lokal" + +#: plugins/sudoers/def_data.c:290 +#, c-format +msgid "File descriptors >= %d will be closed before executing a command" +msgstr "Deskriptor berkas >= %d akan ditutup sebelum menjalankan perintah" + +#: plugins/sudoers/def_data.c:294 +msgid "If set, users may override the value of \"closefrom\" with the -C option" +msgstr "Jika diatur, pengguna dapat mengganti nilai \"closefrom\" dengan opsi -C" + +#: plugins/sudoers/def_data.c:298 +msgid "Allow users to set arbitrary environment variables" +msgstr "Izinkan pengguna menetapkan sebarang variabel lingkungan" + +#: plugins/sudoers/def_data.c:302 +msgid "Reset the environment to a default set of variables" +msgstr "Mengatur ulang lingkungan ke kumpulan variabel default" + +#: plugins/sudoers/def_data.c:306 +msgid "Environment variables to check for safety:" +msgstr "Variabel lingkungan untuk pemeriksaan keselamatan:" + +#: plugins/sudoers/def_data.c:310 +msgid "Environment variables to remove:" +msgstr "Variabel lingkungan yang akan dihapus:" + +#: plugins/sudoers/def_data.c:314 +msgid "Environment variables to preserve:" +msgstr "Variabel lingkungan yang akan dipertahankan:" + +#: plugins/sudoers/def_data.c:318 +#, c-format +msgid "SELinux role to use in the new security context: %s" +msgstr "Peran SELinux untuk digunakan dalam konteks keamanan baru: %s" + +#: plugins/sudoers/def_data.c:322 +#, c-format +msgid "SELinux type to use in the new security context: %s" +msgstr "Jenis SELinux untuk digunakan dalam konteks keamanan baru: %s" + +#: plugins/sudoers/def_data.c:326 +#, c-format +msgid "Path to the sudo-specific environment file: %s" +msgstr "Path ke berkas lingkungan spesifik sudo: %s" + +#: plugins/sudoers/def_data.c:330 +#, c-format +msgid "Path to the restricted sudo-specific environment file: %s" +msgstr "Path ke berkas lingkungan spesifik sudo terbatas: %s" + +#: plugins/sudoers/def_data.c:334 +#, c-format +msgid "Locale to use while parsing sudoers: %s" +msgstr "Lokal yang digunakan saat mengurai sudoers: %s" + +#: plugins/sudoers/def_data.c:338 +msgid "Allow sudo to prompt for a password even if it would be visible" +msgstr "Izinkan sudo untuk meminta kata sandi meskipun itu akan terlihat" + +#: plugins/sudoers/def_data.c:342 +msgid "Provide visual feedback at the password prompt when there is user input" +msgstr "Memberikan umpan balik visual pada permintaan kata sandi ketika ada masukan pengguna" + +#: plugins/sudoers/def_data.c:346 +msgid "Use faster globbing that is less accurate but does not access the filesystem" +msgstr "Gunakan globbing lebih cepat yang kurang akurat tetapi tidak mengakses sistem berkas" + +#: plugins/sudoers/def_data.c:350 +msgid "The umask specified in sudoers will override the user's, even if it is more permissive" +msgstr "Umask yang ditentukan dalam sudoers akan menimpa milik pengguna, bahkan jika itu lebih permisif" + +#: plugins/sudoers/def_data.c:354 +msgid "Log user's input for the command being run" +msgstr "Catat log masukan pengguna untuk perintah yang sedang dijalankan" + +#: plugins/sudoers/def_data.c:358 +msgid "Log the command's standard input if not connected to a terminal" +msgstr "Catat log masukan standar perintah jika tidak terhubung ke terminal" + +#: plugins/sudoers/def_data.c:362 +msgid "Log the user's terminal input for the command being run" +msgstr "Catat log masukan terminal pengguna untuk perintah yang sedang dijalankan" + +#: plugins/sudoers/def_data.c:366 +msgid "Log the output of the command being run" +msgstr "Catat log keluaran dari perintah yang sedang dijalankan" + +#: plugins/sudoers/def_data.c:370 +msgid "Log the command's standard output if not connected to a terminal" +msgstr "Catat log keluaran standar perintah jika tidak terhubung ke terminal" + +#: plugins/sudoers/def_data.c:374 +msgid "Log the command's standard error if not connected to a terminal" +msgstr "Catat log kesalahan standar perintah jika tidak terhubung ke terminal" + +#: plugins/sudoers/def_data.c:378 +msgid "Log the terminal output of the command being run" +msgstr "Catat log keluaran terminal dari perintah yang sedang dijalankan" + +#: plugins/sudoers/def_data.c:382 +msgid "Compress I/O logs using zlib" +msgstr "Mampatkan log I/O menggunakan zlib" + +#: plugins/sudoers/def_data.c:386 +msgid "Always run commands in a pseudo-tty" +msgstr "Selalu jalankan perintah dalam pseudo-tty" + +#: plugins/sudoers/def_data.c:390 +#, c-format +msgid "Plugin for non-Unix group support: %s" +msgstr "Pengaya untuk dukungan grup non-Unix: %s" + +#: plugins/sudoers/def_data.c:394 +#, c-format +msgid "Directory in which to store input/output logs: %s" +msgstr "Direktori tempat menyimpan catatan log masukan/keluaran: %s" + +#: plugins/sudoers/def_data.c:398 +#, c-format +msgid "File in which to store the input/output log: %s" +msgstr "Berkas untuk menyimpan catatan log masukan/keluaran: %s" + +#: plugins/sudoers/def_data.c:402 +msgid "Add an entry to the utmp/utmpx file when allocating a pty" +msgstr "Tambahkan entri ke berkas utmp/utmpx saat mengalokasikan pty" + +#: plugins/sudoers/def_data.c:406 +msgid "Set the user in utmp to the runas user, not the invoking user" +msgstr "Atur pengguna di utmp ke pengguna runas, bukan pengguna yang memanggil" + +#: plugins/sudoers/def_data.c:410 +#, c-format +msgid "Set of permitted privileges: %s" +msgstr "Kumpulan hak istimewa yang diizinkan: %s" + +#: plugins/sudoers/def_data.c:414 +#, c-format +msgid "Set of limit privileges: %s" +msgstr "Kumpulan hak istimewa batas: %s" + +#: plugins/sudoers/def_data.c:418 +msgid "Run commands on a pty in the background" +msgstr "Jalankan perintah pada pty di latar belakang" + +#: plugins/sudoers/def_data.c:422 +#, c-format +msgid "PAM service name to use: %s" +msgstr "Nama layanan PAM yang digunakan: %s" + +#: plugins/sudoers/def_data.c:426 +#, c-format +msgid "PAM service name to use for login shells: %s" +msgstr "Nama layanan PAM yang digunakan untuk shell login: %s" + +#: plugins/sudoers/def_data.c:430 +#, c-format +msgid "PAM service name to use when sudo is run with the -A option: %s" +msgstr "Nama layanan PAM untuk digunakan saat sudo dijalankan dengan opsi -A: %s" + +#: plugins/sudoers/def_data.c:434 +msgid "Attempt to establish PAM credentials for the target user" +msgstr "Mencoba membuat kredensial PAM untuk pengguna target" + +#: plugins/sudoers/def_data.c:438 +msgid "Create a new PAM session for the command to run in" +msgstr "Membuat sesi PAM baru untuk tempat menjalankan perintah" + +#: plugins/sudoers/def_data.c:442 +msgid "Perform PAM account validation management" +msgstr "Melakukan manajemen validasi akun PAM" + +#: plugins/sudoers/def_data.c:446 +msgid "Do not allow PAM authentication modules to generate output" +msgstr "Jangan izinkan modul otentikasi PAM menghasilkan keluaran" + +#: plugins/sudoers/def_data.c:450 +#, c-format +msgid "Maximum I/O log sequence number: %s" +msgstr "Nomor urut log I/O maksimum: %s" + +#: plugins/sudoers/def_data.c:454 +msgid "Enable sudoers netgroup support" +msgstr "Aktifkan dukungan netgroup sudoers" + +#: plugins/sudoers/def_data.c:458 +msgid "Check parent directories for writability when editing files with sudoedit" +msgstr "Memeriksa direktori induk apakah dapat ditulisi saat menyunting berkas dengan sudoedit" + +#: plugins/sudoers/def_data.c:462 +msgid "Follow symbolic links when editing files with sudoedit" +msgstr "Ikuti tautan simbolis saat menyunting berkas dengan sudoedit" + +#: plugins/sudoers/def_data.c:466 +msgid "Query the group plugin for unknown system groups" +msgstr "Kuiri pengaya grup untuk grup sistem yang tidak dikenal" + +#: plugins/sudoers/def_data.c:470 +msgid "Match netgroups based on the entire tuple: user, host and domain" +msgstr "Cocokkan netgroup berdasarkan seluruh tuple: pengguna, host, dan domain" + +#: plugins/sudoers/def_data.c:474 +msgid "Allow commands to be run even if sudo cannot write to the audit log" +msgstr "Izinkan perintah dijalankan meskipun sudo tidak dapat menulis ke log audit" + +#: plugins/sudoers/def_data.c:478 +msgid "Allow commands to be run even if sudo cannot write to the I/O log" +msgstr "Izinkan perintah dijalankan meskipun sudo tidak dapat menulis ke log I/O" + +#: plugins/sudoers/def_data.c:482 +msgid "Allow commands to be run even if sudo cannot write to the log file" +msgstr "Izinkan perintah dijalankan bahkan jika sudo tidak dapat menulis ke berkas log" + +#: plugins/sudoers/def_data.c:486 +msgid "Resolve groups in sudoers and match on the group ID, not the name" +msgstr "Mengurai grup di sudoers dan mencocokkan pada ID grup, bukan nama" + +#: plugins/sudoers/def_data.c:490 +#, c-format +msgid "Log entries larger than this value will be split into multiple syslog messages: %u" +msgstr "Entri log yang lebih besar dari nilai ini akan dibagi menjadi beberapa pesan syslog: %u" + +#: plugins/sudoers/def_data.c:494 +#, c-format +msgid "User that will own the I/O log files: %s" +msgstr "Pengguna yang akan memiliki berkas log I/O: %s" + +#: plugins/sudoers/def_data.c:498 +#, c-format +msgid "Group that will own the I/O log files: %s" +msgstr "Grup yang akan memiliki berkas log I/O: %s" + +#: plugins/sudoers/def_data.c:502 +#, c-format +msgid "File mode to use for the I/O log files: 0%o" +msgstr "Mode berkas yang digunakan untuk berkas log I/O: 0%o" + +#: plugins/sudoers/def_data.c:506 +#, c-format +msgid "Execute commands by file descriptor instead of by path: %s" +msgstr "Jalankan perintah dengan deskriptor berkas, bukan dengan path: %s" + +#: plugins/sudoers/def_data.c:510 +msgid "Ignore unknown Defaults entries in sudoers instead of producing a warning" +msgstr "Abaikan entri Default yang tidak dikenal di sudoers alih-alih membuat peringatan" + +#: plugins/sudoers/def_data.c:514 +#, c-format +msgid "Time in seconds after which the command will be terminated: %u" +msgstr "Waktu dalam detik setelah itu perintah akan dihentikan: %u" + +#: plugins/sudoers/def_data.c:518 +msgid "Allow the user to specify a timeout on the command line" +msgstr "Izinkan pengguna menentukan batas waktu pada baris perintah" + +#: plugins/sudoers/def_data.c:522 +msgid "Flush I/O log data to disk immediately instead of buffering it" +msgstr "Flush data log I/O ke disk seketika alih-alih menyangga" + +#: plugins/sudoers/def_data.c:526 +msgid "Include the process ID when logging via syslog" +msgstr "Sertakan ID proses saat mencatat log melalui syslog" + +#: plugins/sudoers/def_data.c:530 +#, c-format +msgid "Type of authentication timestamp record: %s" +msgstr "Tipe catatan stempel waktu otentikasi: %s" + +#: plugins/sudoers/def_data.c:534 +#, c-format +msgid "Authentication failure message: %s" +msgstr "Pesan kegagalan otentikasi: %s" + +#: plugins/sudoers/def_data.c:538 +msgid "Ignore case when matching user names" +msgstr "Abaikan huruf besar kecil saat mencocokkan nama pengguna" + +#: plugins/sudoers/def_data.c:542 +msgid "Ignore case when matching group names" +msgstr "Abaikan huruf besar kecil saat mencocokkan nama grup" + +#: plugins/sudoers/def_data.c:546 +msgid "Log when a command is allowed by sudoers" +msgstr "Catat log ketika perintah diizinkan oleh sudoers" + +#: plugins/sudoers/def_data.c:550 +msgid "Log when a command is denied by sudoers" +msgstr "Catat log ketika perintah ditolak oleh sudoers" + +#: plugins/sudoers/def_data.c:554 +msgid "Sudo log server(s) to connect to with optional port" +msgstr "Server log Sudo untuk terhubung dengan port opsional" + +#: plugins/sudoers/def_data.c:558 +#, c-format +msgid "Sudo log server timeout in seconds: %u" +msgstr "Batas waktu server log Sudo dalam hitungan detik: %u" + +#: plugins/sudoers/def_data.c:562 +msgid "Enable SO_KEEPALIVE socket option on the socket connected to the logserver" +msgstr "Fungsikan opsi soket SO_KEEPALIVE pada soket yang terhubung ke server log" + +#: plugins/sudoers/def_data.c:566 +#, c-format +msgid "Path to the audit server's CA bundle file: %s" +msgstr "Path ke berkas bundel CA server audit: %s" + +#: plugins/sudoers/def_data.c:570 +#, c-format +msgid "Path to the sudoers certificate file: %s" +msgstr "Path ke berkas sertifikat sudoers: %s" + +#: plugins/sudoers/def_data.c:574 +#, c-format +msgid "Path to the sudoers private key file: %s" +msgstr "Path ke berkas kunci privat sudoers: %s" + +#: plugins/sudoers/def_data.c:578 +msgid "Verify that the log server's certificate is valid" +msgstr "Verifikasi bahwa sertifikat server log valid" + +#: plugins/sudoers/def_data.c:582 +msgid "Allow the use of unknown runas user and/or group ID" +msgstr "Izinkan penggunaan pengguna dan/atau ID grup runas yang tidak dikenal" + +#: plugins/sudoers/def_data.c:586 +msgid "Only permit running commands as a user with a valid shell" +msgstr "Hanya izinkan menjalankan perintah sebagai pengguna dengan shell yang valid" + +#: plugins/sudoers/def_data.c:590 +msgid "Set the pam remote user to the user running sudo" +msgstr "Atur pam pengguna jarak jauh ke pengguna yang menjalankan sudo" + +#: plugins/sudoers/def_data.c:594 +msgid "Set the pam remote host to the local host name" +msgstr "Atur pam host jarak jauh ke nama host lokal" + +#: plugins/sudoers/def_data.c:598 +#, c-format +msgid "Working directory to change to before executing the command: %s" +msgstr "Direktori kerja tempat berpindah sebelum menjalankan perintah: %s" + +#: plugins/sudoers/def_data.c:602 +#, c-format +msgid "Root directory to change to before executing the command: %s" +msgstr "Direktori root tempat berpindah sebelum menjalankan perintah: %s" + +#: plugins/sudoers/def_data.c:606 +#, c-format +msgid "The format of logs to produce: %s" +msgstr "Format log yang akan dihasilkan: %s" + +#: plugins/sudoers/def_data.c:610 +msgid "Enable SELinux RBAC support" +msgstr "Fungsikan dukungan RBAC SELinux" + +#: plugins/sudoers/def_data.c:614 +#, c-format +msgid "Path to the file that is created the first time sudo is run: %s" +msgstr "Path ke berkas yang dibuat saat pertama kali sudo dijalankan: %s" + +#: plugins/sudoers/def_data.c:618 +msgid "Intercept further commands and apply sudoers restrictions to them" +msgstr "Mencegat perintah lebih lanjut dan menerapkan pembatasan sudoers untuk mereka" + +#: plugins/sudoers/def_data.c:622 +msgid "Log sub-commands run by the original command" +msgstr "Catat log sub perintah yang dijalankan oleh perintah asli" + +#: plugins/sudoers/def_data.c:626 +msgid "Log the exit status of commands" +msgstr "Catat log status keluar perintah" + +#: plugins/sudoers/def_data.c:630 +msgid "Subsequent commands in an intercepted session must be authenticated" +msgstr "Perintah berikutnya dalam sesi yang dicegat harus diautentikasi" + +#: plugins/sudoers/def_data.c:634 +msgid "Allow an intercepted command to run set setuid or setgid programs" +msgstr "Izinkan perintah yang dicegat untuk menjalankan program setuid atau setgid yang ditetapkan" + +#: plugins/sudoers/def_data.c:638 +#, c-format +msgid "The maximum size to which the process's address space may grow (in bytes): %s" +msgstr "Ukuran maksimum dimana ruang alamat proses dapat tumbuh (dalam byte): %s" + +#: plugins/sudoers/def_data.c:642 +#, c-format +msgid "The largest size core dump file that may be created (in bytes): %s" +msgstr "Ukuran terbesar berkas core dump yang dapat dibuat (dalam byte): %s" + +#: plugins/sudoers/def_data.c:646 +#, c-format +msgid "The maximum amount of CPU time that the process may use (in seconds): %s" +msgstr "Besarnya maksimum waktu CPU yang dapat digunakan proses (dalam detik): %s" + +#: plugins/sudoers/def_data.c:650 +#, c-format +msgid "The maximum size of the data segment for the process (in bytes): %s" +msgstr "Ukuran maksimum segmen data untuk proses (dalam byte): %s" + +#: plugins/sudoers/def_data.c:654 +#, c-format +msgid "The largest size file that the process may create (in bytes): %s" +msgstr "Ukuran terbesar berkas yang dapat dibuat proses (dalam byte): %s" + +#: plugins/sudoers/def_data.c:658 +#, c-format +msgid "The maximum number of locks that the process may establish: %s" +msgstr "Banyaknya maksimum kunci yang dapat ditetapkan oleh proses: %s" + +#: plugins/sudoers/def_data.c:662 +#, c-format +msgid "The maximum size that the process may lock in memory (in bytes): %s" +msgstr "Ukuran maksimum memori yang dapat dikunci oleh proses (dalam byte): %s" + +#: plugins/sudoers/def_data.c:666 +#, c-format +msgid "The maximum number of files that the process may have open: %s" +msgstr "Banyaknya maksimum berkas yang mungkin dibuka proses: %s" + +#: plugins/sudoers/def_data.c:670 +#, c-format +msgid "The maximum number of processes that the user may run simultaneously: %s" +msgstr "Banyaknya maksimum proses yang dapat dijalankan pengguna secara bersamaan: %s" + +#: plugins/sudoers/def_data.c:674 +#, c-format +msgid "The maximum size to which the process's resident set size may grow (in bytes): %s" +msgstr "Ukuran maksimum dapat tumbuhnya resident set milik proses (dalam byte): %s" + +#: plugins/sudoers/def_data.c:678 +#, c-format +msgid "The maximum size to which the process's stack may grow (in bytes): %s" +msgstr "Ukuran maksimum dapat tumbuhnya ukuran stack milik proses (dalam byte): %s" + +#: plugins/sudoers/def_data.c:682 +msgid "Attempt authentication even when in non-interactive mode" +msgstr "Mencoba autentikasi bahkan saat dalam mode non-interaktif" + +#: plugins/sudoers/def_data.c:686 +msgid "Store plaintext passwords in I/O log input" +msgstr "Simpan kata sandi teks polos dalam masukan log I/O" + +#: plugins/sudoers/def_data.c:690 +msgid "List of regular expressions to use when matching a password prompt" +msgstr "Daftar ekspresi reguler untuk digunakan saat mencocokkan permintaan kata sandi" + +#: plugins/sudoers/def_data.c:694 +#, c-format +msgid "The mechanism used by the intercept and log_subcmds options: %s" +msgstr "Mekanisme yang digunakan oleh opsi intercept dan log_subcmds: %s" + +#: plugins/sudoers/def_data.c:698 +msgid "Attempt to verify the command and arguments after execution" +msgstr "Mencoba memverifikasi perintah dan argumen setelah eksekusi" + +#: plugins/sudoers/def_data.c:702 +#, c-format +msgid "AppArmor profile to use in the new security context: %s" +msgstr "Profil AppArmor untuk digunakan dalam konteks keamanan baru: %s" + +#: plugins/sudoers/def_data.c:706 +#, c-format +msgid "Command denial message: %s" +msgstr "Pesan penolakan perintah: %s" + +#: plugins/sudoers/defaults.c:207 +#, c-format +msgid "unknown defaults entry \"%s\"" +msgstr "entri baku tak dikenal \"%s\"" + +#: plugins/sudoers/defaults.c:251 +#, c-format +msgid "no value specified for \"%s\"" +msgstr "tidak ada nilai yang ditentukan untuk \"%s\"" + +#: plugins/sudoers/defaults.c:260 +#, c-format +msgid "invalid operator \"%c=\" for \"%s\"" +msgstr "operator tidak valid \"%c=\" untuk \"%s\"" + +#: plugins/sudoers/defaults.c:292 +#, c-format +msgid "option \"%s\" does not take a value" +msgstr "opsi \"%s\" tidak mengambil nilai" + +#: plugins/sudoers/defaults.c:319 +#, c-format +msgid "invalid Defaults type 0x%x for option \"%s\"" +msgstr "tipe Default 0x%x yang tidak valid untuk opsi \"%s\"" + +#: plugins/sudoers/defaults.c:326 +#, c-format +msgid "value \"%s\" is invalid for option \"%s\"" +msgstr "nilai \"%s\" tidak valid untuk opsi \"%s\"" + +#: plugins/sudoers/defaults.c:1189 plugins/sudoers/policy.c:208 +#: plugins/sudoers/policy.c:217 +#, c-format +msgid "path name for \"%s\" too long" +msgstr "nama path untuk \"%s\" terlalu panjang" + +#: plugins/sudoers/defaults.c:1195 +#, c-format +msgid "values for \"%s\" must start with a '/', '~', or '*'" +msgstr "nilai-nilai untuk \"%s\" harus dimulai dengan '/', '~', atau '*'" + +#: plugins/sudoers/defaults.c:1202 +#, c-format +msgid "values for \"%s\" must start with a '/'" +msgstr "nilai-nilai untuk \"%s\" harus dimulai dengan '/'" + +#: plugins/sudoers/display.c:154 +#, c-format +msgid "LDAP Role: %s\n" +msgstr "Peran LDAP: %s\n" + +#: plugins/sudoers/display.c:157 +#, c-format +msgid "Sudoers entry: %s\n" +msgstr "Entri sudoers: %s\n" + +#: plugins/sudoers/display.c:160 +msgid " RunAsUsers: " +msgstr " RunAsUsers: " + +#: plugins/sudoers/display.c:175 +msgid " RunAsGroups: " +msgstr " RunAsGroups: " + +#: plugins/sudoers/display.c:185 +msgid " Options: " +msgstr " Opsi: " + +#: plugins/sudoers/display.c:249 +msgid " Commands:\n" +msgstr " Perintah:\n" + +#: plugins/sudoers/display.c:472 +#, c-format +msgid "Matching Defaults entries for %s on %s:\n" +msgstr "Mencocokkan entri Default untuk %s di %s:\n" + +#: plugins/sudoers/display.c:490 +#, c-format +msgid "Runas and Command-specific defaults for %s:\n" +msgstr "Default perintah spesifik dan Runas untuk %s:\n" + +#: plugins/sudoers/display.c:508 +#, c-format +msgid "User %s may run the following commands on %s:\n" +msgstr "Pengguna %s dapat menjalankan perintah berikut pada %s:\n" + +#: plugins/sudoers/display.c:524 +#, c-format +msgid "User %s is not allowed to run sudo on %s.\n" +msgstr "Pengguna %s tidak diperbolehkan menjalankan sudo di %s.\n" + +#: plugins/sudoers/editor.c:180 +#, c-format +msgid "ignoring editor: %.*s" +msgstr "mengabaikan penyunting: %.*s" + +#: plugins/sudoers/editor.c:181 +msgid "editor arguments may not contain \"--\"" +msgstr "argumen penyunting tidak boleh memuat \"--\"" + +#: plugins/sudoers/env.c:443 +msgid "sudo_putenv: corrupted envp, length mismatch" +msgstr "sudo_putenv: envp rusak, panjang tidak cocok" + +#: plugins/sudoers/env.c:1137 +msgid "unable to rebuild the environment" +msgstr "tidak dapat membangun kembali lingkungan" + +#: plugins/sudoers/env.c:1217 +#, c-format +msgid "sorry, you are not allowed to set the following environment variables: %s" +msgstr "maaf, Anda tidak diperbolehkan untuk mengatur variabel lingkungan berikut: %s" + +#: plugins/sudoers/filedigest.c:50 +#, c-format +msgid "unsupported digest type %u for %s" +msgstr "tipe digest yang tidak didukung %u untuk %s" + +#: plugins/sudoers/filedigest.c:77 +#, c-format +msgid "%s: read error" +msgstr "%s: galat baca" + +#: plugins/sudoers/group_plugin.c:169 plugins/sudoers/sssd.c:578 +#, c-format +msgid "unable to load %s: %s" +msgstr "tidak bisa memuat %s: %s" + +#: plugins/sudoers/group_plugin.c:181 +#, c-format +msgid "unable to find symbol \"group_plugin\" in %s" +msgstr "tidak dapat menemukan simbol \"group_plugin\" di %s" + +#: plugins/sudoers/group_plugin.c:186 +#, c-format +msgid "%s: incompatible group plugin major version %d, expected %d" +msgstr "%s: pengaya grup tidak kompatibel versi mayor %d, diharapkan %d" + +#: plugins/sudoers/interfaces.c:76 plugins/sudoers/interfaces.c:93 +#, c-format +msgid "unable to parse IP address \"%s\"" +msgstr "tidak dapat mengurai alamat IP \"%s\"" + +#: plugins/sudoers/interfaces.c:81 plugins/sudoers/interfaces.c:98 +#, c-format +msgid "unable to parse netmask \"%s\"" +msgstr "tidak dapat mengurai netmask \"%s\"" + +#: plugins/sudoers/interfaces.c:126 +msgid "Local IP address and netmask pairs:\n" +msgstr "Pasangan alamat IP lokal dan netmask:\n" + +#: plugins/sudoers/iolog.c:702 +msgid "unable to update sequence file" +msgstr "tidak dapat memperbarui berkas urutan" + +#: plugins/sudoers/iolog.c:736 plugins/sudoers/iolog.c:925 +#: plugins/sudoers/iolog.c:1088 plugins/sudoers/iolog.c:1095 +#: plugins/sudoers/iolog.c:1217 plugins/sudoers/iolog.c:1224 +#: plugins/sudoers/iolog.c:1324 plugins/sudoers/iolog.c:1331 +#, c-format +msgid "unable to write to I/O log file: %s" +msgstr "tidak dapat menulis ke berkas log I/O: %s" + +#: plugins/sudoers/iolog.c:744 +#, c-format +msgid "unable to create %s/%s" +msgstr "tidak dapat membuat %s/%s" + +#: plugins/sudoers/iolog.c:973 +#, c-format +msgid "%s: internal error, I/O log file for event %d not open" +msgstr "%s: galat internal, berkas log I/O untuk peristiwa %d tidak terbuka" + +#: plugins/sudoers/iolog.c:1073 plugins/sudoers/iolog.c:1202 +#: plugins/sudoers/iolog.c:1308 plugins/sudoers/timestamp.c:900 +#: plugins/sudoers/timestamp.c:992 plugins/sudoers/visudo.c:555 +#: plugins/sudoers/visudo.c:561 +msgid "unable to read the clock" +msgstr "tidak bisa membaca jam" + +#: plugins/sudoers/iolog.c:1300 plugins/sudoers/log_client.c:1226 +#: plugins/sudoers/log_client.c:1236 plugins/sudoers/log_client.c:1240 +#, c-format +msgid "%s: internal error, invalid signal %d" +msgstr "%s: galat internal, sinyal tidak valid %d" + +#: plugins/sudoers/ldap.c:154 plugins/sudoers/ldap_conf.c:289 +msgid "starttls not supported when using ldaps" +msgstr "starttls tidak didukung saat menggunakan ldaps" + +#: plugins/sudoers/ldap.c:226 +#, c-format +msgid "unable to initialize SSL cert and key db: %s" +msgstr "tidak dapat menginisialisasi sertifikat SSL dan db kunci: %s" + +#: plugins/sudoers/ldap.c:229 +#, c-format +msgid "you must set TLS_CERT in %s to use SSL" +msgstr "Anda harus mengatur TLS_CERT di %s untuk menggunakan SSL" + +#: plugins/sudoers/ldap.c:1593 +#, c-format +msgid "unable to initialize LDAP: %s" +msgstr "tidak dapat menginisialisasi LDAP: %s" + +#: plugins/sudoers/ldap.c:1630 +msgid "start_tls specified but LDAP libs do not support ldap_start_tls_s() or ldap_start_tls_s_np()" +msgstr "start_tls ditentukan tetapi lib LDAP tidak mendukung ldap_start_tls_s() atau ldap_start_tls_s_np()" + +#: plugins/sudoers/ldap.c:1767 plugins/sudoers/parse_ldif.c:745 +#, c-format +msgid "invalid sudoOrder attribute: %s" +msgstr "atribut sudoOrder tidak valid: %s" + +#: plugins/sudoers/ldap_conf.c:197 +#, c-format +msgid "%s: port too large" +msgstr "%s: port terlalu besar" + +#: plugins/sudoers/ldap_conf.c:258 +#, c-format +msgid "unsupported LDAP uri type: %s" +msgstr "tipe uri LDAP yang tidak didukung: %s" + +#: plugins/sudoers/ldap_conf.c:285 +msgid "unable to mix ldap and ldaps URIs" +msgstr "tidak dapat mencampur URI ldap dan ldaps" + +#: plugins/sudoers/ldap_util.c:496 plugins/sudoers/ldap_util.c:503 +#: plugins/sudoers/ldap_util.c:511 plugins/sudoers/ldap_util.c:519 +#: plugins/sudoers/ldap_util.c:527 plugins/sudoers/ldap_util.c:535 +#: plugins/sudoers/ldap_util.c:543 plugins/sudoers/ldap_util.c:551 +#, c-format +msgid "duplicate sudoOption: %s%s%s" +msgstr "sudoOption duplikat: %s%s%s" + +#: plugins/sudoers/ldap_util.c:569 plugins/sudoers/ldap_util.c:571 +#, c-format +msgid "unable to convert sudoOption: %s%s%s" +msgstr "tidak dapat mengonversi sudoOption: %s%s%s" + +#: plugins/sudoers/linux_audit.c:58 plugins/sudoers/linux_audit.c:60 +msgid "unable to open audit system" +msgstr "tidak bisa membuka sistem audit" + +#: plugins/sudoers/linux_audit.c:104 +msgid "unable to send audit message" +msgstr "tidak bisa mengirim pesan audit" + +#: plugins/sudoers/log_client.c:125 plugins/sudoers/log_client.c:421 +#: plugins/sudoers/log_client.c:1473 plugins/sudoers/log_client.c:2101 +msgid "error in event loop" +msgstr "galat dalam loop kejadian" + +#: plugins/sudoers/log_client.c:214 +#, c-format +msgid "Creation of new SSL_CTX object failed: %s" +msgstr "Pembuatan objek SSL_CTX baru gagal: %s" + +#: plugins/sudoers/log_client.c:239 +#, c-format +msgid "unable to load certificate authority bundle %s" +msgstr "tidak dapat memuat bundel otoritas sertifikat %s" + +#: plugins/sudoers/log_client.c:261 +#, c-format +msgid "unable to load certificate %s" +msgstr "tidak bisa memuat sertifikat %s" + +#: plugins/sudoers/log_client.c:275 +#, c-format +msgid "unable to load private key %s" +msgstr "tidak bisa memuat kunci privat %s" + +#: plugins/sudoers/log_client.c:284 +#, c-format +msgid "Unable to allocate ssl object: %s" +msgstr "Tidak bisa mengalokasikan obyek ssl: %s" + +#: plugins/sudoers/log_client.c:373 plugins/sudoers/log_client.c:378 +#, c-format +msgid "TLS connection to %s:%s failed: %s" +msgstr "Koneksi TLS ke %s:%s gagal: %s" + +#: plugins/sudoers/log_client.c:554 +msgid "TLS initialization was unsuccessful" +msgstr "Inisialisasi TLS tidak sukses" + +#: plugins/sudoers/log_client.c:564 +msgid "TLS handshake was unsuccessful" +msgstr "Jabat tangan TLS tidak sukses" + +#: plugins/sudoers/log_client.c:1244 +#, c-format +msgid "%s: internal error, invalid exit status %d" +msgstr "%s: galat internal, status keluar tidak valid %d" + +#: plugins/sudoers/log_client.c:1780 plugins/sudoers/log_client.c:1805 +msgid "lost connection to log server" +msgstr "kehilangan koneksi ke server log" + +#: plugins/sudoers/log_client.c:1882 +msgid "missing write buffer" +msgstr "penyangga tulis hilang" + +#: plugins/sudoers/log_client.c:2040 +msgid "unable to connect to log server" +msgstr "tidak dapat menyambung ke server log" + +#: plugins/sudoers/logging.c:295 +msgid "user NOT in sudoers" +msgstr "pengguna TIDAK di sudoers" + +#: plugins/sudoers/logging.c:297 +msgid "user NOT authorized on host" +msgstr "pengguna TIDAK diizinkan pada host" + +#: plugins/sudoers/logging.c:299 +msgid "setid command rejected in intercept mode" +msgstr "perintah setid ditolak dalam mode intersepsi" + +#: plugins/sudoers/logging.c:301 +msgid "command not allowed" +msgstr "perintah tidak diizinkan" + +#: plugins/sudoers/logging.c:322 +#, c-format +msgid "%s is not in the sudoers file.\n" +msgstr "%s tidak ada dalam berkas sudoers.\n" + +#: plugins/sudoers/logging.c:325 +#, c-format +msgid "%s is not allowed to run sudo on %s.\n" +msgstr "%s tidak diperbolehkan menjalankan sudo di %s.\n" + +#: plugins/sudoers/logging.c:328 plugins/sudoers/parser_warnx.c:59 +#, c-format +msgid "%s: %s\n" +msgstr "%s: %s\n" + +#: plugins/sudoers/logging.c:329 +msgid "setid commands are not permitted in intercept mode" +msgstr "Perintah setid tidak diizinkan dalam mode intersepsi" + +#: plugins/sudoers/logging.c:331 +#, c-format +msgid "Sorry, user %s may not run sudo on %s.\n" +msgstr "Maaf, pengguna %s tidak boleh menjalankan sudo di %s.\n" + +#: plugins/sudoers/logging.c:344 +#, c-format +msgid "Sorry, user %s is not allowed to execute '%s%s%s%s' as %s%s%s on %s.\n" +msgstr "Maaf, pengguna %s tidak diperbolehkan untuk mengeksekusi '%s%s%s%s' sebagai %s%s%s pada %s.\n" + +#: plugins/sudoers/logging.c:358 +msgid "This incident has been reported to the administrator.\n" +msgstr "Insiden ini telah dilaporkan ke administrator.\n" + +#: plugins/sudoers/logging.c:395 plugins/sudoers/sudoers.c:564 +#: plugins/sudoers/sudoers.c:566 plugins/sudoers/sudoers.c:568 +#: plugins/sudoers/sudoers.c:570 plugins/sudoers/sudoers.c:794 +#: plugins/sudoers/sudoers.c:796 +#, c-format +msgid "%s: command not found" +msgstr "%s: perintah tidak ditemukan" + +#: plugins/sudoers/logging.c:397 plugins/sudoers/sudoers.c:560 +#, c-format +msgid "" +"ignoring \"%s\" found in '.'\n" +"Use \"sudo ./%s\" if this is the \"%s\" you wish to run." +msgstr "" +"mengabaikan \"%s\" yang ditemukan di '.'\n" +"Gunakan \"sudo ./%s\" jika ini adalah \"%s\" yang ingin Anda jalankan." + +#: plugins/sudoers/logging.c:417 +#, c-format +msgid "%u incorrect password attempt" +msgid_plural "%u incorrect password attempts" +msgstr[0] "%u upaya kata sandi yang salah" + +#: plugins/sudoers/logging.c:508 +msgid "authentication failure" +msgstr "kegagalan otentikasi" + +#: plugins/sudoers/logging.c:552 plugins/sudoers/logging.c:571 +msgid "a password is required" +msgstr "kata sandi diperlukan" + +#: plugins/sudoers/logging.c:889 +msgid "problem parsing sudoers" +msgstr "masalah saat mengurai sudoer" + +#: plugins/sudoers/logging.c:930 plugins/sudoers/logging.c:938 +#, c-format +msgid "%s:%d:%d: %s" +msgstr "%s:%d:%d: %s" + +#: plugins/sudoers/logging.c:1119 +#, c-format +msgid "unable to write log file %s" +msgstr "tidak bisa menulis berkas log %s" + +#: plugins/sudoers/match_digest.c:107 +#, c-format +msgid "digest for %s (%s) bad length %zu, expected %zu" +msgstr "panjang digest untuk %s (%s) buruk %zu, diharapkan %zu" + +#: plugins/sudoers/match_digest.c:126 +#, c-format +msgid "digest for %s (%s) is not in %s form" +msgstr "digest untuk %s (%s) tidak dalam bentuk %s" + +#: plugins/sudoers/parse_ldif.c:615 +#, c-format +msgid "ignoring incomplete sudoRole: cn: %s" +msgstr "mengabaikan sudoRole yang tidak lengkap: cn: %s" + +#: plugins/sudoers/parse_ldif.c:675 +#, c-format +msgid "invalid LDIF attribute: %s" +msgstr "atribut LDIF tidak valid: %s" + +#: plugins/sudoers/parser_warnx.c:56 +#, c-format +msgid "%s:%d:%d: %s\n" +msgstr "%s:%d:%d: %s\n" + +#: plugins/sudoers/pivot.c:71 +msgid "unable to restore root directory" +msgstr "tidak dapat memulihkan direktori root" + +#: plugins/sudoers/pivot.c:79 +msgid "unable to restore current working directory" +msgstr "tidak bisa memulihkan direktori kerja kini" + +#: plugins/sudoers/policy.c:78 plugins/sudoers/policy.c:111 +#, c-format +msgid "invalid %.*s set by sudo front-end" +msgstr "%.*s tidak valid yang ditetapkan oleh front-end sudo" + +#: plugins/sudoers/policy.c:347 plugins/sudoers/testsudoers.c:329 +msgid "unable to parse network address list" +msgstr "tidak dapat mengurai daftar alamat jaringan" + +#: plugins/sudoers/policy.c:555 +msgid "user name not set by sudo front-end" +msgstr "nama pengguna tidak diatur oleh front-end sudo" + +#: plugins/sudoers/policy.c:559 +msgid "user-ID not set by sudo front-end" +msgstr "user-ID tidak diatur oleh front-end sudo" + +#: plugins/sudoers/policy.c:563 +msgid "group-ID not set by sudo front-end" +msgstr "group-ID tidak diatur oleh front-end sudo" + +#: plugins/sudoers/policy.c:567 +msgid "host name not set by sudo front-end" +msgstr "nama host tidak diatur oleh front-end sudo" + +#: plugins/sudoers/policy.c:765 +#, c-format +msgid "invalid working directory: %s" +msgstr "direktori kerja tidak valid: %s" + +#: plugins/sudoers/policy.c:952 +#, c-format +msgid "invalid chroot directory: %s" +msgstr "direktori chroot tidak valid: %s" + +#: plugins/sudoers/policy.c:1163 plugins/sudoers/visudo.c:919 +#: plugins/sudoers/visudo.c:1218 +#, c-format +msgid "unable to execute %s" +msgstr "tidak bisa mengeksekusi %s" + +#: plugins/sudoers/policy.c:1232 plugins/sudoers/policy.c:1267 +#: plugins/sudoers/policy.c:1289 plugins/sudoers/policy.c:1307 +#, c-format +msgid "%s: invalid mode flags from sudo front end: 0x%x" +msgstr "%s: flag mode tidak valid dari front-end sudo: 0x%x" + +#: plugins/sudoers/policy.c:1330 +#, c-format +msgid "Sudoers policy plugin version %s\n" +msgstr "pengaya kebijakan Sudoers versi %s\n" + +#: plugins/sudoers/policy.c:1332 +#, c-format +msgid "Sudoers file grammar version %d\n" +msgstr "berkas tata bahasa Sudoers versi %d\n" + +#: plugins/sudoers/policy.c:1336 +#, c-format +msgid "" +"\n" +"Sudoers path: %s\n" +msgstr "" +"\n" +"path Sudoers: %s\n" + +#: plugins/sudoers/policy.c:1339 +#, c-format +msgid "nsswitch path: %s\n" +msgstr "path nsswitch: %s\n" + +#: plugins/sudoers/policy.c:1342 +#, c-format +msgid "ldap.conf path: %s\n" +msgstr "path ldap.conf: %s\n" + +#: plugins/sudoers/policy.c:1344 +#, c-format +msgid "ldap.secret path: %s\n" +msgstr "path ldap.secret: %s\n" + +#: plugins/sudoers/policy.c:1377 +#, c-format +msgid "unable to register hook of type %d (version %d.%d)" +msgstr "tidak bisa mendaftarkan hook bertipe %d (versi %d.%d)" + +#: plugins/sudoers/policy.c:1395 +#, c-format +msgid "unable to deregister hook of type %d (version %d.%d)" +msgstr "tidak bisa membatalkan pendaftaran hook bertipe %d (versi %d.%d)" + +#: plugins/sudoers/pwutil.c:242 plugins/sudoers/pwutil.c:260 +#, c-format +msgid "unable to cache uid %u" +msgstr "tidak bisa menyinggahkan uid %u" + +#: plugins/sudoers/pwutil.c:254 +#, c-format +msgid "unable to cache uid %u, already exists" +msgstr "tidak bisa menyinggahkan uid %u, sudah ada" + +#: plugins/sudoers/pwutil.c:314 plugins/sudoers/pwutil.c:332 +#: plugins/sudoers/pwutil.c:395 plugins/sudoers/pwutil.c:440 +#, c-format +msgid "unable to cache user %s" +msgstr "tidak bisa menyinggahkan pengguna %s" + +#: plugins/sudoers/pwutil.c:327 +#, c-format +msgid "unable to cache user %s, already exists" +msgstr "tidak bisa menyinggahkan pengguna %s, sudah ada" + +#: plugins/sudoers/pwutil.c:559 plugins/sudoers/pwutil.c:577 +#, c-format +msgid "unable to cache gid %u" +msgstr "tidak bisa menyinggahkan gid %u" + +#: plugins/sudoers/pwutil.c:571 +#, c-format +msgid "unable to cache gid %u, already exists" +msgstr "tidak bisa menyinggahkan gid %u, sudah ada" + +#: plugins/sudoers/pwutil.c:625 plugins/sudoers/pwutil.c:643 +#: plugins/sudoers/pwutil.c:704 plugins/sudoers/pwutil.c:753 +#, c-format +msgid "unable to cache group %s" +msgstr "tidak bisa menyinggahkan grup %s" + +#: plugins/sudoers/pwutil.c:638 +#, c-format +msgid "unable to cache group %s, already exists" +msgstr "tidak bisa menyinggahkan grup %s, sudah ada" + +#: plugins/sudoers/pwutil.c:900 plugins/sudoers/pwutil.c:988 +#: plugins/sudoers/pwutil.c:1042 plugins/sudoers/pwutil.c:1101 +#, c-format +msgid "unable to cache group list for %s, already exists" +msgstr "tidak bisa menyinggahkan daftar grup untuk %s, sudah ada" + +#: plugins/sudoers/pwutil.c:906 plugins/sudoers/pwutil.c:993 +#: plugins/sudoers/pwutil.c:1048 plugins/sudoers/pwutil.c:1106 +#, c-format +msgid "unable to cache group list for %s" +msgstr "tidak bisa menyinggahkan daftar grup untuk %s" + +#: plugins/sudoers/pwutil.c:982 +#, c-format +msgid "unable to parse groups for %s" +msgstr "tidak bisa mengurai grup untuk %s" + +#: plugins/sudoers/pwutil.c:1095 +#, c-format +msgid "unable to parse gids for %s" +msgstr "tidak bisa mengurai gid untuk %s" + +#: plugins/sudoers/set_perms.c:120 plugins/sudoers/set_perms.c:457 +#: plugins/sudoers/set_perms.c:870 plugins/sudoers/set_perms.c:1186 +#: plugins/sudoers/set_perms.c:1490 +msgid "perm stack overflow" +msgstr "stack perm overvlow" + +#: plugins/sudoers/set_perms.c:131 plugins/sudoers/set_perms.c:387 +#: plugins/sudoers/set_perms.c:468 plugins/sudoers/set_perms.c:736 +#: plugins/sudoers/set_perms.c:881 plugins/sudoers/set_perms.c:1109 +#: plugins/sudoers/set_perms.c:1197 plugins/sudoers/set_perms.c:1422 +#: plugins/sudoers/set_perms.c:1501 plugins/sudoers/set_perms.c:1592 +msgid "perm stack underflow" +msgstr "stack perm underflow" + +#: plugins/sudoers/set_perms.c:191 plugins/sudoers/set_perms.c:515 +#: plugins/sudoers/set_perms.c:1251 plugins/sudoers/set_perms.c:1535 +msgid "unable to change to root gid" +msgstr "tidak dapat mengubah ke gid root" + +#: plugins/sudoers/set_perms.c:282 plugins/sudoers/set_perms.c:612 +#: plugins/sudoers/set_perms.c:1013 plugins/sudoers/set_perms.c:1328 +msgid "unable to change to runas gid" +msgstr "tidak dapat mengubah ke gid runas" + +#: plugins/sudoers/set_perms.c:287 plugins/sudoers/set_perms.c:617 +#: plugins/sudoers/set_perms.c:1018 plugins/sudoers/set_perms.c:1333 +msgid "unable to set runas group vector" +msgstr "tidak dapat menata vektor grup runas" + +#: plugins/sudoers/set_perms.c:298 plugins/sudoers/set_perms.c:628 +#: plugins/sudoers/set_perms.c:1027 plugins/sudoers/set_perms.c:1342 +msgid "unable to change to runas uid" +msgstr "tidak dapat mengubah ke uid runas" + +#: plugins/sudoers/set_perms.c:320 plugins/sudoers/set_perms.c:650 +#: plugins/sudoers/set_perms.c:1047 plugins/sudoers/set_perms.c:1362 +msgid "unable to change to sudoers gid" +msgstr "tidak dapat mengubah ke gid sudoers" + +#: plugins/sudoers/set_perms.c:374 plugins/sudoers/set_perms.c:723 +#: plugins/sudoers/set_perms.c:1096 plugins/sudoers/set_perms.c:1409 +#: plugins/sudoers/set_perms.c:1579 +msgid "too many processes" +msgstr "terlalu banyak proses" + +#: plugins/sudoers/solaris_audit.c:62 +msgid "unable to get current working directory" +msgstr "tidak bisa mendapatkan direktori kerja saat ini" + +#: plugins/sudoers/solaris_audit.c:70 +#, c-format +msgid "truncated audit path ctx->user.cmnd: %s" +msgstr "path audit terpotong ctx->user.cmnd: %s" + +#: plugins/sudoers/solaris_audit.c:77 +#, c-format +msgid "truncated audit path argv[0]: %s" +msgstr "path audit terpotong argv[0]: %s" + +#: plugins/sudoers/sssd.c:581 +msgid "unable to initialize SSS source. Is SSSD installed on your machine?" +msgstr "tidak bisa menginisialisasi sumber SSS. Apakah SSSD terpasang pada komputer Anda?" + +#: plugins/sudoers/sssd.c:589 plugins/sudoers/sssd.c:598 +#: plugins/sudoers/sssd.c:607 plugins/sudoers/sssd.c:616 +#: plugins/sudoers/sssd.c:625 +#, c-format +msgid "unable to find symbol \"%s\" in %s" +msgstr "tidak bisa menemukan simbol \"%s\" dalam %s" + +#: plugins/sudoers/sudoers.c:250 +#, c-format +msgid "unable to get defaults from %s" +msgstr "tidak bisa mendapatkan nilai-nilai baku dari %s" + +#: plugins/sudoers/sudoers.c:259 +msgid "no valid sudoers sources found, quitting" +msgstr "tidak ada sumber sudoers valid yang ditemukan, keluar" + +#: plugins/sudoers/sudoers.c:366 +msgid "sudoers specifies that root is not allowed to sudo" +msgstr "sudoers menentukan bahwa root tidak diperbolehkan untuk sudo" + +#: plugins/sudoers/sudoers.c:375 +msgid "user not allowed to override closefrom limit" +msgstr "pengguna tidak diizinkan untuk menimpa batas closefrom" + +#: plugins/sudoers/sudoers.c:376 +msgid "you are not permitted to use the -C option" +msgstr "Anda tidak diizinkan untuk menggunakan opsi -C" + +#: plugins/sudoers/sudoers.c:440 +msgid "no tty" +msgstr "tidak ada tty" + +#: plugins/sudoers/sudoers.c:441 +msgid "sorry, you must have a tty to run sudo" +msgstr "maaf, Anda harus memiliki tty untuk menjalankan sudo" + +#: plugins/sudoers/sudoers.c:449 +#, c-format +msgid "invalid shell for user %s: %s" +msgstr "shell tidak valid untuk pengguna %s: %s" + +#: plugins/sudoers/sudoers.c:491 +#, c-format +msgid "user not allowed to change root directory to %s" +msgstr "pengguna tidak diizinkan untuk mengubah direktori root ke %s" + +#: plugins/sudoers/sudoers.c:493 +#, c-format +msgid "you are not permitted to use the -R option with %s" +msgstr "Anda tidak diizinkan untuk menggunakan opsi -R dengan %s" + +#: plugins/sudoers/sudoers.c:506 +#, c-format +msgid "user not allowed to change directory to %s" +msgstr "pengguna tidak diizinkan untuk mengubah direktori ke %s" + +#: plugins/sudoers/sudoers.c:507 +#, c-format +msgid "you are not permitted to use the -D option with %s" +msgstr "Anda tidak diizinkan untuk menggunakan opsi -D dengan %s" + +#: plugins/sudoers/sudoers.c:559 +msgid "command in current directory" +msgstr "perintah di direktori saat ini" + +#: plugins/sudoers/sudoers.c:574 +msgid "\"cd\" is a shell built-in command, it cannot be run directly." +msgstr "\"cd\" adalah perintah bawaan shell, tidak dapat dijalankan secara langsung." + +#: plugins/sudoers/sudoers.c:576 +msgid "the -s option may be used to run a privileged shell." +msgstr "opsi -s dapat digunakan untuk menjalankan shell istimewa." + +#: plugins/sudoers/sudoers.c:578 +msgid "the -D option may be used to run a command in a specific directory." +msgstr "opsi -D dapat digunakan untuk menjalankan perintah di direktori tertentu." + +#: plugins/sudoers/sudoers.c:587 +msgid "user not allowed to set a command timeout" +msgstr "pengguna tidak diizinkan untuk mengatur batas waktu perintah" + +#: plugins/sudoers/sudoers.c:589 +msgid "sorry, you are not allowed set a command timeout" +msgstr "maaf, Anda tidak diizinkan mengatur batas waktu perintah" + +#: plugins/sudoers/sudoers.c:597 +msgid "user not allowed to preserve the environment" +msgstr "pengguna tidak diizinkan untuk mempertahankan lingkungan" + +#: plugins/sudoers/sudoers.c:599 +msgid "sorry, you are not allowed to preserve the environment" +msgstr "maaf, Anda tidak diperkenankan untuk mempertahankan lingkungan" + +#: plugins/sudoers/sudoers.c:635 +msgid "no command specified" +msgstr "tidak ada perintah yang dinyatakan" + +#: plugins/sudoers/sudoers.c:776 +msgid "error setting user-specified environment variables" +msgstr "kesalahan saat menata variabel lingkungan tentuan pengguna" + +#: plugins/sudoers/sudoers.c:1229 +msgid "sudoedit doesn't need to be run via sudo" +msgstr "sudoedit tidak perlu dijalankan melalui sudo" + +#: plugins/sudoers/sudoers.c:1314 plugins/sudoers/sudoreplay.c:1615 +#: plugins/sudoers/tsdump.c:151 +#, c-format +msgid "unable to read %s" +msgstr "tidak bisa membaca %s" + +#: plugins/sudoers/sudoers.c:1339 plugins/sudoers/visudo.c:1123 +#, c-format +msgid "%s is not a regular file" +msgstr "%s bukan suatu berkas reguler" + +#: plugins/sudoers/sudoers.c:1343 plugins/sudoers/timestamp.c:272 toke.l:1335 +#, c-format +msgid "%s is owned by uid %u, should be %u" +msgstr "%s hanya dimiliki oleh uid %u, mestinya %u" + +#: plugins/sudoers/sudoers.c:1348 plugins/sudoers/timestamp.c:279 toke.l:1340 +#, c-format +msgid "%s is world writable" +msgstr "%s dapat ditulisi oleh siapa pun" + +#: plugins/sudoers/sudoers.c:1352 plugins/sudoers/timestamp.c:284 toke.l:1343 +#, c-format +msgid "%s is owned by gid %u, should be %u" +msgstr "%s dimiliki oleh gid %u, seharusnya %u" + +#: plugins/sudoers/sudoers.c:1381 +#, c-format +msgid "only root can use \"-c %s\"" +msgstr "hanya root yang dapat menggunakan \"-c %s\"" + +#: plugins/sudoers/sudoers.c:1400 +#, c-format +msgid "unknown login class %s" +msgstr "kelas log masuk yang tidak dikenal %s" + +#: plugins/sudoers/sudoers_cb.c:120 plugins/sudoers/sudoers_cb.c:135 +#, c-format +msgid "unable to resolve host %s" +msgstr "tidak bisa mengurai host %s" + +#: plugins/sudoers/sudoreplay.c:252 +#, c-format +msgid "invalid filter option: %s" +msgstr "opsi filter tidak valid: %s" + +#: plugins/sudoers/sudoreplay.c:268 +#, c-format +msgid "invalid max wait: %s" +msgstr "tunggu maks tidak valid: %s" + +#: plugins/sudoers/sudoreplay.c:291 +#, c-format +msgid "invalid speed factor: %s" +msgstr "faktor kecepatan tidak valid: %s" + +#: plugins/sudoers/sudoreplay.c:326 +#, c-format +msgid "invalid time offset %s" +msgstr "ofset waktu %s tidak valid" + +#: plugins/sudoers/sudoreplay.c:335 +#, c-format +msgid "%s/%.2s/%.2s/%.2s: %s" +msgstr "%s/%.2s/%.2s/%.2s: %s" + +#: plugins/sudoers/sudoreplay.c:340 +#, c-format +msgid "%s/timing: %s" +msgstr "%s/pewaktuan: %s" + +#: plugins/sudoers/sudoreplay.c:368 +#, c-format +msgid "Replaying sudo session: %s" +msgstr "Memutar ulang sesi sudo: %s" + +#: plugins/sudoers/sudoreplay.c:633 plugins/sudoers/sudoreplay.c:636 +msgid "unable to set tty to raw mode" +msgstr "tidak dapat mengatur tty ke mode mentah" + +#: plugins/sudoers/sudoreplay.c:687 +msgid "Warning: your terminal is too small to properly replay the log." +msgstr "Peringatan: terminal Anda terlalu kecil untuk memutar ulang log dengan benar." + +#: plugins/sudoers/sudoreplay.c:688 +#, c-format +msgid "Log geometry is %d x %d, your terminal's geometry is %d x %d." +msgstr "Geometri log %d x %d, geometri terminal Anda %d x %d." + +#: plugins/sudoers/sudoreplay.c:716 +msgid "Replay finished, press any key to restore the terminal." +msgstr "Putar ulang selesai, tekan sembarang tombol untuk memulihkan terminal." + +#: plugins/sudoers/sudoreplay.c:1219 plugins/sudoers/sudoreplay.c:1249 +#, c-format +msgid "ambiguous expression \"%s\"" +msgstr "ekspresi ambigu \"%s\"" + +#: plugins/sudoers/sudoreplay.c:1271 +msgid "unmatched ')' in expression" +msgstr "')' tanpa pasangan dalam ekspresi" + +#: plugins/sudoers/sudoreplay.c:1275 +#, c-format +msgid "unknown search term \"%s\"" +msgstr "istilah pencarian tidak dikenal \"%s\"" + +#: plugins/sudoers/sudoreplay.c:1290 +#, c-format +msgid "%s requires an argument" +msgstr "%s memerlukan suatu argumen" + +#: plugins/sudoers/sudoreplay.c:1300 +#, c-format +msgid "could not parse date \"%s\"" +msgstr "tidak dapat mengurai tanggal \"%s\"" + +#: plugins/sudoers/sudoreplay.c:1309 +msgid "unmatched '(' in expression" +msgstr "'(' tanpa pasangan dalam ekspresi" + +#: plugins/sudoers/sudoreplay.c:1311 +msgid "illegal trailing \"or\"" +msgstr "\"or\" di ekor yang tidak legal" + +#: plugins/sudoers/sudoreplay.c:1313 +msgid "illegal trailing \"!\"" +msgstr "\"!\" di ekor yang tidak legal" + +#: plugins/sudoers/sudoreplay.c:1419 +#, c-format +msgid "unknown search type %d" +msgstr "tipe pencarian tak dikenal %d" + +#: plugins/sudoers/sudoreplay.c:1681 +#, c-format +msgid "usage: %s [-hnRS] [-d dir] [-m num] [-s num] ID\n" +msgstr "penggunaan: %s [-hnRS] [-d dir] [-m num] [-s num] ID\n" + +#: plugins/sudoers/sudoreplay.c:1683 +#, c-format +msgid "usage: %s [-h] [-d dir] -l [search expression]\n" +msgstr "penggunaan: %s [-h] [-d dir] -l [ekspresi pencarian]\n" + +#: plugins/sudoers/sudoreplay.c:1697 +#, c-format +msgid "" +"%s - replay sudo session logs\n" +"\n" +msgstr "" +"%s - putar ulang log sesi sudo\n" +"\n" + +#: plugins/sudoers/sudoreplay.c:1699 +msgid "" +"\n" +"Options:\n" +" -d, --directory=dir specify directory for session logs\n" +" -f, --filter=filter specify which I/O type(s) to display\n" +" -h, --help display help message and exit\n" +" -l, --list list available session IDs, with optional expression\n" +" -m, --max-wait=num max number of seconds to wait between events\n" +" -n, --non-interactive no prompts, session is sent to the standard output\n" +" -R, --no-resize do not attempt to re-size the terminal\n" +" -S, --suspend-wait wait while the command was suspended\n" +" -s, --speed=num speed up or slow down output\n" +" -V, --version display version information and exit" +msgstr "" +"\n" +"Pilihan:\n" +" -d, --directory=dir menentukan direktori untuk log sesi\n" +" -f, --filter=filter menentukan tipe I/O mana yang akan ditampilkan\n" +" -h, --help menampilkan pesan bantuan dan keluar\n" +" -l, --list mencantumkan ID sesi yang tersedia, dengan ekspresi opsional\n" +" -m, --max-wait=num berapa detik maksimum untuk menunggu di antara kejadian\n" +" -n, --non-interaktif tidak ada sapaan, sesi dikirim ke keluaran standar\n" +" -R, --no-resize jangan mencoba mengubah ukuran terminal\n" +" -S, --suspend-wait tunggu sementara perintah ditangguhkan\n" +" -s, --speed=num mempercepat atau memperlambat keluaran\n" +" -V, --version menampilkan informasi versi dan keluar" + +#: plugins/sudoers/testsudoers.c:392 +#, c-format +msgid "" +"\n" +"Invalid shell for user %s: %s\n" +msgstr "" +"\n" +"Shell tidak valid untuk pengguna %s: %s\n" + +#: plugins/sudoers/testsudoers.c:411 +msgid "" +"\n" +"Password required" +msgstr "" +"\n" +"Kata sandi diperlukan" + +#: plugins/sudoers/testsudoers.c:422 +msgid "" +"\n" +"Parse error" +msgstr "" +"\n" +"Galat penguraian" + +#: plugins/sudoers/testsudoers.c:425 +msgid "" +"\n" +"Command allowed" +msgstr "" +"\n" +"Perintah diizinkan" + +#: plugins/sudoers/testsudoers.c:428 +msgid "" +"\n" +"Command denied" +msgstr "" +"\n" +"Perintah ditolak" + +#: plugins/sudoers/testsudoers.c:431 +msgid "" +"\n" +"Command unmatched" +msgstr "" +"\n" +"Perintah tidak cocok" + +#: plugins/sudoers/timestamp.c:364 plugins/sudoers/timestamp.c:714 +#, c-format +msgid "unable to truncate time stamp file to %lld bytes" +msgstr "tidak bisa memotong berkas stempel waktu menjadi %lld byte" + +#: plugins/sudoers/timestamp.c:911 +msgid "ignoring time stamp from the future" +msgstr "mengabaikan stempel waktu dari masa depan" + +#: plugins/sudoers/timestamp.c:934 +#, c-format +msgid "time stamp too far in the future: %20.20s" +msgstr "stempel waktu terlalu jauh di masa depan: %20.20s" + +#: plugins/sudoers/timestamp.c:1070 +#, c-format +msgid "unable to lock time stamp file %s" +msgstr "tidak dapat mengunci berkas stempel waktu %s" + +#: plugins/sudoers/timestamp.c:1117 +#, c-format +msgid "%s:%d:%d timestampowner: unknown user %s" +msgstr "%s:%d:%d timestampowner: pengguna tidak dikenal %s" + +#: plugins/sudoers/toke_util.c:159 +msgid "sudoedit should not be specified with a path" +msgstr "sudoedit tidak boleh dinyatakan dengan suatu path" + +#: plugins/sudoers/visudo.c:308 plugins/sudoers/visudo.c:714 +#, c-format +msgid "press return to edit %s: " +msgstr "tekan return untuk menyunting %s: " + +#: plugins/sudoers/visudo.c:323 +#, c-format +msgid "contents of edit session left in %s" +msgstr "konten sesi sunting ditinggalkan dalam %s" + +#: plugins/sudoers/visudo.c:401 +#, c-format +msgid "specified editor (%s) doesn't exist" +msgstr "penyunting yang dinyatakan (%s) tidak ada" + +#: plugins/sudoers/visudo.c:406 +#, c-format +msgid "no editor found (editor path = %s)" +msgstr "tidak ditemukan penyunting (path editor = %s)" + +#: plugins/sudoers/visudo.c:494 plugins/sudoers/visudo.c:786 +#, c-format +msgid "unable to stat %s" +msgstr "tidak bisa men-stat %s" + +#: plugins/sudoers/visudo.c:514 plugins/sudoers/visudo.c:522 +msgid "write error" +msgstr "error menulis" + +#: plugins/sudoers/visudo.c:568 +#, c-format +msgid "unable to stat temporary file (%s), %s unchanged" +msgstr "tidak dapat men-stat berkas sementara (%s), %s tidak berubah" + +#: plugins/sudoers/visudo.c:575 +#, c-format +msgid "zero length temporary file (%s), %s unchanged" +msgstr "berkas sementara panjang nol (%s), %s tidak berubah" + +#: plugins/sudoers/visudo.c:581 +#, c-format +msgid "editor (%s) failed, %s unchanged" +msgstr "penyunting (%s) gagal, %s tidak berubah" + +#: plugins/sudoers/visudo.c:613 +#, c-format +msgid "%s unchanged" +msgstr "%s tidak diubah" + +#: plugins/sudoers/visudo.c:661 +#, c-format +msgid "unable to re-open temporary file (%s), %s unchanged." +msgstr "tidak dapat membuka kembali berkas sementara (%s), %s tidak berubah." + +#: plugins/sudoers/visudo.c:674 +#, c-format +msgid "unable to parse temporary file (%s), unknown error" +msgstr "tidak dapat mengurai berkas sementara (%s), galat tak dikenal" + +#: plugins/sudoers/visudo.c:760 plugins/sudoers/visudo.c:790 +#: plugins/sudoers/visudo.c:797 +#, c-format +msgid "unable to set (uid, gid) of %s to (%u, %u)" +msgstr "tidak dapat menata (uid, gid) dari %s ke (%u, %u)" + +#: plugins/sudoers/visudo.c:825 +#, c-format +msgid "%s and %s not on the same file system, using mv to rename" +msgstr "%s dan %s tidak pada sistem berkas yang sama, menggunakan mv untuk mengganti nama" + +#: plugins/sudoers/visudo.c:836 +#, c-format +msgid "command failed: '%s %s %s', %s unchanged" +msgstr "perintah gagal: '%s %s %s', %s tidak berubah" + +#: plugins/sudoers/visudo.c:843 +#, c-format +msgid "error renaming %s, %s unchanged" +msgstr "galat saat mengganti nama %s, %s tidak berubah" + +#: plugins/sudoers/visudo.c:864 +msgid "What now? " +msgstr "Sekarang apa? " + +#: plugins/sudoers/visudo.c:878 +msgid "" +"Options are:\n" +" (e)dit sudoers file again\n" +" e(x)it without saving changes to sudoers file\n" +" (Q)uit and save changes to sudoers file (DANGER!)\n" +msgstr "" +"Opsinya adalah:\n" +" (e) dit berkas sudoers lagi\n" +" e(x)it tanpa menyimpan perubahan ke berkas sudoers\n" +" (Q) uit dan simpan perubahan ke berkas sudoers (BAHAYA!)\n" + +#: plugins/sudoers/visudo.c:923 +#, c-format +msgid "unable to run %s" +msgstr "tidak bisa menjalankan %s" + +#: plugins/sudoers/visudo.c:954 +#, c-format +msgid "%s: wrong owner (uid, gid) should be (%u, %u)\n" +msgstr "%s: pemilik salah (uid, gid) seharusnya (%u, %u)\n" + +#: plugins/sudoers/visudo.c:965 +#, c-format +msgid "%s: bad permissions, should be mode 0%o\n" +msgstr "%s: izin buruk, seharusnya mode 0%o\n" + +#: plugins/sudoers/visudo.c:1017 plugins/sudoers/visudo.c:1024 +#, c-format +msgid "%s: parsed OK\n" +msgstr "%s: diurai OK\n" + +#: plugins/sudoers/visudo.c:1043 +#, c-format +msgid "%s busy, try again later" +msgstr "%s sibuk, coba lagi nanti" + +#: plugins/sudoers/visudo.c:1047 +msgid "Edit anyway? [y/N]" +msgstr "Sunting saja? [y/T]" + +#: plugins/sudoers/visudo.c:1206 +msgid "the -x option will be removed in a future release" +msgstr "opsi -x akan dihapus dalam rilis mendatang" + +#: plugins/sudoers/visudo.c:1208 +msgid "please consider using the cvtsudoers utility instead" +msgstr "harap pertimbangkan untuk menggunakan utilitas cvtsudoers sebagai gantinya" + +#: plugins/sudoers/visudo.c:1228 +#, c-format +msgid "Warning: %s:%d:%d: unused %s \"%s\"" +msgstr "Peringatan: %s:%d:%d: %s tidak dipakai \"%s\"" + +#: plugins/sudoers/visudo.c:1341 +#, c-format +msgid "" +"%s - safely edit the sudoers file\n" +"\n" +msgstr "" +"%s - secara selamat menyunting berkas sudoers\n" +"\n" + +#: plugins/sudoers/visudo.c:1343 +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" +"Pilihan:\n" +" -c, --check mode hanya periksa\n" +" -f, --file=sudoers tentukan lokasi berkas sudoers\n" +" -h, --help menampilkan pesan bantuan dan keluar\n" +" -I, --no-includes jangan sunting berkas sertaan\n" +" -q, --quiet pesan galat sintaks yang kurang cerewet\n" +" -s, --strict pemeriksaan sintaks yang ketat\n" +" -V, --version menampilkan informasi versi dan keluar\n" + +#: toke.l:184 +msgid "empty string" +msgstr "string kosong" + +#: toke.l:196 toke.l:566 +msgid "empty group" +msgstr "grup kosong" + +#: toke.l:206 toke.l:564 +msgid "empty netgroup" +msgstr "netgroup kosong" + +#: toke.l:284 +msgid "unterminated regular expression" +msgstr "ekspresi reguler tidak diterminasi" + +#: toke.l:358 toke.l:370 toke.l:382 toke.l:398 toke.l:417 toke.l:457 +msgid "invalid line continuation" +msgstr "pelanjutan baris tidak valid" + +#: toke.l:603 toke.l:615 +msgid "invalid IPv6 address" +msgstr "alamat IPv6 tidak valid" + +#: toke.l:843 +msgid "unexpected line break in string" +msgstr "putus baris yang tak diharapkan dalam string" + +#: toke.l:962 +msgid "ignoring editor backup file" +msgstr "mengabaikan berkas cadangan penyunting" + +#: toke.l:965 +msgid "ignoring file name containing '.'" +msgstr "" +"mengabaikan nama berkas yang mengandung '.'\n" +"terlalu banyak level include" + +#: toke.l:1290 +msgid "too many levels of includes" +msgstr "terlalu banyak level include" diff --git a/plugins/sudoers/po/ja.mo b/plugins/sudoers/po/ja.mo index 19caad309..e81eae126 100644 Binary files a/plugins/sudoers/po/ja.mo and b/plugins/sudoers/po/ja.mo differ diff --git a/plugins/sudoers/po/ja.po b/plugins/sudoers/po/ja.po index 8af924923..133bec48e 100644 --- a/plugins/sudoers/po/ja.po +++ b/plugins/sudoers/po/ja.po @@ -1,13 +1,13 @@ # Japanese messages for sudoers # This file is put in the public domain. # Yasuaki Taniguchi , 2011. -# Takeshi Hamasaki , 2012, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023. +# Takeshi Hamasaki , 2012, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024. msgid "" msgstr "" -"Project-Id-Version: sudoers 1.9.15b1\n" +"Project-Id-Version: sudoers 1.9.16b1\n" "Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n" -"POT-Creation-Date: 2023-10-19 10:02-0600\n" -"PO-Revision-Date: 2023-10-21 20:53+0900\n" +"POT-Creation-Date: 2024-06-08 09:06-0600\n" +"PO-Revision-Date: 2024-06-23 00:28+0900\n" "Last-Translator: Takeshi Hamasaki \n" "Language-Team: Japanese \n" "Language: ja\n" @@ -16,11 +16,11 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Bugs: Report translation errors to the Language-Team address.\n" -"X-Poedit-Basepath: sudo-1.9.12b2\n" +"X-Poedit-Basepath: sudo-1.9.16b1\n" "X-Generator: Poedit 3.2.2\n" "X-Poedit-SearchPath-0: .\n" -#: confstr.sh:1 gram.y:1257 plugins/sudoers/logging.c:911 +#: confstr.sh:1 gram.y:1240 plugins/sudoers/logging.c:919 msgid "syntax error" msgstr "構文エラー" @@ -45,16 +45,16 @@ msgid "Sorry, try again." msgstr "残念、また試してください。" #: gram.y:238 gram.y:305 gram.y:314 gram.y:323 gram.y:333 gram.y:343 gram.y:367 -#: gram.y:394 gram.y:403 gram.y:411 gram.y:420 gram.y:429 gram.y:503 gram.y:513 -#: gram.y:525 gram.y:573 gram.y:582 gram.y:591 gram.y:600 gram.y:733 gram.y:742 -#: gram.y:757 gram.y:777 gram.y:796 gram.y:959 gram.y:964 gram.y:972 gram.y:986 -#: gram.y:992 gram.y:1004 gram.y:1010 gram.y:1135 gram.y:1144 gram.y:1152 -#: gram.y:1161 gram.y:1170 gram.y:1199 gram.y:1208 gram.y:1216 gram.y:1317 -#: gram.y:1447 gram.y:1829 gram.y:1840 gram.y:1922 lib/eventlog/eventlog.c:236 -#: lib/eventlog/eventlog.c:313 lib/eventlog/eventlog.c:765 -#: lib/eventlog/eventlog.c:842 lib/eventlog/eventlog.c:1175 -#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:484 -#: lib/eventlog/parse_json.c:514 lib/iolog/iolog_filter.c:142 +#: gram.y:394 gram.y:403 gram.y:411 gram.y:420 gram.y:429 gram.y:502 gram.y:512 +#: gram.y:524 gram.y:566 gram.y:575 gram.y:584 gram.y:593 gram.y:726 gram.y:735 +#: gram.y:750 gram.y:770 gram.y:789 gram.y:942 gram.y:947 gram.y:955 gram.y:969 +#: gram.y:975 gram.y:987 gram.y:993 gram.y:1118 gram.y:1127 gram.y:1135 +#: gram.y:1144 gram.y:1153 gram.y:1182 gram.y:1191 gram.y:1199 gram.y:1300 +#: gram.y:1430 gram.y:1811 gram.y:1822 gram.y:1898 lib/eventlog/eventlog.c:236 +#: lib/eventlog/eventlog.c:313 lib/eventlog/eventlog.c:778 +#: lib/eventlog/eventlog.c:855 lib/eventlog/eventlog.c:1189 +#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:501 +#: lib/eventlog/parse_json.c:531 lib/iolog/iolog_filter.c:142 #: lib/iolog/iolog_filter.c:202 lib/iolog/iolog_filter.c:233 #: lib/iolog/iolog_legacy.c:101 lib/iolog/iolog_legacy.c:112 #: lib/iolog/iolog_legacy.c:124 lib/iolog/iolog_legacy.c:134 @@ -65,13 +65,13 @@ msgstr "残念、また試してください。" #: logsrvd/iolog_writer.c:218 logsrvd/iolog_writer.c:228 #: logsrvd/iolog_writer.c:257 logsrvd/iolog_writer.c:278 #: logsrvd/iolog_writer.c:290 logsrvd/iolog_writer.c:300 -#: logsrvd/iolog_writer.c:310 logsrvd/iolog_writer.c:320 -#: logsrvd/iolog_writer.c:330 logsrvd/iolog_writer.c:342 -#: logsrvd/iolog_writer.c:377 logsrvd/iolog_writer.c:383 -#: logsrvd/iolog_writer.c:390 logsrvd/iolog_writer.c:396 -#: logsrvd/iolog_writer.c:580 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:323 -#: logsrvd/logsrvd.c:1057 logsrvd/logsrvd.c:1120 logsrvd/logsrvd.c:1589 -#: logsrvd/logsrvd.c:1594 logsrvd/logsrvd.c:1781 logsrvd/logsrvd.c:2003 +#: logsrvd/iolog_writer.c:318 logsrvd/iolog_writer.c:328 +#: logsrvd/iolog_writer.c:338 logsrvd/iolog_writer.c:350 +#: logsrvd/iolog_writer.c:385 logsrvd/iolog_writer.c:391 +#: logsrvd/iolog_writer.c:398 logsrvd/iolog_writer.c:404 +#: logsrvd/iolog_writer.c:588 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:324 +#: logsrvd/logsrvd.c:1058 logsrvd/logsrvd.c:1121 logsrvd/logsrvd.c:1599 +#: logsrvd/logsrvd.c:1604 logsrvd/logsrvd.c:1791 logsrvd/logsrvd.c:2046 #: 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 @@ -79,11 +79,11 @@ msgstr "残念、また試してください。" #: 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_conf.c:829 logsrvd/logsrvd_conf.c:1041 +#: logsrvd/logsrvd_conf.c:1058 logsrvd/logsrvd_conf.c:1453 +#: logsrvd/logsrvd_conf.c:1600 logsrvd/logsrvd_conf.c:1626 +#: logsrvd/logsrvd_conf.c:1638 logsrvd/logsrvd_conf.c:1645 +#: logsrvd/logsrvd_conf.c:1651 logsrvd/logsrvd_conf.c:1748 #: logsrvd/logsrvd_journal.c:76 logsrvd/logsrvd_journal.c:216 #: logsrvd/logsrvd_journal.c:217 logsrvd/logsrvd_journal.c:274 #: logsrvd/logsrvd_journal.c:279 logsrvd/logsrvd_journal.c:439 @@ -96,10 +96,10 @@ msgstr "残念、また試してください。" #: logsrvd/logsrvd_queue.c:266 logsrvd/logsrvd_relay.c:446 #: logsrvd/logsrvd_relay.c:748 logsrvd/logsrvd_relay.c:855 #: logsrvd/sendlog.c:256 logsrvd/sendlog.c:265 logsrvd/sendlog.c:297 -#: logsrvd/sendlog.c:303 logsrvd/sendlog.c:352 logsrvd/sendlog.c:630 -#: logsrvd/sendlog.c:1822 plugins/sudoers/audit.c:118 -#: plugins/sudoers/auth/bsdauth.c:154 plugins/sudoers/auth/kerb5.c:122 -#: plugins/sudoers/auth/kerb5.c:150 plugins/sudoers/auth/pam.c:697 +#: logsrvd/sendlog.c:303 logsrvd/sendlog.c:352 logsrvd/sendlog.c:651 +#: logsrvd/sendlog.c:1847 plugins/sudoers/audit.c:118 +#: plugins/sudoers/auth/bsdauth.c:154 plugins/sudoers/auth/kerb5.c:123 +#: plugins/sudoers/auth/kerb5.c:151 plugins/sudoers/auth/pam.c:697 #: plugins/sudoers/auth/rfc1938.c:112 plugins/sudoers/auth/sia.c:61 #: plugins/sudoers/canon_path.c:129 plugins/sudoers/canon_path.c:161 #: plugins/sudoers/check_aliases.c:128 plugins/sudoers/check_util.c:56 @@ -109,33 +109,30 @@ msgstr "残念、また試してください。" #: plugins/sudoers/cvtsudoers.c:379 plugins/sudoers/cvtsudoers.c:399 #: plugins/sudoers/cvtsudoers.c:545 plugins/sudoers/cvtsudoers.c:698 #: plugins/sudoers/cvtsudoers.c:716 plugins/sudoers/cvtsudoers.c:891 -#: plugins/sudoers/cvtsudoers.c:899 plugins/sudoers/cvtsudoers.c:1395 -#: plugins/sudoers/cvtsudoers.c:1399 plugins/sudoers/cvtsudoers.c:1501 -#: plugins/sudoers/cvtsudoers_csv.c:183 plugins/sudoers/cvtsudoers_csv.c:247 -#: plugins/sudoers/cvtsudoers_json.c:76 plugins/sudoers/cvtsudoers_ldif.c:152 -#: plugins/sudoers/cvtsudoers_ldif.c:195 plugins/sudoers/cvtsudoers_ldif.c:236 -#: plugins/sudoers/cvtsudoers_ldif.c:302 plugins/sudoers/cvtsudoers_ldif.c:378 -#: plugins/sudoers/cvtsudoers_ldif.c:432 plugins/sudoers/cvtsudoers_ldif.c:440 -#: plugins/sudoers/cvtsudoers_ldif.c:451 plugins/sudoers/cvtsudoers_ldif.c:458 -#: plugins/sudoers/cvtsudoers_ldif.c:470 plugins/sudoers/cvtsudoers_ldif.c:483 -#: plugins/sudoers/cvtsudoers_ldif.c:491 plugins/sudoers/cvtsudoers_ldif.c:638 -#: 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:455 -#: plugins/sudoers/defaults.c:689 plugins/sudoers/defaults.c:1051 -#: plugins/sudoers/defaults.c:1235 plugins/sudoers/editor.c:198 -#: plugins/sudoers/env.c:263 plugins/sudoers/exptilde.c:92 +#: plugins/sudoers/cvtsudoers.c:899 plugins/sudoers/cvtsudoers.c:1393 +#: plugins/sudoers/cvtsudoers.c:1397 plugins/sudoers/cvtsudoers.c:1497 +#: plugins/sudoers/cvtsudoers_csv.c:182 plugins/sudoers/cvtsudoers_csv.c:255 +#: plugins/sudoers/cvtsudoers_json.c:604 plugins/sudoers/cvtsudoers_json.c:639 +#: plugins/sudoers/cvtsudoers_json.c:1016 +#: plugins/sudoers/cvtsudoers_json.c:1041 plugins/sudoers/cvtsudoers_ldif.c:112 +#: plugins/sudoers/cvtsudoers_ldif.c:144 plugins/sudoers/cvtsudoers_ldif.c:260 +#: plugins/sudoers/cvtsudoers_ldif.c:573 plugins/sudoers/cvtsudoers_ldif.c:586 +#: plugins/sudoers/cvtsudoers_ldif.c:591 plugins/sudoers/cvtsudoers_ldif.c:761 +#: plugins/sudoers/cvtsudoers_merge.c:57 plugins/sudoers/cvtsudoers_merge.c:357 +#: plugins/sudoers/cvtsudoers_merge.c:405 +#: plugins/sudoers/cvtsudoers_merge.c:454 +#: plugins/sudoers/cvtsudoers_merge.c:476 +#: plugins/sudoers/cvtsudoers_merge.c:588 +#: plugins/sudoers/cvtsudoers_merge.c:664 +#: plugins/sudoers/cvtsudoers_merge.c:1197 +#: plugins/sudoers/cvtsudoers_merge.c:1281 plugins/sudoers/defaults.c:455 +#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1062 +#: plugins/sudoers/defaults.c:1248 plugins/sudoers/editor.c:198 +#: plugins/sudoers/env.c:280 plugins/sudoers/exptilde.c:92 #: plugins/sudoers/filedigest.c:66 plugins/sudoers/filedigest.c:70 #: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:212 -#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268 -#: plugins/sudoers/iolog.c:675 plugins/sudoers/iolog.c:703 +#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:270 +#: plugins/sudoers/iolog.c:683 plugins/sudoers/iolog.c:711 #: plugins/sudoers/ldap.c:161 plugins/sudoers/ldap.c:448 #: plugins/sudoers/ldap.c:625 plugins/sudoers/ldap.c:789 #: plugins/sudoers/ldap.c:1214 plugins/sudoers/ldap.c:1642 @@ -145,23 +142,23 @@ msgstr "残念、また試してください。" #: plugins/sudoers/ldap_conf.c:299 plugins/sudoers/ldap_conf.c:335 #: plugins/sudoers/ldap_conf.c:441 plugins/sudoers/ldap_conf.c:456 #: plugins/sudoers/ldap_conf.c:565 plugins/sudoers/ldap_conf.c:598 -#: plugins/sudoers/ldap_conf.c:694 plugins/sudoers/ldap_conf.c:776 +#: plugins/sudoers/ldap_conf.c:696 plugins/sudoers/ldap_conf.c:778 #: 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:717 plugins/sudoers/log_client.c:739 -#: plugins/sudoers/log_client.c:744 plugins/sudoers/log_client.c:1426 -#: plugins/sudoers/log_client.c:1547 plugins/sudoers/log_client.c:1670 -#: plugins/sudoers/log_client.c:1993 plugins/sudoers/log_client.c:2052 +#: plugins/sudoers/ldap_util.c:615 plugins/sudoers/linux_audit.c:86 +#: plugins/sudoers/log_client.c:117 plugins/sudoers/log_client.c:411 +#: plugins/sudoers/log_client.c:726 plugins/sudoers/log_client.c:748 +#: plugins/sudoers/log_client.c:753 plugins/sudoers/log_client.c:1449 +#: plugins/sudoers/log_client.c:1570 plugins/sudoers/log_client.c:1693 +#: plugins/sudoers/log_client.c:2018 plugins/sudoers/log_client.c:2077 #: plugins/sudoers/logging.c:110 plugins/sudoers/logging.c:190 -#: plugins/sudoers/logging.c:475 plugins/sudoers/logging.c:711 -#: plugins/sudoers/logging.c:872 plugins/sudoers/lookup.c:338 -#: plugins/sudoers/lookup.c:355 plugins/sudoers/lookup.c:374 -#: plugins/sudoers/lookup.c:393 plugins/sudoers/lookup.c:410 -#: plugins/sudoers/lookup.c:433 plugins/sudoers/lookup.c:444 -#: plugins/sudoers/match_command.c:302 plugins/sudoers/match_command.c:574 -#: plugins/sudoers/match_command.c:641 plugins/sudoers/match_command.c:737 -#: plugins/sudoers/match_command.c:785 plugins/sudoers/match_digest.c:88 +#: plugins/sudoers/logging.c:483 plugins/sudoers/logging.c:723 +#: plugins/sudoers/logging.c:880 plugins/sudoers/lookup.c:331 +#: plugins/sudoers/lookup.c:348 plugins/sudoers/lookup.c:366 +#: plugins/sudoers/lookup.c:384 plugins/sudoers/lookup.c:401 +#: plugins/sudoers/lookup.c:423 plugins/sudoers/lookup.c:434 +#: plugins/sudoers/match_command.c:280 plugins/sudoers/match_command.c:544 +#: plugins/sudoers/match_command.c:608 plugins/sudoers/match_command.c:702 +#: plugins/sudoers/match_command.c:750 plugins/sudoers/match_digest.c:88 #: 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 @@ -172,107 +169,107 @@ msgstr "残念、また試してください。" #: 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:646 plugins/sudoers/policy.c:1061 +#: plugins/sudoers/policy.c:654 plugins/sudoers/policy.c:1071 #: plugins/sudoers/prompt.c:94 plugins/sudoers/pwutil.c:219 #: plugins/sudoers/pwutil.c:290 plugins/sudoers/pwutil.c:368 #: plugins/sudoers/pwutil.c:542 plugins/sudoers/pwutil.c:607 #: plugins/sudoers/pwutil.c:679 plugins/sudoers/pwutil.c:877 -#: plugins/sudoers/pwutil.c:967 plugins/sudoers/pwutil.c:1015 -#: plugins/sudoers/pwutil.c:1076 plugins/sudoers/sethost.c:85 +#: plugins/sudoers/pwutil.c:970 plugins/sudoers/pwutil.c:1018 +#: plugins/sudoers/pwutil.c:1082 plugins/sudoers/sethost.c:89 #: plugins/sudoers/sssd.c:145 plugins/sudoers/sssd.c:186 #: plugins/sudoers/sssd.c:415 plugins/sudoers/sssd.c:480 #: plugins/sudoers/sssd.c:507 plugins/sudoers/sssd.c:570 #: plugins/sudoers/sssd.c:765 plugins/sudoers/strvec_join.c:53 #: plugins/sudoers/sudoers.c:405 plugins/sudoers/sudoers.c:412 -#: plugins/sudoers/sudoers.c:656 plugins/sudoers/sudoers.c:666 -#: plugins/sudoers/sudoers.c:811 plugins/sudoers/sudoers.c:877 -#: plugins/sudoers/sudoers.c:936 plugins/sudoers/sudoers.c:985 -#: plugins/sudoers/sudoers.c:1144 plugins/sudoers/sudoers.c:1213 -#: plugins/sudoers/sudoers.c:1307 plugins/sudoers/sudoers_cb.c:150 +#: plugins/sudoers/sudoers.c:673 plugins/sudoers/sudoers.c:683 +#: plugins/sudoers/sudoers.c:828 plugins/sudoers/sudoers.c:894 +#: plugins/sudoers/sudoers.c:953 plugins/sudoers/sudoers.c:1002 +#: plugins/sudoers/sudoers.c:1162 plugins/sudoers/sudoers.c:1231 +#: plugins/sudoers/sudoers.c:1325 plugins/sudoers/sudoers_cb.c:150 #: plugins/sudoers/sudoreplay.c:559 plugins/sudoers/sudoreplay.c:562 -#: plugins/sudoers/sudoreplay.c:1279 plugins/sudoers/sudoreplay.c:1335 -#: plugins/sudoers/sudoreplay.c:1531 plugins/sudoers/sudoreplay.c:1535 +#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1337 +#: plugins/sudoers/sudoreplay.c:1533 plugins/sudoers/sudoreplay.c:1537 #: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:256 #: plugins/sudoers/testsudoers.c:265 plugins/sudoers/testsudoers.c:275 #: plugins/sudoers/testsudoers.c:282 plugins/sudoers/testsudoers.c:302 -#: plugins/sudoers/testsudoers.c:758 plugins/sudoers/timestamp.c:469 -#: plugins/sudoers/timestamp.c:513 plugins/sudoers/timestamp.c:1042 -#: plugins/sudoers/timestamp.c:1216 plugins/sudoers/toke_util.c:79 +#: plugins/sudoers/testsudoers.c:756 plugins/sudoers/timestamp.c:468 +#: plugins/sudoers/timestamp.c:514 plugins/sudoers/timestamp.c:1045 +#: plugins/sudoers/timestamp.c:1248 plugins/sudoers/toke_util.c:79 #: plugins/sudoers/toke_util.c:108 plugins/sudoers/toke_util.c:134 #: plugins/sudoers/toke_util.c:164 plugins/sudoers/toke_util.c:204 -#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:151 +#: plugins/sudoers/tsdump.c:136 plugins/sudoers/visudo.c:151 #: plugins/sudoers/visudo.c:258 plugins/sudoers/visudo.c:383 #: plugins/sudoers/visudo.c:389 plugins/sudoers/visudo.c:501 #: plugins/sudoers/visudo.c:1073 plugins/sudoers/visudo.c:1095 -#: plugins/sudoers/visudo.c:1189 toke.l:1031 toke.l:1194 toke.l:1213 -#: toke.l:1240 toke.l:1320 +#: plugins/sudoers/visudo.c:1189 toke.l:1011 toke.l:1174 toke.l:1193 +#: toke.l:1220 toke.l:1300 msgid "unable to allocate memory" msgstr "メモリ割り当てを行えませんでした" -#: gram.y:624 +#: gram.y:617 msgid "a digest requires a path name" msgstr "認証方式にはパスが必要です" -#: gram.y:646 +#: gram.y:639 msgid "values for \"CWD\" must start with a '/', '~', or '*'" msgstr "\"CWD\" の値は '/', '~', または '*' で開始しなければいけません" -#: gram.y:652 +#: gram.y:645 msgid "\"CWD\" path too long" msgstr "\"CWD\" パスが長すぎます" -#: gram.y:662 +#: gram.y:655 msgid "values for \"CHROOT\" must start with a '/', '~', or '*'" msgstr "\"CHROOT\" の値は '/', '~', または '*' で開始しなければいけません" -#: gram.y:668 +#: gram.y:661 msgid "\"CHROOT\" path too long" msgstr "\"CHROOT\" パスが長すぎます" -#: gram.y:817 +#: gram.y:810 #, c-format msgid "syntax error, reserved word %s used as an alias name" msgstr "構文エラー、予約語 %s がエイリアス名に使われています" -#: gram.y:840 +#: gram.y:833 msgid "invalid notbefore value" msgstr "notbefore の値が無効です" -#: gram.y:849 +#: gram.y:842 msgid "invalid notafter value" msgstr "notafter の値が無効です" -#: gram.y:859 plugins/sudoers/policy.c:390 +#: gram.y:852 plugins/sudoers/policy.c:373 msgid "timeout value too large" msgstr "制限時間の値が大き過ぎます" -#: gram.y:861 plugins/sudoers/policy.c:392 +#: gram.y:854 plugins/sudoers/policy.c:375 msgid "invalid timeout value" msgstr "時間制限値が無効です" -#: gram.y:982 plugins/sudoers/sudoers.c:1162 +#: gram.y:965 plugins/sudoers/sudoers.c:1180 msgid "command too long" msgstr "コマンド名が長すぎます" -#: gram.y:1016 +#: gram.y:999 msgid "expected a fully-qualified path name" msgstr "完全修飾パス名が必要です" -#: gram.y:1261 +#: gram.y:1244 #, c-format msgid "%s:%d:%zu: %s\n" msgstr "%s:%d:%zu: %s\n" -#: gram.y:1315 +#: gram.y:1298 #, c-format msgid "Alias \"%s\" already defined" msgstr "別名 \"%s\" はすでに定義されています" -#: gram.y:1829 gram.y:1840 gram.y:1922 lib/eventlog/eventlog.c:236 -#: lib/eventlog/eventlog.c:765 lib/eventlog/eventlog.c:838 -#: lib/eventlog/eventlog.c:841 lib/eventlog/eventlog.c:1175 -#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:483 -#: lib/eventlog/parse_json.c:514 lib/iolog/iolog_filter.c:142 +#: gram.y:1811 gram.y:1822 gram.y:1898 lib/eventlog/eventlog.c:236 +#: lib/eventlog/eventlog.c:778 lib/eventlog/eventlog.c:851 +#: lib/eventlog/eventlog.c:854 lib/eventlog/eventlog.c:1189 +#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:500 +#: lib/eventlog/parse_json.c:531 lib/iolog/iolog_filter.c:142 #: lib/iolog/iolog_filter.c:202 lib/iolog/iolog_filter.c:232 #: lib/iolog/iolog_legacy.c:101 lib/iolog/iolog_legacy.c:112 #: lib/iolog/iolog_legacy.c:124 lib/iolog/iolog_legacy.c:134 @@ -285,16 +282,16 @@ msgstr "別名 \"%s\" はすでに定義されています" #: logsrvd/iolog_writer.c:246 logsrvd/iolog_writer.c:256 #: logsrvd/iolog_writer.c:267 logsrvd/iolog_writer.c:277 #: logsrvd/iolog_writer.c:289 logsrvd/iolog_writer.c:299 -#: logsrvd/iolog_writer.c:309 logsrvd/iolog_writer.c:319 -#: logsrvd/iolog_writer.c:329 logsrvd/iolog_writer.c:341 -#: logsrvd/iolog_writer.c:377 logsrvd/iolog_writer.c:383 -#: logsrvd/iolog_writer.c:390 logsrvd/iolog_writer.c:396 -#: logsrvd/iolog_writer.c:580 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:323 -#: logsrvd/logsrvd.c:461 logsrvd/logsrvd.c:498 logsrvd/logsrvd.c:530 -#: logsrvd/logsrvd.c:584 logsrvd/logsrvd.c:619 logsrvd/logsrvd.c:668 -#: logsrvd/logsrvd.c:704 logsrvd/logsrvd.c:740 logsrvd/logsrvd.c:1131 -#: logsrvd/logsrvd.c:1446 logsrvd/logsrvd.c:1453 logsrvd/logsrvd.c:1589 -#: logsrvd/logsrvd.c:1594 logsrvd/logsrvd.c:1781 logsrvd/logsrvd.c:2003 +#: logsrvd/iolog_writer.c:317 logsrvd/iolog_writer.c:327 +#: logsrvd/iolog_writer.c:337 logsrvd/iolog_writer.c:349 +#: logsrvd/iolog_writer.c:385 logsrvd/iolog_writer.c:391 +#: logsrvd/iolog_writer.c:398 logsrvd/iolog_writer.c:404 +#: logsrvd/iolog_writer.c:588 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:324 +#: logsrvd/logsrvd.c:462 logsrvd/logsrvd.c:499 logsrvd/logsrvd.c:531 +#: logsrvd/logsrvd.c:585 logsrvd/logsrvd.c:620 logsrvd/logsrvd.c:669 +#: logsrvd/logsrvd.c:705 logsrvd/logsrvd.c:741 logsrvd/logsrvd.c:1132 +#: logsrvd/logsrvd.c:1456 logsrvd/logsrvd.c:1463 logsrvd/logsrvd.c:1599 +#: logsrvd/logsrvd.c:1604 logsrvd/logsrvd.c:1791 logsrvd/logsrvd.c:2046 #: 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 @@ -302,11 +299,11 @@ msgstr "別名 \"%s\" はすでに定義されています" #: 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_conf.c:829 logsrvd/logsrvd_conf.c:1041 +#: logsrvd/logsrvd_conf.c:1058 logsrvd/logsrvd_conf.c:1453 +#: logsrvd/logsrvd_conf.c:1600 logsrvd/logsrvd_conf.c:1626 +#: logsrvd/logsrvd_conf.c:1638 logsrvd/logsrvd_conf.c:1645 +#: logsrvd/logsrvd_conf.c:1651 logsrvd/logsrvd_conf.c:1747 #: logsrvd/logsrvd_journal.c:76 logsrvd/logsrvd_journal.c:125 #: logsrvd/logsrvd_journal.c:216 logsrvd/logsrvd_journal.c:246 #: logsrvd/logsrvd_journal.c:250 logsrvd/logsrvd_journal.c:258 @@ -317,8 +314,8 @@ msgstr "別名 \"%s\" はすでに定義されています" #: logsrvd/logsrvd_queue.c:158 logsrvd/logsrvd_queue.c:189 #: logsrvd/logsrvd_queue.c:266 logsrvd/sendlog.c:256 logsrvd/sendlog.c:265 #: logsrvd/sendlog.c:297 logsrvd/sendlog.c:303 logsrvd/sendlog.c:352 -#: logsrvd/sendlog.c:630 logsrvd/sendlog.c:1523 logsrvd/sendlog.c:1530 -#: logsrvd/sendlog.c:1753 logsrvd/sendlog.c:1822 logsrvd/tls_init.c:305 +#: logsrvd/sendlog.c:651 logsrvd/sendlog.c:1548 logsrvd/sendlog.c:1555 +#: logsrvd/sendlog.c:1778 logsrvd/sendlog.c:1847 logsrvd/tls_init.c:305 #: logsrvd/tls_init.c:329 logsrvd/tls_init.c:340 plugins/sudoers/audit.c:118 #: plugins/sudoers/auth/pam.c:518 plugins/sudoers/auth/pam.c:697 #: plugins/sudoers/auth/rfc1938.c:112 plugins/sudoers/canon_path.c:129 @@ -329,34 +326,31 @@ msgstr "別名 \"%s\" はすでに定義されています" #: plugins/sudoers/cvtsudoers.c:337 plugins/sudoers/cvtsudoers.c:544 #: plugins/sudoers/cvtsudoers.c:697 plugins/sudoers/cvtsudoers.c:715 #: plugins/sudoers/cvtsudoers.c:891 plugins/sudoers/cvtsudoers.c:898 -#: plugins/sudoers/cvtsudoers.c:1395 plugins/sudoers/cvtsudoers.c:1399 -#: plugins/sudoers/cvtsudoers.c:1501 plugins/sudoers/cvtsudoers_csv.c:182 -#: plugins/sudoers/cvtsudoers_csv.c:246 plugins/sudoers/cvtsudoers_json.c:75 -#: plugins/sudoers/cvtsudoers_ldif.c:151 plugins/sudoers/cvtsudoers_ldif.c:194 -#: plugins/sudoers/cvtsudoers_ldif.c:235 plugins/sudoers/cvtsudoers_ldif.c:301 -#: plugins/sudoers/cvtsudoers_ldif.c:377 plugins/sudoers/cvtsudoers_ldif.c:431 -#: plugins/sudoers/cvtsudoers_ldif.c:439 plugins/sudoers/cvtsudoers_ldif.c:450 -#: plugins/sudoers/cvtsudoers_ldif.c:457 plugins/sudoers/cvtsudoers_ldif.c:469 -#: plugins/sudoers/cvtsudoers_ldif.c:482 plugins/sudoers/cvtsudoers_ldif.c:490 -#: plugins/sudoers/cvtsudoers_ldif.c:637 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:455 -#: plugins/sudoers/defaults.c:689 plugins/sudoers/defaults.c:1051 -#: plugins/sudoers/defaults.c:1235 plugins/sudoers/editor.c:198 -#: plugins/sudoers/env.c:263 plugins/sudoers/exptilde.c:92 +#: plugins/sudoers/cvtsudoers.c:1393 plugins/sudoers/cvtsudoers.c:1397 +#: plugins/sudoers/cvtsudoers.c:1497 plugins/sudoers/cvtsudoers_csv.c:182 +#: plugins/sudoers/cvtsudoers_csv.c:255 plugins/sudoers/cvtsudoers_json.c:604 +#: plugins/sudoers/cvtsudoers_json.c:639 plugins/sudoers/cvtsudoers_json.c:1016 +#: plugins/sudoers/cvtsudoers_json.c:1041 plugins/sudoers/cvtsudoers_ldif.c:112 +#: plugins/sudoers/cvtsudoers_ldif.c:144 plugins/sudoers/cvtsudoers_ldif.c:260 +#: plugins/sudoers/cvtsudoers_ldif.c:573 plugins/sudoers/cvtsudoers_ldif.c:586 +#: plugins/sudoers/cvtsudoers_ldif.c:591 plugins/sudoers/cvtsudoers_ldif.c:761 +#: plugins/sudoers/cvtsudoers_merge.c:57 plugins/sudoers/cvtsudoers_merge.c:357 +#: plugins/sudoers/cvtsudoers_merge.c:405 +#: plugins/sudoers/cvtsudoers_merge.c:453 +#: plugins/sudoers/cvtsudoers_merge.c:475 +#: plugins/sudoers/cvtsudoers_merge.c:583 +#: plugins/sudoers/cvtsudoers_merge.c:588 +#: plugins/sudoers/cvtsudoers_merge.c:661 +#: plugins/sudoers/cvtsudoers_merge.c:664 +#: plugins/sudoers/cvtsudoers_merge.c:1196 +#: plugins/sudoers/cvtsudoers_merge.c:1281 plugins/sudoers/defaults.c:455 +#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1062 +#: plugins/sudoers/defaults.c:1248 plugins/sudoers/editor.c:198 +#: plugins/sudoers/env.c:280 plugins/sudoers/exptilde.c:92 #: plugins/sudoers/filedigest.c:66 plugins/sudoers/filedigest.c:70 #: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:211 -#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268 -#: plugins/sudoers/iolog.c:675 plugins/sudoers/iolog.c:703 +#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:270 +#: plugins/sudoers/iolog.c:683 plugins/sudoers/iolog.c:711 #: plugins/sudoers/ldap.c:161 plugins/sudoers/ldap.c:448 #: plugins/sudoers/ldap.c:625 plugins/sudoers/ldap.c:789 #: plugins/sudoers/ldap.c:1214 plugins/sudoers/ldap.c:1642 @@ -366,26 +360,26 @@ msgstr "別名 \"%s\" はすでに定義されています" #: plugins/sudoers/ldap_conf.c:299 plugins/sudoers/ldap_conf.c:335 #: plugins/sudoers/ldap_conf.c:441 plugins/sudoers/ldap_conf.c:456 #: plugins/sudoers/ldap_conf.c:565 plugins/sudoers/ldap_conf.c:598 -#: plugins/sudoers/ldap_conf.c:693 plugins/sudoers/ldap_conf.c:776 +#: plugins/sudoers/ldap_conf.c:695 plugins/sudoers/ldap_conf.c:778 #: 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:717 -#: plugins/sudoers/log_client.c:739 plugins/sudoers/log_client.c:744 -#: plugins/sudoers/log_client.c:1426 plugins/sudoers/log_client.c:1547 -#: plugins/sudoers/log_client.c:1670 plugins/sudoers/log_client.c:1993 -#: plugins/sudoers/log_client.c:2052 plugins/sudoers/logging.c:110 +#: plugins/sudoers/ldap_util.c:615 plugins/sudoers/linux_audit.c:86 +#: plugins/sudoers/log_client.c:117 plugins/sudoers/log_client.c:237 +#: plugins/sudoers/log_client.c:259 plugins/sudoers/log_client.c:273 +#: plugins/sudoers/log_client.c:411 plugins/sudoers/log_client.c:726 +#: plugins/sudoers/log_client.c:748 plugins/sudoers/log_client.c:753 +#: plugins/sudoers/log_client.c:1449 plugins/sudoers/log_client.c:1570 +#: plugins/sudoers/log_client.c:1693 plugins/sudoers/log_client.c:2018 +#: plugins/sudoers/log_client.c:2077 plugins/sudoers/logging.c:110 #: plugins/sudoers/logging.c:189 plugins/sudoers/logging.c:190 -#: plugins/sudoers/logging.c:475 plugins/sudoers/logging.c:711 -#: plugins/sudoers/logging.c:755 plugins/sudoers/logging.c:872 -#: plugins/sudoers/logging.c:925 plugins/sudoers/logging.c:932 -#: plugins/sudoers/lookup.c:337 plugins/sudoers/lookup.c:354 -#: plugins/sudoers/lookup.c:373 plugins/sudoers/lookup.c:392 -#: plugins/sudoers/lookup.c:409 plugins/sudoers/lookup.c:432 -#: plugins/sudoers/lookup.c:443 plugins/sudoers/match_command.c:301 -#: plugins/sudoers/match_command.c:573 plugins/sudoers/match_command.c:640 -#: plugins/sudoers/match_command.c:737 plugins/sudoers/match_command.c:784 +#: plugins/sudoers/logging.c:483 plugins/sudoers/logging.c:723 +#: plugins/sudoers/logging.c:763 plugins/sudoers/logging.c:880 +#: plugins/sudoers/logging.c:933 plugins/sudoers/logging.c:940 +#: plugins/sudoers/lookup.c:330 plugins/sudoers/lookup.c:347 +#: plugins/sudoers/lookup.c:365 plugins/sudoers/lookup.c:383 +#: plugins/sudoers/lookup.c:400 plugins/sudoers/lookup.c:422 +#: plugins/sudoers/lookup.c:433 plugins/sudoers/match_command.c:279 +#: plugins/sudoers/match_command.c:543 plugins/sudoers/match_command.c:607 +#: plugins/sudoers/match_command.c:702 plugins/sudoers/match_command.c:749 #: plugins/sudoers/match_digest.c:88 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 @@ -396,52 +390,52 @@ msgstr "別名 \"%s\" はすでに定義されています" #: plugins/sudoers/parse_ldif.c:595 plugins/sudoers/parse_ldif.c:624 #: plugins/sudoers/parse_ldif.c:649 plugins/sudoers/parse_ldif.c:707 #: plugins/sudoers/parse_ldif.c:724 plugins/sudoers/parse_ldif.c:752 -#: plugins/sudoers/parse_ldif.c:759 plugins/sudoers/policy.c:157 -#: plugins/sudoers/policy.c:166 plugins/sudoers/policy.c:175 -#: plugins/sudoers/policy.c:204 plugins/sudoers/policy.c:374 -#: plugins/sudoers/policy.c:390 plugins/sudoers/policy.c:392 -#: plugins/sudoers/policy.c:430 plugins/sudoers/policy.c:439 -#: plugins/sudoers/policy.c:448 plugins/sudoers/policy.c:457 -#: plugins/sudoers/policy.c:493 plugins/sudoers/policy.c:502 -#: plugins/sudoers/policy.c:511 plugins/sudoers/policy.c:520 -#: plugins/sudoers/policy.c:529 plugins/sudoers/policy.c:538 -#: plugins/sudoers/policy.c:547 plugins/sudoers/policy.c:646 -#: plugins/sudoers/policy.c:1061 plugins/sudoers/prompt.c:94 +#: plugins/sudoers/parse_ldif.c:759 plugins/sudoers/policy.c:152 +#: plugins/sudoers/policy.c:161 plugins/sudoers/policy.c:170 +#: plugins/sudoers/policy.c:199 plugins/sudoers/policy.c:357 +#: plugins/sudoers/policy.c:373 plugins/sudoers/policy.c:375 +#: plugins/sudoers/policy.c:414 plugins/sudoers/policy.c:423 +#: plugins/sudoers/policy.c:432 plugins/sudoers/policy.c:441 +#: plugins/sudoers/policy.c:492 plugins/sudoers/policy.c:501 +#: plugins/sudoers/policy.c:510 plugins/sudoers/policy.c:519 +#: plugins/sudoers/policy.c:528 plugins/sudoers/policy.c:537 +#: plugins/sudoers/policy.c:546 plugins/sudoers/policy.c:654 +#: plugins/sudoers/policy.c:1071 plugins/sudoers/prompt.c:94 #: plugins/sudoers/pwutil.c:219 plugins/sudoers/pwutil.c:290 #: plugins/sudoers/pwutil.c:368 plugins/sudoers/pwutil.c:542 #: plugins/sudoers/pwutil.c:607 plugins/sudoers/pwutil.c:679 -#: plugins/sudoers/pwutil.c:877 plugins/sudoers/pwutil.c:967 -#: plugins/sudoers/pwutil.c:1015 plugins/sudoers/pwutil.c:1076 +#: plugins/sudoers/pwutil.c:877 plugins/sudoers/pwutil.c:970 +#: plugins/sudoers/pwutil.c:1018 plugins/sudoers/pwutil.c:1082 #: plugins/sudoers/set_perms.c:374 plugins/sudoers/set_perms.c:723 #: plugins/sudoers/set_perms.c:1096 plugins/sudoers/set_perms.c:1409 -#: plugins/sudoers/set_perms.c:1579 plugins/sudoers/sethost.c:85 +#: plugins/sudoers/set_perms.c:1579 plugins/sudoers/sethost.c:89 #: plugins/sudoers/sssd.c:144 plugins/sudoers/sssd.c:186 #: plugins/sudoers/sssd.c:415 plugins/sudoers/sssd.c:480 #: plugins/sudoers/sssd.c:507 plugins/sudoers/sssd.c:570 #: plugins/sudoers/sssd.c:765 plugins/sudoers/strvec_join.c:53 #: plugins/sudoers/sudoers.c:405 plugins/sudoers/sudoers.c:412 -#: plugins/sudoers/sudoers.c:656 plugins/sudoers/sudoers.c:666 -#: plugins/sudoers/sudoers.c:811 plugins/sudoers/sudoers.c:877 -#: plugins/sudoers/sudoers.c:936 plugins/sudoers/sudoers.c:985 -#: plugins/sudoers/sudoers.c:1144 plugins/sudoers/sudoers.c:1213 -#: plugins/sudoers/sudoers.c:1306 plugins/sudoers/sudoers_cb.c:150 +#: plugins/sudoers/sudoers.c:673 plugins/sudoers/sudoers.c:683 +#: plugins/sudoers/sudoers.c:828 plugins/sudoers/sudoers.c:894 +#: plugins/sudoers/sudoers.c:953 plugins/sudoers/sudoers.c:1002 +#: plugins/sudoers/sudoers.c:1162 plugins/sudoers/sudoers.c:1231 +#: plugins/sudoers/sudoers.c:1324 plugins/sudoers/sudoers_cb.c:150 #: plugins/sudoers/sudoreplay.c:559 plugins/sudoers/sudoreplay.c:562 -#: plugins/sudoers/sudoreplay.c:1279 plugins/sudoers/sudoreplay.c:1335 -#: plugins/sudoers/sudoreplay.c:1531 plugins/sudoers/sudoreplay.c:1535 +#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1337 +#: plugins/sudoers/sudoreplay.c:1533 plugins/sudoers/sudoreplay.c:1537 #: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:255 #: plugins/sudoers/testsudoers.c:264 plugins/sudoers/testsudoers.c:275 #: plugins/sudoers/testsudoers.c:282 plugins/sudoers/testsudoers.c:302 -#: plugins/sudoers/testsudoers.c:758 plugins/sudoers/timestamp.c:469 -#: plugins/sudoers/timestamp.c:513 plugins/sudoers/timestamp.c:1042 -#: plugins/sudoers/timestamp.c:1216 plugins/sudoers/toke_util.c:79 +#: plugins/sudoers/testsudoers.c:756 plugins/sudoers/timestamp.c:468 +#: plugins/sudoers/timestamp.c:514 plugins/sudoers/timestamp.c:1045 +#: plugins/sudoers/timestamp.c:1248 plugins/sudoers/toke_util.c:79 #: plugins/sudoers/toke_util.c:108 plugins/sudoers/toke_util.c:134 #: plugins/sudoers/toke_util.c:163 plugins/sudoers/toke_util.c:204 -#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:151 +#: plugins/sudoers/tsdump.c:136 plugins/sudoers/visudo.c:151 #: plugins/sudoers/visudo.c:258 plugins/sudoers/visudo.c:383 #: plugins/sudoers/visudo.c:389 plugins/sudoers/visudo.c:501 #: plugins/sudoers/visudo.c:1073 plugins/sudoers/visudo.c:1094 -#: plugins/sudoers/visudo.c:1189 toke.l:1031 toke.l:1194 toke.l:1213 -#: toke.l:1240 toke.l:1309 toke.l:1320 +#: plugins/sudoers/visudo.c:1189 toke.l:1011 toke.l:1174 toke.l:1193 +#: toke.l:1220 toke.l:1289 toke.l:1300 #, c-format msgid "%s: %s" msgstr "%s: %s" @@ -470,12 +464,12 @@ msgstr "fork できません: %m" msgid "unable to open pipe: %m" msgstr "パイプを開けません: %m" -#: lib/eventlog/eventlog.c:1000 +#: lib/eventlog/eventlog.c:1013 #, c-format msgid "%8s : %s" msgstr "%8s : %s" -#: lib/eventlog/eventlog.c:1029 +#: lib/eventlog/eventlog.c:1042 #, c-format msgid "%8s : (command continued) %s" msgstr "%8s : (コマンド継続中) %s" @@ -489,73 +483,73 @@ msgstr "JSON_STRING を予期していたら、 %d でした" msgid "JSON_ARRAY too large" msgstr "JSON_ARRAY が大きすぎます" -#: lib/eventlog/parse_json.c:506 +#: lib/eventlog/parse_json.c:523 msgid "missing double quote in name" msgstr "名前に二重引用符がありません" -#: lib/eventlog/parse_json.c:624 +#: lib/eventlog/parse_json.c:641 msgid "missing JSON_OBJECT" msgstr "JSON_OBJECT がありません" -#: lib/eventlog/parse_json.c:628 +#: lib/eventlog/parse_json.c:645 #, c-format msgid "expected JSON_OBJECT, got %d" msgstr "JSON_OBJECT を予期していたら、 %d でした" -#: lib/eventlog/parse_json.c:762 +#: lib/eventlog/parse_json.c:779 #, c-format msgid "json stack exhausted (max %u frames)" msgstr "JSON スタックを使い切りました(最大 %u フレーム)" -#: lib/eventlog/parse_json.c:840 +#: lib/eventlog/parse_json.c:857 msgid "objects must consist of name:value pairs" msgstr "オブジェクトは 名前:値 のベアである必要があります" -#: lib/eventlog/parse_json.c:845 lib/eventlog/parse_json.c:876 -#: lib/eventlog/parse_json.c:920 lib/eventlog/parse_json.c:942 -#: lib/eventlog/parse_json.c:964 lib/eventlog/parse_json.c:986 -#: lib/eventlog/parse_json.c:1008 +#: lib/eventlog/parse_json.c:862 lib/eventlog/parse_json.c:893 +#: lib/eventlog/parse_json.c:937 lib/eventlog/parse_json.c:959 +#: lib/eventlog/parse_json.c:981 lib/eventlog/parse_json.c:1003 +#: lib/eventlog/parse_json.c:1025 msgid "missing separator between values" msgstr "値の間の分離記号がありません" -#: lib/eventlog/parse_json.c:860 lib/eventlog/parse_json.c:1034 +#: lib/eventlog/parse_json.c:877 lib/eventlog/parse_json.c:1051 msgid "unmatched close brace" msgstr "余分な閉じ中括弧があります" -#: lib/eventlog/parse_json.c:871 +#: lib/eventlog/parse_json.c:888 msgid "unexpected array" msgstr "予期せぬところに配列" -#: lib/eventlog/parse_json.c:891 lib/eventlog/parse_json.c:1037 +#: lib/eventlog/parse_json.c:908 lib/eventlog/parse_json.c:1054 msgid "unmatched close bracket" msgstr "余分な閉じ角括弧があります" -#: lib/eventlog/parse_json.c:902 +#: lib/eventlog/parse_json.c:919 msgid "unexpected string" msgstr "予期せぬところに文字列" -#: lib/eventlog/parse_json.c:913 +#: lib/eventlog/parse_json.c:930 msgid "missing colon after name" msgstr "名前の後にコロンがありません" -#: lib/eventlog/parse_json.c:934 lib/eventlog/parse_json.c:956 +#: lib/eventlog/parse_json.c:951 lib/eventlog/parse_json.c:973 msgid "unexpected boolean" msgstr "予期せぬところに真偽値" -#: lib/eventlog/parse_json.c:978 +#: lib/eventlog/parse_json.c:995 msgid "unexpected null" msgstr "予期せぬところにNULL" -#: lib/eventlog/parse_json.c:999 +#: lib/eventlog/parse_json.c:1016 msgid "unexpected number" msgstr "予期せぬところに数値" -#: lib/eventlog/parse_json.c:1045 +#: lib/eventlog/parse_json.c:1062 msgid "parse error" msgstr "構文解析エラー" -#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1290 -#: plugins/sudoers/sudoreplay.c:1291 plugins/sudoers/sudoreplay.c:1587 +#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1303 +#: plugins/sudoers/sudoreplay.c:1293 plugins/sudoers/sudoreplay.c:1589 #, c-format msgid "invalid regular expression \"%s\": %s" msgstr "無効な正規表現です \"%s\": %s" @@ -595,8 +589,8 @@ msgstr "%s: runasグループ名フィールドがありません" msgid "%s exists but is not a directory (0%o)" msgstr "%s が存在しますがディレクトリではありません (0%o)" -#: lib/iolog/iolog_mkdirs.c:124 lib/iolog/iolog_mkdtemp.c:80 -#: logsrvd/iolog_writer.c:795 plugins/sudoers/timestamp.c:218 +#: lib/iolog/iolog_mkdirs.c:125 lib/iolog/iolog_mkdtemp.c:80 +#: logsrvd/iolog_writer.c:803 plugins/sudoers/timestamp.c:218 #, c-format msgid "unable to mkdir %s" msgstr "ディレクトリ %s を作成できません" @@ -634,90 +628,90 @@ msgstr "%s: プロトコルエラー: %s の型としては間違っています msgid "%s: protocol error: NULL value found in %s" msgstr "%s: プロトコルエラー: %s に NULL値が入っています" -#: logsrvd/iolog_writer.c:141 plugins/sudoers/logging.c:1024 -#: plugins/sudoers/policy.c:613 +#: logsrvd/iolog_writer.c:141 plugins/sudoers/logging.c:1035 +#: plugins/sudoers/policy.c:621 msgid "unable to generate UUID" msgstr "uuid を生成できません" -#: logsrvd/iolog_writer.c:354 logsrvd/iolog_writer.c:359 -#: logsrvd/iolog_writer.c:364 logsrvd/iolog_writer.c:369 +#: logsrvd/iolog_writer.c:362 logsrvd/iolog_writer.c:367 +#: logsrvd/iolog_writer.c:372 logsrvd/iolog_writer.c:377 #, c-format msgid "%s: protocol error: %s missing from AcceptMessage" msgstr "%s: プロトコルエラー: %s が AcceptMessage にありません" -#: logsrvd/iolog_writer.c:430 +#: logsrvd/iolog_writer.c:438 #, c-format msgid "%s: unable to format session id" msgstr "%s: セッションIDを整形できません" -#: logsrvd/iolog_writer.c:444 logsrvd/iolog_writer.c:458 -#: logsrvd/iolog_writer.c:472 logsrvd/iolog_writer.c:487 -#: logsrvd/iolog_writer.c:501 logsrvd/iolog_writer.c:515 +#: logsrvd/iolog_writer.c:452 logsrvd/iolog_writer.c:466 +#: logsrvd/iolog_writer.c:480 logsrvd/iolog_writer.c:495 +#: logsrvd/iolog_writer.c:509 logsrvd/iolog_writer.c:523 #, c-format msgid "%s: %s is not set" msgstr "%s: %s は設定されていません" -#: logsrvd/iolog_writer.c:551 logsrvd/iolog_writer.c:558 +#: logsrvd/iolog_writer.c:559 logsrvd/iolog_writer.c:566 #, c-format msgid "unable to expand iolog path %s" msgstr "iolog のパス %s を伸長できません" -#: logsrvd/iolog_writer.c:576 +#: logsrvd/iolog_writer.c:584 #, c-format msgid "unable to create iolog path %s" msgstr "iolog のパス %s を作成できません" -#: logsrvd/iolog_writer.c:606 +#: logsrvd/iolog_writer.c:614 #, c-format msgid "invalid iofd %d" msgstr "無効な iofd %d です" -#: logsrvd/iolog_writer.c:626 +#: logsrvd/iolog_writer.c:634 #, c-format msgid "error closing iofd %u: %s" msgstr "iofd %u を閉じる際にエラーが発生しました: %s" -#: logsrvd/iolog_writer.c:647 +#: logsrvd/iolog_writer.c:655 #, c-format msgid "error flushing iofd %u: %s" msgstr "iofd %u をフラッシュする際にエラーが発生しました: %s" -#: logsrvd/iolog_writer.c:765 +#: logsrvd/iolog_writer.c:773 #, c-format msgid "invalid I/O log %s: %s referenced but not present" msgstr "無効な I/O ログ %s: %s が参照されていますが存在しません" -#: logsrvd/iolog_writer.c:777 logsrvd/logsrvd_journal.c:391 +#: logsrvd/iolog_writer.c:785 logsrvd/logsrvd_journal.c:391 #, c-format msgid "%s: unable to find resume point [%lld, %ld]" msgstr "%s: 復元ポイントが見つかりません [%lld, %ld]" -#: logsrvd/iolog_writer.c:799 logsrvd/logsrvd_journal.c:434 +#: logsrvd/iolog_writer.c:807 logsrvd/logsrvd_journal.c:434 #: logsrvd/logsrvd_queue.c:115 logsrvd/tls_init.c:256 -#: plugins/sudoers/check.c:285 plugins/sudoers/cvtsudoers.c:758 -#: plugins/sudoers/cvtsudoers.c:780 plugins/sudoers/cvtsudoers.c:1461 -#: plugins/sudoers/cvtsudoers_csv.c:697 plugins/sudoers/cvtsudoers_json.c:902 -#: plugins/sudoers/cvtsudoers_ldif.c:711 plugins/sudoers/sudoers.c:1291 -#: plugins/sudoers/sudoers.c:1317 plugins/sudoers/sudoreplay.c:1497 -#: plugins/sudoers/timestamp.c:478 plugins/sudoers/tsdump.c:128 +#: plugins/sudoers/check.c:278 plugins/sudoers/cvtsudoers.c:758 +#: plugins/sudoers/cvtsudoers.c:780 plugins/sudoers/cvtsudoers.c:1457 +#: plugins/sudoers/cvtsudoers_csv.c:722 plugins/sudoers/cvtsudoers_json.c:1034 +#: plugins/sudoers/cvtsudoers_ldif.c:753 plugins/sudoers/sudoers.c:1309 +#: plugins/sudoers/sudoers.c:1335 plugins/sudoers/sudoreplay.c:1499 +#: plugins/sudoers/timestamp.c:477 plugins/sudoers/tsdump.c:141 #: plugins/sudoers/visudo.c:990 #, c-format msgid "unable to open %s" msgstr "%s を開けません" -#: logsrvd/iolog_writer.c:811 logsrvd/logsrv_util.c:111 +#: logsrvd/iolog_writer.c:819 logsrvd/logsrv_util.c:111 #: logsrvd/logsrv_util.c:118 plugins/sudoers/sudoreplay.c:355 #: plugins/sudoers/sudoreplay.c:361 #, c-format msgid "unable to open %s/%s" msgstr "%s/%s を開けません" -#: logsrvd/iolog_writer.c:824 +#: logsrvd/iolog_writer.c:832 #, c-format msgid "unable to copy %s/%s to %s/%s: %s" msgstr "%s/%s から %s/%s にコピーできません: %s" -#: logsrvd/iolog_writer.c:853 logsrvd/logsrvd_journal.c:198 +#: logsrvd/iolog_writer.c:861 logsrvd/logsrvd_journal.c:198 #, c-format msgid "unable to rename %s to %s" msgstr "%s から %s に名前を変更できません" @@ -737,209 +731,209 @@ msgstr "I/O ログファイル %s/%s がありません。" msgid "%s/%s: unable to seek forward %zu" msgstr "%s/%s: 前方検索できません %zu" -#: logsrvd/logsrvd.c:271 logsrvd/logsrvd_queue.c:135 +#: logsrvd/logsrvd.c:272 logsrvd/logsrvd_queue.c:135 msgid "unable to connect to relay" msgstr "リレーに接続できません" -#: logsrvd/logsrvd.c:338 logsrvd/logsrvd_relay.c:847 +#: logsrvd/logsrvd.c:339 logsrvd/logsrvd_relay.c:847 #, c-format msgid "server message too large: %zu" msgstr "サーバーメッセージが大き過ぎます: %zu" -#: logsrvd/logsrvd.c:430 logsrvd/logsrvd.c:553 logsrvd/logsrvd.c:639 -#: logsrvd/logsrvd.c:881 logsrvd/logsrvd.c:895 logsrvd/logsrvd.c:1056 -#: logsrvd/logsrvd.c:1181 logsrvd/logsrvd.c:1354 logsrvd/logsrvd.c:1372 -#: logsrvd/logsrvd.c:1471 logsrvd/logsrvd.c:1596 logsrvd/logsrvd.c:1783 +#: logsrvd/logsrvd.c:431 logsrvd/logsrvd.c:554 logsrvd/logsrvd.c:640 +#: logsrvd/logsrvd.c:882 logsrvd/logsrvd.c:896 logsrvd/logsrvd.c:1057 +#: logsrvd/logsrvd.c:1182 logsrvd/logsrvd.c:1364 logsrvd/logsrvd.c:1382 +#: logsrvd/logsrvd.c:1481 logsrvd/logsrvd.c:1606 logsrvd/logsrvd.c:1793 #: logsrvd/logsrvd_journal.c:503 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:391 logsrvd/logsrvd_relay.c:583 #: logsrvd/logsrvd_relay.c:747 logsrvd/logsrvd_relay.c:1137 -#: logsrvd/sendlog.c:1308 logsrvd/tls_client.c:136 logsrvd/tls_client.c:152 -#: logsrvd/tls_client.c:216 plugins/sudoers/audit.c:281 -#: plugins/sudoers/iolog.c:1041 plugins/sudoers/iolog.c:1175 -#: plugins/sudoers/iolog.c:1274 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:613 -#: plugins/sudoers/log_client.c:620 plugins/sudoers/log_client.c:1114 -#: plugins/sudoers/log_client.c:1395 plugins/sudoers/log_client.c:1436 -#: plugins/sudoers/log_client.c:1444 plugins/sudoers/log_client.c:1603 -#: plugins/sudoers/log_client.c:1728 plugins/sudoers/log_client.c:2060 -#: plugins/sudoers/log_client.c:2068 plugins/sudoers/logging.c:148 +#: logsrvd/sendlog.c:1333 logsrvd/tls_client.c:145 logsrvd/tls_client.c:161 +#: logsrvd/tls_client.c:225 plugins/sudoers/audit.c:281 +#: plugins/sudoers/iolog.c:1049 plugins/sudoers/iolog.c:1183 +#: plugins/sudoers/iolog.c:1282 plugins/sudoers/log_client.c:121 +#: plugins/sudoers/log_client.c:352 plugins/sudoers/log_client.c:368 +#: plugins/sudoers/log_client.c:416 plugins/sudoers/log_client.c:622 +#: plugins/sudoers/log_client.c:629 plugins/sudoers/log_client.c:1137 +#: plugins/sudoers/log_client.c:1418 plugins/sudoers/log_client.c:1459 +#: plugins/sudoers/log_client.c:1467 plugins/sudoers/log_client.c:1626 +#: plugins/sudoers/log_client.c:1751 plugins/sudoers/log_client.c:2085 +#: plugins/sudoers/log_client.c:2093 plugins/sudoers/logging.c:148 #: plugins/sudoers/logging.c:206 plugins/sudoers/sudoreplay.c:519 -#: plugins/sudoers/sudoreplay.c:566 plugins/sudoers/sudoreplay.c:808 -#: plugins/sudoers/sudoreplay.c:920 plugins/sudoers/sudoreplay.c:1011 -#: plugins/sudoers/sudoreplay.c:1026 plugins/sudoers/sudoreplay.c:1033 -#: plugins/sudoers/sudoreplay.c:1040 plugins/sudoers/sudoreplay.c:1047 -#: plugins/sudoers/sudoreplay.c:1054 plugins/sudoers/sudoreplay.c:1182 +#: plugins/sudoers/sudoreplay.c:566 plugins/sudoers/sudoreplay.c:810 +#: plugins/sudoers/sudoreplay.c:922 plugins/sudoers/sudoreplay.c:1013 +#: plugins/sudoers/sudoreplay.c:1028 plugins/sudoers/sudoreplay.c:1035 +#: plugins/sudoers/sudoreplay.c:1042 plugins/sudoers/sudoreplay.c:1049 +#: plugins/sudoers/sudoreplay.c:1056 plugins/sudoers/sudoreplay.c:1184 msgid "unable to add event to queue" msgstr "イベントをキューに追加できません" -#: logsrvd/logsrvd.c:454 logsrvd/logsrvd.c:491 logsrvd/logsrvd.c:523 -#: logsrvd/logsrvd.c:577 logsrvd/logsrvd.c:656 logsrvd/logsrvd.c:692 -#: logsrvd/logsrvd.c:728 logsrvd/logsrvd.c:764 logsrvd/logsrvd_relay.c:512 +#: logsrvd/logsrvd.c:455 logsrvd/logsrvd.c:492 logsrvd/logsrvd.c:524 +#: logsrvd/logsrvd.c:578 logsrvd/logsrvd.c:657 logsrvd/logsrvd.c:693 +#: logsrvd/logsrvd.c:729 logsrvd/logsrvd.c:765 logsrvd/logsrvd_relay.c:512 #: logsrvd/logsrvd_relay.c:545 #, c-format msgid "unexpected state %d for %s" msgstr "予期しない状態 %d (%sの)" -#: logsrvd/logsrvd.c:455 logsrvd/logsrvd.c:492 logsrvd/logsrvd.c:524 -#: logsrvd/logsrvd.c:578 logsrvd/logsrvd.c:657 logsrvd/logsrvd.c:693 -#: logsrvd/logsrvd.c:729 logsrvd/logsrvd.c:765 logsrvd/logsrvd_relay.c:514 +#: logsrvd/logsrvd.c:456 logsrvd/logsrvd.c:493 logsrvd/logsrvd.c:525 +#: logsrvd/logsrvd.c:579 logsrvd/logsrvd.c:658 logsrvd/logsrvd.c:694 +#: logsrvd/logsrvd.c:730 logsrvd/logsrvd.c:766 logsrvd/logsrvd_relay.c:514 #: logsrvd/logsrvd_relay.c:547 msgid "state machine error" msgstr "状態マシンエラー" -#: logsrvd/logsrvd.c:461 logsrvd/logsrvd.c:462 +#: logsrvd/logsrvd.c:462 logsrvd/logsrvd.c:463 msgid "invalid AcceptMessage" msgstr "無効な AcceptMessage" -#: logsrvd/logsrvd.c:498 logsrvd/logsrvd.c:499 +#: logsrvd/logsrvd.c:499 logsrvd/logsrvd.c:500 msgid "invalid RejectMessage" msgstr "無効な RejectMessage" -#: logsrvd/logsrvd.c:530 logsrvd/logsrvd.c:531 +#: logsrvd/logsrvd.c:531 logsrvd/logsrvd.c:532 msgid "invalid ExitMessage" msgstr "無効な ExitMessage" -#: logsrvd/logsrvd.c:584 logsrvd/logsrvd.c:585 +#: logsrvd/logsrvd.c:585 logsrvd/logsrvd.c:586 msgid "invalid RestartMessage" msgstr "無効な RestartMessage" -#: logsrvd/logsrvd.c:619 logsrvd/logsrvd.c:620 +#: logsrvd/logsrvd.c:620 logsrvd/logsrvd.c:621 msgid "invalid AlertMessage" msgstr "無効な AlertMessage" -#: logsrvd/logsrvd.c:661 logsrvd/logsrvd.c:697 logsrvd/logsrvd.c:733 +#: logsrvd/logsrvd.c:662 logsrvd/logsrvd.c:698 logsrvd/logsrvd.c:734 #, c-format msgid "%s: unexpected IoBuffer" msgstr "%s: 予期しない IoBuffer" -#: logsrvd/logsrvd.c:662 logsrvd/logsrvd.c:698 logsrvd/logsrvd.c:734 +#: logsrvd/logsrvd.c:663 logsrvd/logsrvd.c:699 logsrvd/logsrvd.c:735 msgid "protocol error" msgstr "プロトコルエラーです" -#: logsrvd/logsrvd.c:668 logsrvd/logsrvd.c:669 +#: logsrvd/logsrvd.c:669 logsrvd/logsrvd.c:670 msgid "invalid IoBuffer" msgstr "無効な IoBuffer です" -#: logsrvd/logsrvd.c:704 logsrvd/logsrvd.c:705 +#: logsrvd/logsrvd.c:705 logsrvd/logsrvd.c:706 msgid "invalid ChangeWindowSize" msgstr "無効な ChangeWindowSize" -#: logsrvd/logsrvd.c:740 logsrvd/logsrvd.c:741 +#: logsrvd/logsrvd.c:741 logsrvd/logsrvd.c:742 msgid "invalid CommandSuspend" msgstr "無効な CommandSuspend" -#: logsrvd/logsrvd.c:790 logsrvd/logsrvd_journal.c:302 -#: logsrvd/logsrvd_relay.c:654 logsrvd/sendlog.c:1207 -#: plugins/sudoers/log_client.c:1593 +#: logsrvd/logsrvd.c:791 logsrvd/logsrvd_journal.c:302 +#: logsrvd/logsrvd_relay.c:654 logsrvd/sendlog.c:1232 +#: plugins/sudoers/log_client.c:1616 #, c-format msgid "unable to unpack %s size %zu" msgstr "%s を伸長できません (長さ %zu )" -#: logsrvd/logsrvd.c:835 logsrvd/logsrvd_journal.c:376 +#: logsrvd/logsrvd.c:836 logsrvd/logsrvd_journal.c:376 #: logsrvd/logsrvd_relay.c:678 #, c-format msgid "unexpected type_case value %d in %s from %s" msgstr "予期しない type_case の値 %d が %s の中にあります、 %s から出てきたものです。" -#: logsrvd/logsrvd.c:837 +#: logsrvd/logsrvd.c:838 msgid "unrecognized ClientMessage type" msgstr "認識できないクライアントメッセージのタイプです" -#: logsrvd/logsrvd.c:927 +#: logsrvd/logsrvd.c:928 #, c-format msgid "timed out writing to client %s" msgstr "クライアント %s への書き込みがタイムアウト" -#: logsrvd/logsrvd.c:932 logsrvd/logsrvd_relay.c:919 logsrvd/sendlog.c:1413 +#: logsrvd/logsrvd.c:933 logsrvd/logsrvd_relay.c:919 logsrvd/sendlog.c:1438 #, c-format msgid "missing write buffer for client %s" msgstr "クライアント %s への書き込みバッファがありません" -#: logsrvd/logsrvd.c:1027 +#: logsrvd/logsrvd.c:1028 #, c-format msgid "timed out reading from client %s" msgstr "クライアント %s からの読み込みがタイムアウト" -#: logsrvd/logsrvd.c:1068 logsrvd/logsrvd_relay.c:782 +#: logsrvd/logsrvd.c:1069 logsrvd/logsrvd_relay.c:782 #, c-format msgid "EOF from %s without proper TLS shutdown" msgstr "%s からの EOF が適切な TLS 通信の終了なしに現れました" -#: logsrvd/logsrvd.c:1112 logsrvd/logsrvd_relay.c:205 logsrvd/sendlog.c:336 -#: plugins/sudoers/log_client.c:723 +#: logsrvd/logsrvd.c:1113 logsrvd/logsrvd_relay.c:205 logsrvd/sendlog.c:336 +#: plugins/sudoers/log_client.c:732 #, c-format msgid "client message too large: %zu" msgstr "クライアントメッセージが大き過ぎます: %zu" -#: logsrvd/logsrvd.c:1113 logsrvd/logsrvd_journal.c:259 +#: logsrvd/logsrvd.c:1114 logsrvd/logsrvd_journal.c:259 #: logsrvd/logsrvd_journal.c:260 msgid "client message too large" msgstr "クライアントメッセージが大き過ぎます" -#: logsrvd/logsrvd.c:1131 logsrvd/logsrvd.c:1132 +#: logsrvd/logsrvd.c:1132 logsrvd/logsrvd.c:1133 msgid "invalid ClientMessage" msgstr "無効な ClientMessage" -#: logsrvd/logsrvd.c:1432 +#: logsrvd/logsrvd.c:1442 msgid "unable to get remote IP addr" msgstr "リモートIPアドレスを取得できません" -#: logsrvd/logsrvd.c:1463 logsrvd/tls_client.c:203 -#: plugins/sudoers/log_client.c:281 +#: logsrvd/logsrvd.c:1473 logsrvd/tls_client.c:212 +#: plugins/sudoers/log_client.c:290 #, c-format msgid "Unable to attach user data to the ssl object: %s" msgstr "ユーザーデータをSSLオブジェクトに添付することができません: %s" -#: logsrvd/logsrvd.c:1646 logsrvd/logsrvd.c:2007 +#: logsrvd/logsrvd.c:1656 logsrvd/logsrvd.c:2050 msgid "unable to setup listen socket" msgstr "接続待ちソケットを準備できません" -#: logsrvd/logsrvd.c:1766 +#: logsrvd/logsrvd.c:1776 #, c-format msgid "unexpected signal %d" msgstr "予期しないシグナル %d" -#: logsrvd/logsrvd.c:1909 +#: logsrvd/logsrvd.c:1949 msgid "sudo log server" msgstr "Sudo ログサーバー" -#: logsrvd/logsrvd.c:1911 logsrvd/sendlog.c:126 +#: logsrvd/logsrvd.c:1951 logsrvd/sendlog.c:126 msgid "Options:" msgstr "オプション:" -#: logsrvd/logsrvd.c:1913 +#: logsrvd/logsrvd.c:1953 msgid "path to configuration file" msgstr "設定ファイルのパス" -#: logsrvd/logsrvd.c:1915 logsrvd/sendlog.c:128 +#: logsrvd/logsrvd.c:1955 logsrvd/sendlog.c:128 msgid "display help message and exit" msgstr "ヘルプメッセージを表示して終了する" -#: logsrvd/logsrvd.c:1917 +#: logsrvd/logsrvd.c:1957 msgid "do not fork, run in the foreground" msgstr "フォークせずに、フォアグラウンドで実行する" -#: logsrvd/logsrvd.c:1919 +#: logsrvd/logsrvd.c:1959 msgid "percent chance connections will drop" msgstr "接続が切れる割合(%)" -#: logsrvd/logsrvd.c:1921 logsrvd/sendlog.c:158 +#: logsrvd/logsrvd.c:1961 logsrvd/sendlog.c:158 msgid "display version information and exit" msgstr "バージョン情報を表示して終了する" -#: logsrvd/logsrvd.c:1971 logsrvd/sendlog.c:1722 +#: logsrvd/logsrvd.c:2011 logsrvd/sendlog.c:1747 msgid "Protobuf-C version 1.3 or higher required" msgstr "Protobuf-C バージョン 1.3 以上が必要です" -#: logsrvd/logsrvd.c:1987 +#: logsrvd/logsrvd.c:2027 #, c-format msgid "invalid random drop value: %s" msgstr "無効な乱数ドロップ値です: %s" -#: logsrvd/logsrvd.c:1990 logsrvd/sendlog.c:1776 +#: logsrvd/logsrvd.c:2030 logsrvd/sendlog.c:1801 #: plugins/sudoers/cvtsudoers.c:250 plugins/sudoers/sudoreplay.c:294 #: plugins/sudoers/visudo.c:181 #, c-format @@ -948,16 +942,16 @@ msgstr "%s バージョン %s\n" #: logsrvd/logsrvd_conf.c:422 plugins/sudoers/check.c:69 #: plugins/sudoers/exptilde.c:85 plugins/sudoers/iolog.c:122 -#: plugins/sudoers/sudoers.c:419 plugins/sudoers/sudoers.c:929 -#: plugins/sudoers/sudoers.c:1034 plugins/sudoers/sudoers.c:1424 +#: plugins/sudoers/sudoers.c:419 plugins/sudoers/sudoers.c:946 +#: plugins/sudoers/sudoers.c:1052 plugins/sudoers/sudoers.c:1442 #: plugins/sudoers/testsudoers.c:169 plugins/sudoers/testsudoers.c:285 -#: plugins/sudoers/testsudoers.c:459 +#: plugins/sudoers/testsudoers.c:459 plugins/sudoers/tsdump.c:131 #, c-format msgid "unknown user %s" msgstr "不明なユーザー %s" #: logsrvd/logsrvd_conf.c:439 plugins/sudoers/iolog.c:148 -#: plugins/sudoers/sudoers.c:425 plugins/sudoers/sudoers.c:1458 +#: plugins/sudoers/sudoers.c:425 plugins/sudoers/sudoers.c:1476 #: plugins/sudoers/testsudoers.c:483 #, c-format msgid "unknown group %s" @@ -968,7 +962,7 @@ msgstr "不明なグループ %s" msgid "unable to parse iolog mode %s" msgstr "iolog モード %s を解析できません" -#: logsrvd/logsrvd_conf.c:474 logsrvd/logsrvd_conf.c:1243 +#: logsrvd/logsrvd_conf.c:474 logsrvd/logsrvd_conf.c:1248 #, c-format msgid "invalid value for %s: %s" msgstr "%s には無効な値: %s" @@ -982,65 +976,65 @@ msgstr "TLS がサポートされていません" msgid "%s:%s" msgstr "%s:%s" -#: logsrvd/logsrvd_conf.c:622 logsrvd/logsrvd_conf.c:1032 +#: logsrvd/logsrvd_conf.c:622 logsrvd/logsrvd_conf.c:1037 #, c-format msgid "%s: not a fully qualified path" msgstr "%s: 完全修飾パスではありません" -#: logsrvd/logsrvd_conf.c:951 logsrvd/logsrvd_conf.c:967 -#: logsrvd/logsrvd_conf.c:1676 +#: logsrvd/logsrvd_conf.c:956 logsrvd/logsrvd_conf.c:972 +#: logsrvd/logsrvd_conf.c:1681 #, c-format msgid "unknown syslog facility %s" msgstr "未知の syslog ファシリティ %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 +#: logsrvd/logsrvd_conf.c:988 logsrvd/logsrvd_conf.c:1004 +#: logsrvd/logsrvd_conf.c:1020 logsrvd/logsrvd_conf.c:1685 +#: logsrvd/logsrvd_conf.c:1689 logsrvd/logsrvd_conf.c:1693 #, c-format msgid "unknown syslog priority %s" msgstr "未知の syslog プライオリティ %s" -#: logsrvd/logsrvd_conf.c:1197 +#: logsrvd/logsrvd_conf.c:1202 #, c-format msgid "%s:%d unmatched '[': %s" msgstr "%s:%d 対応しない '[': %s" -#: logsrvd/logsrvd_conf.c:1203 +#: logsrvd/logsrvd_conf.c:1208 #, c-format msgid "%s:%d garbage after ']': %s" msgstr "%s:%d ']' の後に余計なものがあります: %s" -#: logsrvd/logsrvd_conf.c:1215 +#: logsrvd/logsrvd_conf.c:1220 #, c-format msgid "%s:%d invalid config section: %s" msgstr "%s:%d 無効な config セクション: %s" -#: logsrvd/logsrvd_conf.c:1223 +#: logsrvd/logsrvd_conf.c:1228 #, c-format msgid "%s:%d invalid configuration line: %s" msgstr "%s:%d 無効な設定の行: %s" -#: logsrvd/logsrvd_conf.c:1229 +#: logsrvd/logsrvd_conf.c:1234 #, c-format msgid "%s:%d expected section name: %s" msgstr "%s:%d セクション名が必要です: %s" -#: logsrvd/logsrvd_conf.c:1251 +#: logsrvd/logsrvd_conf.c:1256 #, c-format msgid "%s:%d [%s] illegal key: %s" msgstr "%s:%d [%s] 適合しないキー: %s" -#: logsrvd/logsrvd_conf.c:1281 plugins/sudoers/cvtsudoers.c:273 -#: plugins/sudoers/logging.c:1076 +#: logsrvd/logsrvd_conf.c:1286 plugins/sudoers/cvtsudoers.c:273 +#: plugins/sudoers/logging.c:1087 #, c-format msgid "unable to open log file %s" msgstr "ログファイル %s を開けません" -#: logsrvd/logsrvd_conf.c:1763 +#: logsrvd/logsrvd_conf.c:1768 msgid "unable to initialize server TLS context" msgstr "サーバーTLSコンテキストを初期化できません" -#: logsrvd/logsrvd_conf.c:1783 +#: logsrvd/logsrvd_conf.c:1788 msgid "unable to initialize relay TLS context" msgstr "リレーTLSコンテキストを初期化できません" @@ -1144,7 +1138,7 @@ msgstr "タイミングバッファーを書式整形できません、長さ %d #: logsrvd/logsrvd_local.c:601 logsrvd/logsrvd_local.c:609 #: logsrvd/logsrvd_local.c:657 logsrvd/logsrvd_local.c:692 -#: plugins/sudoers/sudoreplay.c:344 toke.l:981 toke.l:984 +#: plugins/sudoers/sudoreplay.c:344 toke.l:961 toke.l:964 #, c-format msgid "%s/%s: %s" msgstr "%s/%s: %s" @@ -1178,8 +1172,8 @@ msgstr "リレーホストに接続できません" msgid "%s: invalid ServerHello, missing server_id" msgstr "%s: 無効な ServerHello です、server_id がありません" -#: logsrvd/logsrvd_relay.c:522 logsrvd/sendlog.c:1111 -#: plugins/sudoers/log_client.c:1479 +#: logsrvd/logsrvd_relay.c:522 logsrvd/sendlog.c:1136 +#: plugins/sudoers/log_client.c:1502 msgid "invalid ServerHello" msgstr "無効な ServerHello です" @@ -1283,7 +1277,7 @@ msgstr "この時間になったら転送を止める" msgid "test audit server by sending selected I/O log n times in parallel" msgstr "選んだ I/O ログを n 重に並列送信することで監査サーバーを試験する" -#: logsrvd/sendlog.c:181 plugins/sudoers/log_client.c:453 +#: logsrvd/sendlog.c:181 plugins/sudoers/log_client.c:462 #, c-format msgid "unable to look up %s:%s: %s" msgstr "警告: %s:%s を参照できません: %s" @@ -1292,108 +1286,108 @@ msgstr "警告: %s:%s を参照できません: %s" msgid "unable to get server IP addr" msgstr "サーバーのIPアドレスを取得できません" -#: logsrvd/sendlog.c:314 plugins/sudoers/sudoreplay.c:868 +#: logsrvd/sendlog.c:314 plugins/sudoers/sudoreplay.c:870 #, c-format msgid "unable to read %s/%s: %s" msgstr "%s/%s から読み込むことができません: %s" -#: logsrvd/sendlog.c:1035 plugins/sudoers/iolog.c:959 -#: plugins/sudoers/iolog.c:1034 +#: logsrvd/sendlog.c:1060 plugins/sudoers/iolog.c:967 +#: plugins/sudoers/iolog.c:1042 #, c-format msgid "unexpected I/O event %d" msgstr "予期しない I/O イベント %d" -#: logsrvd/sendlog.c:1088 logsrvd/sendlog.c:1105 logsrvd/sendlog.c:1139 -#: plugins/sudoers/log_client.c:1129 plugins/sudoers/log_client.c:1405 -#: plugins/sudoers/log_client.c:1473 plugins/sudoers/log_client.c:1512 +#: logsrvd/sendlog.c:1113 logsrvd/sendlog.c:1130 logsrvd/sendlog.c:1164 +#: plugins/sudoers/log_client.c:1152 plugins/sudoers/log_client.c:1428 +#: plugins/sudoers/log_client.c:1496 plugins/sudoers/log_client.c:1535 #, c-format msgid "%s: unexpected state %d" msgstr "%s: 予期しない状態 %d" -#: logsrvd/sendlog.c:1175 plugins/sudoers/log_client.c:1561 +#: logsrvd/sendlog.c:1200 plugins/sudoers/log_client.c:1584 #, c-format msgid "error message received from server: %s" msgstr "サーバからエラーメッセージを受け取りました: %s" -#: logsrvd/sendlog.c:1188 plugins/sudoers/log_client.c:1574 +#: logsrvd/sendlog.c:1213 plugins/sudoers/log_client.c:1597 #, c-format msgid "abort message received from server: %s" msgstr "サーバから中断メッセージを受け取りました: %s" -#: logsrvd/sendlog.c:1247 plugins/sudoers/log_client.c:1624 +#: logsrvd/sendlog.c:1272 plugins/sudoers/log_client.c:1647 #, c-format msgid "%s: unexpected type_case value %d" msgstr "%s: 予期しない type_case の値 %d" -#: logsrvd/sendlog.c:1276 +#: logsrvd/sendlog.c:1301 msgid "timeout reading from server" msgstr "サーバーからの読み込みがタイムアウト" -#: logsrvd/sendlog.c:1327 plugins/sudoers/log_client.c:1747 +#: logsrvd/sendlog.c:1352 plugins/sudoers/log_client.c:1770 msgid "host name does not match certificate" msgstr "ホスト名が証明書と一致しません" -#: logsrvd/sendlog.c:1361 +#: logsrvd/sendlog.c:1386 msgid "premature EOF" msgstr "早すぎるファイル終端 (EOF)" -#: logsrvd/sendlog.c:1374 plugins/sudoers/log_client.c:1795 +#: logsrvd/sendlog.c:1399 plugins/sudoers/log_client.c:1818 #, c-format msgid "server message too large: %u" msgstr "サーバーメッセージが大き過ぎます: %u" -#: logsrvd/sendlog.c:1430 +#: logsrvd/sendlog.c:1455 msgid "timeout writing to server" msgstr "サーバーへの書き込みがタイムアウト" -#: logsrvd/sendlog.c:1800 +#: logsrvd/sendlog.c:1825 msgid "both restart point and iolog ID must be specified" msgstr "再開するポイントとIOログIDを指定する必要があります" -#: logsrvd/sendlog.c:1804 +#: logsrvd/sendlog.c:1829 msgid "a restart point may not be set when no I/O is sent" msgstr "I/Oが送られない場合は再開するポイントを設定できません" -#: logsrvd/sendlog.c:1880 +#: logsrvd/sendlog.c:1905 #, c-format msgid "exited prematurely with state %d" msgstr "ステータス %d で予期せぬ終了をしました" -#: logsrvd/sendlog.c:1881 +#: logsrvd/sendlog.c:1906 #, c-format msgid "elapsed time sent to server [%lld, %ld]" msgstr "サーバーに送られた経過時間 [%lld, %ld]" -#: logsrvd/sendlog.c:1883 +#: logsrvd/sendlog.c:1908 #, c-format msgid "commit point received from server [%lld, %ld]" msgstr "サーバーから受け取ったコミットポイント [%lld, %ld]" -#: logsrvd/tls_client.c:111 plugins/sudoers/log_client.c:315 +#: logsrvd/tls_client.c:120 plugins/sudoers/log_client.c:324 msgid "TLS handshake timeout occurred" msgstr "TLS ハンドシェイクでタイムアウトが発生" -#: logsrvd/tls_client.c:131 logsrvd/tls_client.c:147 -#: plugins/sudoers/log_client.c:337 plugins/sudoers/log_client.c:353 +#: logsrvd/tls_client.c:140 logsrvd/tls_client.c:156 +#: plugins/sudoers/log_client.c:346 plugins/sudoers/log_client.c:362 msgid "unable to set event" msgstr "イベントを設定できません" -#: logsrvd/tls_client.c:157 logsrvd/tls_client.c:161 +#: logsrvd/tls_client.c:166 logsrvd/tls_client.c:170 #, c-format msgid "TLS connection failed: %s" msgstr "TLS接続に失敗しました: %s" -#: logsrvd/tls_client.c:196 +#: logsrvd/tls_client.c:205 #, c-format msgid "unable to allocate ssl object: %s" msgstr "SSLオブジェクトを割り当てることができません: %s" -#: logsrvd/tls_client.c:210 +#: logsrvd/tls_client.c:219 #, c-format msgid "Unable to attach socket to the ssl object: %s" msgstr "ソケットをSSLオブジェクトに取り付けることができません: %s" -#: logsrvd/tls_client.c:238 +#: logsrvd/tls_client.c:247 msgid "unable to initialize TLS context" msgstr "TLS コンテキストを初期化できません" @@ -1422,12 +1416,11 @@ msgstr "TLS コンテキストを作成できません: %s" msgid "unable to set minimum protocol version to TLS 1.2: %s" msgstr "プロトコルの最小バージョンを TLS 1.2 に設定できません: %s" -#: plugins/sudoers/audit.c:272 plugins/sudoers/audit.c:452 -#: plugins/sudoers/log_client.c:962 plugins/sudoers/log_client.c:1011 -#: plugins/sudoers/log_client.c:1060 plugins/sudoers/log_client.c:1185 -#: plugins/sudoers/logging.c:614 plugins/sudoers/logging.c:732 -#: plugins/sudoers/logging.c:859 plugins/sudoers/logging.c:1031 -#: plugins/sudoers/policy.c:123 +#: plugins/sudoers/audit.c:272 plugins/sudoers/log_client.c:985 +#: plugins/sudoers/log_client.c:1034 plugins/sudoers/log_client.c:1083 +#: plugins/sudoers/log_client.c:1208 plugins/sudoers/logging.c:627 +#: plugins/sudoers/logging.c:867 plugins/sudoers/logging.c:1017 +#: plugins/sudoers/logging.c:1041 plugins/sudoers/policy.c:1055 msgid "unable to get time of day" msgstr "時刻を取得できません" @@ -1483,47 +1476,47 @@ msgstr "" "認証サーバーエラーです:\n" "%s" -#: plugins/sudoers/auth/kerb5.c:116 +#: plugins/sudoers/auth/kerb5.c:117 #, c-format msgid "%s: unable to convert principal to string ('%s'): %s" msgstr "%s: プリンシパルを文字列('%s')に変換できません: %s" -#: plugins/sudoers/auth/kerb5.c:166 +#: plugins/sudoers/auth/kerb5.c:167 #, c-format msgid "%s: unable to parse '%s': %s" msgstr "%s: '%s' を構文解析できません: %s" -#: plugins/sudoers/auth/kerb5.c:175 +#: plugins/sudoers/auth/kerb5.c:176 #, c-format msgid "%s: unable to resolve credential cache: %s" msgstr "%s: 資格情報キャッシュ を解決できません: %s" -#: plugins/sudoers/auth/kerb5.c:226 +#: plugins/sudoers/auth/kerb5.c:227 #, c-format msgid "%s: unable to allocate options: %s" msgstr "%s: オプションを設定できません: %s" -#: plugins/sudoers/auth/kerb5.c:241 +#: plugins/sudoers/auth/kerb5.c:242 #, c-format msgid "%s: unable to get credentials: %s" msgstr "%s: 資格情報を取得できません: %s" -#: plugins/sudoers/auth/kerb5.c:254 +#: plugins/sudoers/auth/kerb5.c:255 #, c-format msgid "%s: unable to initialize credential cache: %s" msgstr "%s: 資格情報キャッシュ を初期化できません: %s" -#: plugins/sudoers/auth/kerb5.c:257 +#: plugins/sudoers/auth/kerb5.c:258 #, c-format msgid "%s: unable to store credential in cache: %s" msgstr "%s: 資格情報をキャッシュできません: %s" -#: plugins/sudoers/auth/kerb5.c:322 +#: plugins/sudoers/auth/kerb5.c:324 #, c-format msgid "%s: unable to get host principal: %s" msgstr "%s: ホストプリンシパルを取得できません: %s" -#: plugins/sudoers/auth/kerb5.c:336 +#: plugins/sudoers/auth/kerb5.c:338 #, c-format msgid "%s: Cannot verify TGT! Possible attack!: %s" msgstr "%s: TGT を検証できません! おそらく攻撃です!: %s" @@ -1601,7 +1594,7 @@ msgstr "不明な SecurID エラーです" msgid "invalid passcode length for SecurID" msgstr "SecurID 用のパスコード長が無効です" -#: plugins/sudoers/auth/sia.c:72 plugins/sudoers/auth/sia.c:130 +#: plugins/sudoers/auth/sia.c:72 plugins/sudoers/auth/sia.c:131 msgid "unable to initialize SIA session" msgstr "SIA セッションを初期化できません" @@ -1638,22 +1631,22 @@ msgid "unable to commit audit record" msgstr "監査レコードをコミットできません" #: plugins/sudoers/check.c:63 plugins/sudoers/check.c:74 -#: plugins/sudoers/lookup.c:79 plugins/sudoers/tsdump.c:119 +#: plugins/sudoers/lookup.c:79 #, c-format msgid "unknown uid %u" msgstr "不明な uid %u" -#: plugins/sudoers/check.c:277 +#: plugins/sudoers/check.c:270 #, c-format msgid "error reading lecture file %s" msgstr "講義ファイル %s の読み込みエラー" -#: plugins/sudoers/check.c:280 +#: plugins/sudoers/check.c:273 #, c-format msgid "ignoring lecture file %s: not a regular file" msgstr "講義ファイル %s を無視します: 通常ファイルではありません" -#: plugins/sudoers/check.c:293 +#: plugins/sudoers/check.c:286 msgid "" "\n" "We trust you have received the usual lecture from the local System\n" @@ -1673,7 +1666,7 @@ msgstr "" " #3) 大いなる力には大いなる責任が伴うこと。\n" "\n" -#: plugins/sudoers/check.c:301 +#: plugins/sudoers/check.c:294 msgid "" "For security reasons, the password you type will not be visible.\n" "\n" @@ -1760,13 +1753,13 @@ msgstr "無効なフィルターです: %s" msgid "failed to parse %s file, unknown error" msgstr "%s ファイルの構文解析に失敗しました。不明なエラーです" -#: plugins/sudoers/cvtsudoers.c:1508 plugins/sudoers/sudoreplay.c:1143 +#: plugins/sudoers/cvtsudoers.c:1504 plugins/sudoers/sudoreplay.c:1145 #: plugins/sudoers/timestamp.c:353 plugins/sudoers/timestamp.c:356 #, c-format msgid "unable to write to %s" msgstr "%s へ書き込むことができません" -#: plugins/sudoers/cvtsudoers.c:1536 +#: plugins/sudoers/cvtsudoers.c:1532 #, c-format msgid "" "%s - convert between sudoers file formats\n" @@ -1775,7 +1768,7 @@ msgstr "" "%s - sudoers ファイル形式間での変換を行う\n" "\n" -#: plugins/sudoers/cvtsudoers.c:1538 +#: plugins/sudoers/cvtsudoers.c:1534 msgid "" "\n" "Options:\n" @@ -1816,818 +1809,837 @@ msgstr "" " -V, --version バージョン情報を表示して終了する" #: plugins/sudoers/cvtsudoers_csv.c:192 plugins/sudoers/cvtsudoers_csv.c:199 -#: plugins/sudoers/cvtsudoers_ldif.c:245 plugins/sudoers/cvtsudoers_ldif.c:252 -#: plugins/sudoers/cvtsudoers_ldif.c:594 plugins/sudoers/env.c:340 -#: plugins/sudoers/env.c:347 plugins/sudoers/env.c:458 +#: plugins/sudoers/cvtsudoers_ldif.c:270 plugins/sudoers/cvtsudoers_ldif.c:277 +#: plugins/sudoers/cvtsudoers_ldif.c:628 plugins/sudoers/env.c:357 +#: plugins/sudoers/env.c:364 plugins/sudoers/env.c:475 #: plugins/sudoers/ldap.c:511 plugins/sudoers/ldap.c:629 #: plugins/sudoers/ldap.c:1003 plugins/sudoers/ldap_conf.c:219 -#: plugins/sudoers/ldap_conf.c:310 plugins/sudoers/ldap_util.c:486 -#: plugins/sudoers/linux_audit.c:93 plugins/sudoers/logging.c:479 -#: plugins/sudoers/policy.c:828 plugins/sudoers/policy.c:840 +#: plugins/sudoers/ldap_conf.c:310 plugins/sudoers/ldap_util.c:483 +#: plugins/sudoers/linux_audit.c:93 plugins/sudoers/logging.c:487 +#: plugins/sudoers/policy.c:836 plugins/sudoers/policy.c:848 #: plugins/sudoers/prompt.c:169 plugins/sudoers/serialize_list.c:62 #: plugins/sudoers/serialize_list.c:71 plugins/sudoers/strvec_join.c:62 -#: plugins/sudoers/sudoreplay.c:1340 plugins/sudoers/sudoreplay.c:1346 -#: plugins/sudoers/sudoreplay.c:1352 plugins/sudoers/testsudoers.c:306 -#: plugins/sudoers/toke_util.c:217 toke.l:995 toke.l:1277 +#: plugins/sudoers/sudoreplay.c:1342 plugins/sudoers/sudoreplay.c:1348 +#: plugins/sudoers/sudoreplay.c:1354 plugins/sudoers/testsudoers.c:306 +#: plugins/sudoers/toke_util.c:217 toke.l:975 toke.l:1257 #, c-format msgid "internal error, %s overflow" msgstr "内部エラー、%s がオーバーフローしました" -#: plugins/sudoers/cvtsudoers_csv.c:454 plugins/sudoers/cvtsudoers_csv.c:468 -#: plugins/sudoers/cvtsudoers_json.c:661 plugins/sudoers/cvtsudoers_json.c:676 -#: plugins/sudoers/cvtsudoers_ldif.c:349 plugins/sudoers/cvtsudoers_ldif.c:362 +#: plugins/sudoers/cvtsudoers_csv.c:481 plugins/sudoers/cvtsudoers_csv.c:495 +#: plugins/sudoers/cvtsudoers_json.c:760 plugins/sudoers/cvtsudoers_json.c:776 +#: plugins/sudoers/cvtsudoers_ldif.c:384 plugins/sudoers/cvtsudoers_ldif.c:398 #: plugins/sudoers/ldap.c:495 msgid "unable to get GMT time" msgstr "GMT 時刻を取得できません" -#: plugins/sudoers/cvtsudoers_csv.c:459 plugins/sudoers/cvtsudoers_csv.c:473 -#: plugins/sudoers/cvtsudoers_json.c:666 plugins/sudoers/cvtsudoers_json.c:681 -#: plugins/sudoers/cvtsudoers_ldif.c:354 plugins/sudoers/cvtsudoers_ldif.c:367 +#: plugins/sudoers/cvtsudoers_csv.c:486 plugins/sudoers/cvtsudoers_csv.c:500 +#: plugins/sudoers/cvtsudoers_json.c:765 plugins/sudoers/cvtsudoers_json.c:781 +#: plugins/sudoers/cvtsudoers_ldif.c:389 plugins/sudoers/cvtsudoers_ldif.c:403 #: plugins/sudoers/ldap.c:503 msgid "unable to format timestamp" msgstr "タイムスタンプを書式整形できません" -#: plugins/sudoers/cvtsudoers_json.c:481 plugins/sudoers/cvtsudoers_json.c:516 -#: plugins/sudoers/cvtsudoers_json.c:732 +#: plugins/sudoers/cvtsudoers_json.c:547 plugins/sudoers/cvtsudoers_json.c:588 +#: plugins/sudoers/cvtsudoers_json.c:841 #, c-format msgid "%s:%d:%d: unknown defaults entry \"%s\"" msgstr "%s:%d:%d: 未知のデフォルト項目 \"%s\" です" -#: plugins/sudoers/cvtsudoers_ldif.c:663 +#: plugins/sudoers/cvtsudoers_ldif.c:116 +#, c-format +msgid "unable to base64 encode value \"%s\"" +msgstr "値 \"%s\" をBase64変換できません" + +#: plugins/sudoers/cvtsudoers_ldif.c:595 +#, c-format +msgid "internal error, unable insert user %s" +msgstr "内部エラー、ユーザー %s を挿入できません" + +#: plugins/sudoers/cvtsudoers_ldif.c:702 #, c-format msgid "too many sudoers entries, maximum %u" msgstr "sudoers の項目が多すぎます、最大は %u です。" -#: plugins/sudoers/cvtsudoers_ldif.c:706 +#: plugins/sudoers/cvtsudoers_ldif.c:747 msgid "the SUDOERS_BASE environment variable is not set and the -b option was not specified." msgstr "SUDOERS_BASE 環境変数が設定されておらず -b オプションも指定されていません。" -#: plugins/sudoers/cvtsudoers_merge.c:273 -#: plugins/sudoers/cvtsudoers_merge.c:309 +#: plugins/sudoers/cvtsudoers_merge.c:275 +#: plugins/sudoers/cvtsudoers_merge.c:313 #, c-format msgid "%s:%d:%d: converting host list to ALL" msgstr "%s:%d:%d: ホストのリスト を ALL に変換しています" -#: plugins/sudoers/cvtsudoers_merge.c:545 +#: plugins/sudoers/cvtsudoers_merge.c:568 #, c-format msgid "unable to find alias %s" msgstr "エイリアス %s が見つかりません" -#: plugins/sudoers/cvtsudoers_merge.c:548 +#: plugins/sudoers/cvtsudoers_merge.c:572 #, c-format msgid "%s:%d:%d: renaming alias %s to %s" msgstr "%s:%d:%d: エイリアスの名前 %s を %s に変更しています" -#: plugins/sudoers/cvtsudoers_merge.c:605 +#: plugins/sudoers/cvtsudoers_merge.c:634 #, c-format msgid "%s:%d:%d: removing duplicate alias %s" msgstr "%s:%d:%d: 重複したエイリアス %s を削除しています" -#: plugins/sudoers/cvtsudoers_merge.c:830 +#: plugins/sudoers/cvtsudoers_merge.c:868 #, c-format msgid "%s:%d:%d: conflicting Defaults entry \"%s\" host-specific in %s:%d:%d" msgstr "%s:%d:%d: Defaults のエントリー \"%s\" が %s:%d:%d にある ホスト特定指定sと衝突しています" -#: plugins/sudoers/cvtsudoers_merge.c:864 +#: plugins/sudoers/cvtsudoers_merge.c:904 #, c-format msgid "%s:%d:%d: made Defaults \"%s\" specific to host %s" msgstr "%s:%d:%d: Defaults \"%s\" をホスト %s に特有のものとしました。" -#: plugins/sudoers/cvtsudoers_merge.c:882 +#: plugins/sudoers/cvtsudoers_merge.c:922 #, c-format msgid "%s:%d:%d: unable to make Defaults \"%s\" host-specific" msgstr "%s:%d:%d: Defaults \"%s\" をホストに特有のものにできません" -#: plugins/sudoers/cvtsudoers_merge.c:892 +#: plugins/sudoers/cvtsudoers_merge.c:932 #, c-format msgid "%s:%d:%d: removing Defaults \"%s\" overridden by subsequent entries" msgstr "%s:%d:%d: 後続のエントリーで上書きされた Defaults の \"%s\" を削除しています" -#: plugins/sudoers/cvtsudoers_merge.c:1088 +#: plugins/sudoers/cvtsudoers_merge.c:1128 #, 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:1182 +#: plugins/sudoers/cvtsudoers_merge.c:1224 #, c-format msgid "%s:%d:%d: removing userspec overridden by subsequent entries" msgstr "%s:%d:%d: 後続のエントリーで上書きされた userspec を削除しています" -#: plugins/sudoers/def_data.c:56 +#: plugins/sudoers/def_data.c:58 #, c-format msgid "Syslog facility if syslog is being used for logging: %s" msgstr "ログ記録時に syslog を使用する場合の syslog ファシリティ: %s" -#: plugins/sudoers/def_data.c:60 +#: plugins/sudoers/def_data.c:62 #, c-format msgid "Syslog priority to use when user authenticates successfully: %s" msgstr "ログ記録時に syslog を使用する場合の syslog プライオリティ: %s" -#: plugins/sudoers/def_data.c:64 +#: plugins/sudoers/def_data.c:66 #, c-format msgid "Syslog priority to use when user authenticates unsuccessfully: %s" msgstr "ユーザー認証に失敗したと時に使用される syslog プライオリティ: %s" -#: plugins/sudoers/def_data.c:68 +#: plugins/sudoers/def_data.c:70 msgid "Put OTP prompt on its own line" msgstr "ワンタイムパスワード入力要求をそれのみの行に表示します" -#: plugins/sudoers/def_data.c:72 +#: plugins/sudoers/def_data.c:74 msgid "Ignore '.' in $PATH" msgstr "$PATH 内にある '.' を無視します" -#: plugins/sudoers/def_data.c:76 +#: plugins/sudoers/def_data.c:78 msgid "Always send mail when sudo is run" msgstr "sudo を実行した時に、常にメールを送信します" -#: plugins/sudoers/def_data.c:80 +#: plugins/sudoers/def_data.c:82 msgid "Send mail if user authentication fails" msgstr "ユーザー認証に失敗した場合にメールを送信します" -#: plugins/sudoers/def_data.c:84 +#: plugins/sudoers/def_data.c:86 msgid "Send mail if the user is not in sudoers" msgstr "ユーザー他 sudoers 内に存在しない場合にメールを送信します" -#: plugins/sudoers/def_data.c:88 +#: plugins/sudoers/def_data.c:90 msgid "Send mail if the user is not in sudoers for this host" msgstr "ユーザーがこのホスト用の sudoers 内に存在しない場合にメールを送信します" -#: plugins/sudoers/def_data.c:92 +#: plugins/sudoers/def_data.c:94 msgid "Send mail if the user is not allowed to run a command" msgstr "ユーザーが許可されていないコマンドを実行しようとした場合にメールを送信します" -#: plugins/sudoers/def_data.c:96 +#: plugins/sudoers/def_data.c:98 msgid "Send mail if the user tries to run a command" msgstr "ユーザーがマンドを実行しようとした場合にメールを送信します" -#: plugins/sudoers/def_data.c:100 +#: plugins/sudoers/def_data.c:102 msgid "Use a separate timestamp for each user/tty combo" msgstr "ユーザー/tty の組み合わせごとに分離したタイムスタンプを使用します" -#: plugins/sudoers/def_data.c:104 +#: plugins/sudoers/def_data.c:106 msgid "Lecture user the first time they run sudo" msgstr "ユーザーが最初に sudo を実行した時に講義を行う" -#: plugins/sudoers/def_data.c:108 +#: plugins/sudoers/def_data.c:110 #, c-format msgid "File containing the sudo lecture: %s" msgstr "sudo の講義が含まれているファイル: %s" -#: plugins/sudoers/def_data.c:112 +#: plugins/sudoers/def_data.c:114 msgid "Require users to authenticate by default" msgstr "デフォルトでユーザーが認証されていることを必要とします" -#: plugins/sudoers/def_data.c:116 +#: plugins/sudoers/def_data.c:118 msgid "Root may run sudo" msgstr "root が sudo を実行するかもしれません" -#: plugins/sudoers/def_data.c:120 +#: plugins/sudoers/def_data.c:122 msgid "Log the hostname in the (non-syslog) log file" msgstr " ログファイル (syslog 以外) に記録する時にホスト名を含めます" -#: plugins/sudoers/def_data.c:124 +#: plugins/sudoers/def_data.c:126 msgid "Log the year in the (non-syslog) log file" msgstr "ログファイル (syslog 以外) に記録する時に年情報を含めます" -#: plugins/sudoers/def_data.c:128 +#: plugins/sudoers/def_data.c:130 msgid "If sudo is invoked with no arguments, start a shell" msgstr "sudo を引数無しで起動した場合、シェルを開始します" -#: plugins/sudoers/def_data.c:132 +#: plugins/sudoers/def_data.c:134 msgid "Set $HOME to the target user when starting a shell with -s" msgstr "シェルを -s で開始した時に $HOME を変更後のユーザーのホームディレクトリに設定します" -#: plugins/sudoers/def_data.c:136 +#: plugins/sudoers/def_data.c:138 msgid "Always set $HOME to the target user's home directory" msgstr "$HOME を常に変更後のユーザーのホームディレクトリに設定します" -#: plugins/sudoers/def_data.c:140 +#: plugins/sudoers/def_data.c:142 msgid "Allow some information gathering to give useful error messages" msgstr "役に立つエラーメッセージを表示するためにいくつかの情報を収集することを許可します" -#: plugins/sudoers/def_data.c:144 +#: plugins/sudoers/def_data.c:146 msgid "Require fully-qualified hostnames in the sudoers file" msgstr "sudoers ファイルに完全修飾ホスト名 (FQDN) を要求します" -#: plugins/sudoers/def_data.c:148 +#: plugins/sudoers/def_data.c:150 msgid "Insult the user when they enter an incorrect password" msgstr "間違ったパスワードを入力した時にユーザーを侮辱します" -#: plugins/sudoers/def_data.c:152 +#: plugins/sudoers/def_data.c:154 msgid "Only allow the user to run sudo if they have a tty" msgstr "tty がある場合のみ sudo の実行を許可します" -#: plugins/sudoers/def_data.c:156 +#: plugins/sudoers/def_data.c:158 msgid "Visudo will honor the EDITOR environment variable" msgstr "visudo が EDITOR 環境変数を尊重して使用します" -#: plugins/sudoers/def_data.c:160 -msgid "Prompt for root's password, not the users's" +#: plugins/sudoers/def_data.c:162 +msgid "Prompt for root's password, not the user's" msgstr "ユーザーのパスワードではなく、root のパスワードの入力を要求します" -#: plugins/sudoers/def_data.c:164 -msgid "Prompt for the runas_default user's password, not the users's" +#: plugins/sudoers/def_data.c:166 +msgid "Prompt for the runas_default user's password, not the user's" msgstr "ユーザーのパスワードではなく、 runas_default ユーザーのパスワードの入力を要求します" -#: plugins/sudoers/def_data.c:168 -msgid "Prompt for the target user's password, not the users's" +#: plugins/sudoers/def_data.c:170 +msgid "Prompt for the target user's password, not the user's" msgstr "現在のユーザーのパスワードではなく、変更先ユーザーのパスワードの入力を要求します" -#: plugins/sudoers/def_data.c:172 +#: plugins/sudoers/def_data.c:174 msgid "Apply defaults in the target user's login class if there is one" msgstr "変更先ユーザーのログインクラスのデフォルトが存在する場合は、デフォルトを適用します" -#: plugins/sudoers/def_data.c:176 +#: plugins/sudoers/def_data.c:178 msgid "Set the LOGNAME and USER environment variables" msgstr "LOGNAME および USER 環境変数を設定します" -#: plugins/sudoers/def_data.c:180 +#: plugins/sudoers/def_data.c:182 msgid "Only set the effective uid to the target user, not the real uid" msgstr "実効ユーザーIDのみ変更先ユーザーの UID に設定し、実ユーザーIDは変更しない" -#: plugins/sudoers/def_data.c:184 +#: plugins/sudoers/def_data.c:186 msgid "Don't initialize the group vector to that of the target user" msgstr "グループベクトルを変更先ユーザーの値で初期化しない" -#: plugins/sudoers/def_data.c:188 +#: plugins/sudoers/def_data.c:190 #, c-format msgid "Length at which to wrap log file lines (0 for no wrap): %u" msgstr "ログファイルの行頭から改行までの長さ (0 の場合は改行しない): %u" -#: plugins/sudoers/def_data.c:192 +#: plugins/sudoers/def_data.c:194 #, c-format msgid "Authentication timestamp timeout: %.1f minutes" msgstr "認証タイムスタンプのタイムアウト値: %.1f 分" -#: plugins/sudoers/def_data.c:196 +#: plugins/sudoers/def_data.c:198 #, c-format msgid "Password prompt timeout: %.1f minutes" msgstr "パスワード入力要求のタイムアウト値: %.1f 分" -#: plugins/sudoers/def_data.c:200 +#: plugins/sudoers/def_data.c:202 #, c-format msgid "Number of tries to enter a password: %u" msgstr "パスワード入力の試行回数: %u" -#: plugins/sudoers/def_data.c:204 +#: plugins/sudoers/def_data.c:206 #, c-format msgid "Umask to use or 0777 to use user's: 0%o" msgstr "使用する umask 値 (0777 の場合はユーザーの設定値を使用します): 0%o" -#: plugins/sudoers/def_data.c:208 +#: plugins/sudoers/def_data.c:210 #, c-format msgid "Path to log file: %s" msgstr "ログファイルのパス: %s" -#: plugins/sudoers/def_data.c:212 +#: plugins/sudoers/def_data.c:214 #, c-format msgid "Path to mail program: %s" msgstr "メールプログラムのパス: %s" -#: plugins/sudoers/def_data.c:216 +#: plugins/sudoers/def_data.c:218 #, c-format msgid "Flags for mail program: %s" msgstr "メールプログラムの引数フラグ: %s" -#: plugins/sudoers/def_data.c:220 +#: plugins/sudoers/def_data.c:222 #, c-format msgid "Address to send mail to: %s" msgstr "メールの送信先アドレス: %s" -#: plugins/sudoers/def_data.c:224 +#: plugins/sudoers/def_data.c:226 #, c-format msgid "Address to send mail from: %s" msgstr "メールの送信元アドレス: %s" -#: plugins/sudoers/def_data.c:228 +#: plugins/sudoers/def_data.c:230 #, c-format msgid "Subject line for mail messages: %s" msgstr "メールの件名 (Subject) 行: %s" -#: plugins/sudoers/def_data.c:232 +#: plugins/sudoers/def_data.c:234 #, c-format msgid "Incorrect password message: %s" msgstr "パスワードを間違った時のメッセージ: %s" -#: plugins/sudoers/def_data.c:236 +#: plugins/sudoers/def_data.c:238 #, c-format msgid "Path to lecture status dir: %s" msgstr "受講状況ディレクトリのパス: %s" -#: plugins/sudoers/def_data.c:240 +#: plugins/sudoers/def_data.c:242 #, c-format msgid "Path to authentication timestamp dir: %s" msgstr "認証タイムスタンプディレクトリのパス: %s" -#: plugins/sudoers/def_data.c:244 +#: plugins/sudoers/def_data.c:246 #, c-format msgid "Owner of the authentication timestamp dir: %s" msgstr "認証タイムスタンプディレクトリの所有者: %s" -#: plugins/sudoers/def_data.c:248 +#: plugins/sudoers/def_data.c:250 #, c-format msgid "Users in this group are exempt from password and PATH requirements: %s" msgstr "パスワード入力と PATH の要求が免除されるグループに属するユーザー: %s" -#: plugins/sudoers/def_data.c:252 +#: plugins/sudoers/def_data.c:254 #, c-format msgid "Default password prompt: %s" msgstr "パスワード入力要求時に表示される文字列: %s" -#: plugins/sudoers/def_data.c:256 +#: plugins/sudoers/def_data.c:258 msgid "If set, passprompt will override system prompt in all cases." msgstr "設定した場合、すべての場合において passprompt がシステムの入力要求表示を上書きします" -#: plugins/sudoers/def_data.c:260 +#: plugins/sudoers/def_data.c:262 #, c-format msgid "Default user to run commands as: %s" msgstr "コマンドを実行するデフォルトの変更先ユーザー: %s" -#: plugins/sudoers/def_data.c:264 +#: plugins/sudoers/def_data.c:266 #, c-format msgid "Value to override user's $PATH with: %s" msgstr "ユーザーの $PATH を上書きする時の値: %s" -#: plugins/sudoers/def_data.c:268 +#: plugins/sudoers/def_data.c:270 #, c-format msgid "Path to the editor for use by visudo: %s" msgstr "visudo で使用されるエディターのパス: %s" -#: plugins/sudoers/def_data.c:272 +#: plugins/sudoers/def_data.c:274 #, c-format msgid "When to require a password for 'list' pseudocommand: %s" msgstr "'list' 疑似コマンド使用するためにパスワードを要求される時: %s" -#: plugins/sudoers/def_data.c:276 +#: plugins/sudoers/def_data.c:278 #, c-format msgid "When to require a password for 'verify' pseudocommand: %s" msgstr "'verify' 疑似コマンドを使用するためにパスワードを要求される時: %s" -#: plugins/sudoers/def_data.c:280 +#: plugins/sudoers/def_data.c:282 msgid "Preload the sudo_noexec library which replaces the exec functions" msgstr "exec 関数群を置き換える sudo_noexec ライブラリ事前ロードします" # do はたぶん強調の do -#: plugins/sudoers/def_data.c:284 +#: plugins/sudoers/def_data.c:286 msgid "If LDAP directory is up, do we ignore local sudoers file" msgstr "LDAP ディレクトリが実行中の場合、ローカルの sudoers ファイルを無視します" -#: plugins/sudoers/def_data.c:288 +#: plugins/sudoers/def_data.c:290 #, c-format msgid "File descriptors >= %d will be closed before executing a command" msgstr "%d 以上の値をもつファイル記述子をコマンド実行前に閉じます" -#: plugins/sudoers/def_data.c:292 +#: plugins/sudoers/def_data.c:294 msgid "If set, users may override the value of \"closefrom\" with the -C option" msgstr "設定しても、ユーザーが \"closefrom\" の値を -C オプションで上書きするかもしれません" -#: plugins/sudoers/def_data.c:296 +#: plugins/sudoers/def_data.c:298 msgid "Allow users to set arbitrary environment variables" msgstr "ユーザーが任意の環境変数を設定することを許可します" -#: plugins/sudoers/def_data.c:300 +#: plugins/sudoers/def_data.c:302 msgid "Reset the environment to a default set of variables" msgstr "環境変数の集合をデフォルトに設定します" -#: plugins/sudoers/def_data.c:304 +#: plugins/sudoers/def_data.c:306 msgid "Environment variables to check for safety:" msgstr "安全性の確認を行う環境変数:" -#: plugins/sudoers/def_data.c:308 +#: plugins/sudoers/def_data.c:310 msgid "Environment variables to remove:" msgstr "削除する環境変数:" -#: plugins/sudoers/def_data.c:312 +#: plugins/sudoers/def_data.c:314 msgid "Environment variables to preserve:" msgstr "保護する環境変数:" -#: plugins/sudoers/def_data.c:316 +#: plugins/sudoers/def_data.c:318 #, c-format msgid "SELinux role to use in the new security context: %s" msgstr "新しいセキュリティコンテキスト内で使用する SELinux の役割: %s" -#: plugins/sudoers/def_data.c:320 +#: plugins/sudoers/def_data.c:322 #, c-format msgid "SELinux type to use in the new security context: %s" msgstr "新しいセキュリティコンテキスト内で使用する SELinux のタイプ: %s" -#: plugins/sudoers/def_data.c:324 +#: plugins/sudoers/def_data.c:326 #, c-format msgid "Path to the sudo-specific environment file: %s" msgstr "sudo 固有の環境ファイルのパス: %s" -#: plugins/sudoers/def_data.c:328 +#: plugins/sudoers/def_data.c:330 #, c-format msgid "Path to the restricted sudo-specific environment file: %s" msgstr "制限付きsudo 固有の環境ファイルのパス: %s" -#: plugins/sudoers/def_data.c:332 +#: plugins/sudoers/def_data.c:334 #, c-format msgid "Locale to use while parsing sudoers: %s" msgstr "sudoers を構文解析する時に使用するロケール: %s" -#: plugins/sudoers/def_data.c:336 +#: plugins/sudoers/def_data.c:338 msgid "Allow sudo to prompt for a password even if it would be visible" msgstr "パスワードが表示されてしまう状態であっても sudo がパスワード入力を要求することを許可します" -#: plugins/sudoers/def_data.c:340 +#: plugins/sudoers/def_data.c:342 msgid "Provide visual feedback at the password prompt when there is user input" msgstr "パスワード入力要求でユーザーの入力があった時に、視覚的なフィードバックを提供します" -#: plugins/sudoers/def_data.c:344 +#: plugins/sudoers/def_data.c:346 msgid "Use faster globbing that is less accurate but does not access the filesystem" msgstr "ファイルシステムにアクセスしないがより正確では無い、素早い一致確認処理を行います" -#: plugins/sudoers/def_data.c:348 +#: plugins/sudoers/def_data.c:350 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:352 +#: plugins/sudoers/def_data.c:354 msgid "Log user's input for the command being run" msgstr "コマンドを実行した時のユーザー入力をログに記録します" -#: plugins/sudoers/def_data.c:356 +#: plugins/sudoers/def_data.c:358 msgid "Log the command's standard input if not connected to a terminal" msgstr "端末に接続していない場合にコマンドの標準入力をログに記録します" -#: plugins/sudoers/def_data.c:360 +#: plugins/sudoers/def_data.c:362 msgid "Log the user's terminal input for the command being run" msgstr "コマンドを実行した時のユーザーの端末入力をログに記録します" -#: plugins/sudoers/def_data.c:364 +#: plugins/sudoers/def_data.c:366 msgid "Log the output of the command being run" msgstr "コマンドを実行した時の出力をログに記録します" -#: plugins/sudoers/def_data.c:368 +#: plugins/sudoers/def_data.c:370 msgid "Log the command's standard output if not connected to a terminal" msgstr "端末に接続していない場合にコマンドの標準出力をログに記録します" -#: plugins/sudoers/def_data.c:372 +#: plugins/sudoers/def_data.c:374 msgid "Log the command's standard error if not connected to a terminal" msgstr "端末に接続していない場合にコマンドの標準エラー出力をログに記録します" -#: plugins/sudoers/def_data.c:376 +#: plugins/sudoers/def_data.c:378 msgid "Log the terminal output of the command being run" msgstr "コマンドを実行した時の端末出力をログに記録します" -#: plugins/sudoers/def_data.c:380 +#: plugins/sudoers/def_data.c:382 msgid "Compress I/O logs using zlib" msgstr "I/O ログを zlib を使用して圧縮します" -#: plugins/sudoers/def_data.c:384 +#: plugins/sudoers/def_data.c:386 msgid "Always run commands in a pseudo-tty" msgstr "常に疑似 tty 内でコマンドを実行します" -#: plugins/sudoers/def_data.c:388 +#: plugins/sudoers/def_data.c:390 #, c-format msgid "Plugin for non-Unix group support: %s" msgstr "UNIX 以外のグループをサポートするためのプラグインです:%s" -#: plugins/sudoers/def_data.c:392 +#: plugins/sudoers/def_data.c:394 #, c-format msgid "Directory in which to store input/output logs: %s" msgstr "入出力 (I/O) ログを保存するディレクトリです:%s" -#: plugins/sudoers/def_data.c:396 +#: plugins/sudoers/def_data.c:398 #, c-format msgid "File in which to store the input/output log: %s" msgstr "入出力 (I/O) ログを保存するファイルです:%s" -#: plugins/sudoers/def_data.c:400 +#: plugins/sudoers/def_data.c:402 msgid "Add an entry to the utmp/utmpx file when allocating a pty" msgstr "pty を割り当てた時に utmp/utmpx ファイルに記録を加えます" -#: plugins/sudoers/def_data.c:404 +#: plugins/sudoers/def_data.c:406 msgid "Set the user in utmp to the runas user, not the invoking user" msgstr "utmp に記録するユーザーを、実行したユーザーではなく、変更後のユーザーにします" -#: plugins/sudoers/def_data.c:408 +#: plugins/sudoers/def_data.c:410 #, c-format msgid "Set of permitted privileges: %s" msgstr "許容される権限の集合: %s" -#: plugins/sudoers/def_data.c:412 +#: plugins/sudoers/def_data.c:414 #, c-format msgid "Set of limit privileges: %s" msgstr "制限される権限の集合: %s" -#: plugins/sudoers/def_data.c:416 +#: plugins/sudoers/def_data.c:418 msgid "Run commands on a pty in the background" msgstr "コマンドを pty でバックグラウンドで実行する" -#: plugins/sudoers/def_data.c:420 +#: plugins/sudoers/def_data.c:422 #, c-format msgid "PAM service name to use: %s" msgstr "利用する PAM サービス名: %s" -#: plugins/sudoers/def_data.c:424 +#: plugins/sudoers/def_data.c:426 #, c-format msgid "PAM service name to use for login shells: %s" msgstr "ログインシェルで利用する PAM サービス名: %s" -#: plugins/sudoers/def_data.c:428 +#: plugins/sudoers/def_data.c:430 #, 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:432 +#: plugins/sudoers/def_data.c:434 msgid "Attempt to establish PAM credentials for the target user" msgstr "ターゲットユーザーの PAM 資格情報による認証を試みる" -#: plugins/sudoers/def_data.c:436 +#: plugins/sudoers/def_data.c:438 msgid "Create a new PAM session for the command to run in" msgstr "実行するコマンドのために新しい PAM セッションを生成する" -#: plugins/sudoers/def_data.c:440 +#: plugins/sudoers/def_data.c:442 msgid "Perform PAM account validation management" msgstr "PAM アカウント検証管理を実行しています" -#: plugins/sudoers/def_data.c:444 +#: plugins/sudoers/def_data.c:446 +msgid "Do not allow PAM authentication modules to generate output" +msgstr "PAM認証モジュールの出力を抑制します" + +#: plugins/sudoers/def_data.c:450 #, c-format msgid "Maximum I/O log sequence number: %s" msgstr "I/O ログシーケンス番号の最大値: %s" -#: plugins/sudoers/def_data.c:448 +#: plugins/sudoers/def_data.c:454 msgid "Enable sudoers netgroup support" msgstr "sudoers のネットグループサポートを有効にする" -#: plugins/sudoers/def_data.c:452 +#: plugins/sudoers/def_data.c:458 msgid "Check parent directories for writability when editing files with sudoedit" msgstr "ファイルを sudoedit で編集するときに親ディレクトリが書き込み可能か確かめる" -#: plugins/sudoers/def_data.c:456 +#: plugins/sudoers/def_data.c:462 msgid "Follow symbolic links when editing files with sudoedit" msgstr "ファイルを sudoedit で編集するときにシンボリックリンクを追う" -#: plugins/sudoers/def_data.c:460 +#: plugins/sudoers/def_data.c:466 msgid "Query the group plugin for unknown system groups" msgstr "不明なシステムグループについて、グループプラグインに問い合わせる" -#: plugins/sudoers/def_data.c:464 +#: plugins/sudoers/def_data.c:470 msgid "Match netgroups based on the entire tuple: user, host and domain" msgstr "ネットグループについて、すべてのタプル(ユーザー、ホスト、ドメイン)を基に判定する" -#: plugins/sudoers/def_data.c:468 +#: plugins/sudoers/def_data.c:474 msgid "Allow commands to be run even if sudo cannot write to the audit log" msgstr "監査ログファイルへの書き込みができなくても、コマンドの実行を許可する" -#: plugins/sudoers/def_data.c:472 +#: plugins/sudoers/def_data.c:478 msgid "Allow commands to be run even if sudo cannot write to the I/O log" msgstr "I/O ログファイルへの書き込みができなくても、コマンドの実行を許可する" -#: plugins/sudoers/def_data.c:476 +#: plugins/sudoers/def_data.c:482 msgid "Allow commands to be run even if sudo cannot write to the log file" msgstr "ログファイルへの書き込みができなくても、コマンドの実行を許可する" -#: plugins/sudoers/def_data.c:480 +#: plugins/sudoers/def_data.c:486 msgid "Resolve groups in sudoers and match on the group ID, not the name" msgstr "グループの照合を sudoers の中で行い、グループ名でなくグループIDを用いる" -#: plugins/sudoers/def_data.c:484 +#: plugins/sudoers/def_data.c:490 #, 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:488 +#: plugins/sudoers/def_data.c:494 #, c-format msgid "User that will own the I/O log files: %s" msgstr "I/O ログの所有者となるユーザー: %s" -#: plugins/sudoers/def_data.c:492 +#: plugins/sudoers/def_data.c:498 #, c-format msgid "Group that will own the I/O log files: %s" msgstr "I/O ログの所有者となるグループ: %s" -#: plugins/sudoers/def_data.c:496 +#: plugins/sudoers/def_data.c:502 #, 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:500 +#: plugins/sudoers/def_data.c:506 #, c-format msgid "Execute commands by file descriptor instead of by path: %s" msgstr "コマンドの実行時にパスでなくファイル記述子を使う: %s" -#: plugins/sudoers/def_data.c:504 +#: plugins/sudoers/def_data.c:510 msgid "Ignore unknown Defaults entries in sudoers instead of producing a warning" msgstr "sudoers の中の未知の Defaults エントリーを無視し、警告を出さない" -#: plugins/sudoers/def_data.c:508 +#: plugins/sudoers/def_data.c:514 #, c-format msgid "Time in seconds after which the command will be terminated: %u" msgstr "コマンドが中断されるまでの経過時間を秒で指定する: %u" -#: plugins/sudoers/def_data.c:512 +#: plugins/sudoers/def_data.c:518 msgid "Allow the user to specify a timeout on the command line" msgstr "ユーザーがコマンド実行の制限時間をコマンドラインで指定できるようにする" -#: plugins/sudoers/def_data.c:516 +#: plugins/sudoers/def_data.c:522 msgid "Flush I/O log data to disk immediately instead of buffering it" msgstr "I/O ログのデータをバッファせずに、即ディスクにフラッシュする" -#: plugins/sudoers/def_data.c:520 +#: plugins/sudoers/def_data.c:526 msgid "Include the process ID when logging via syslog" msgstr "syslog へのログ記録時にプロセスIDを含める" -#: plugins/sudoers/def_data.c:524 +#: plugins/sudoers/def_data.c:530 #, c-format msgid "Type of authentication timestamp record: %s" msgstr "認証タイムスタンプのタイプ: %s" -#: plugins/sudoers/def_data.c:528 +#: plugins/sudoers/def_data.c:534 #, c-format msgid "Authentication failure message: %s" msgstr "認証失敗メッセージ: %s" -#: plugins/sudoers/def_data.c:532 +#: plugins/sudoers/def_data.c:538 msgid "Ignore case when matching user names" msgstr "ユーザー名の検索で大文字小文字を同一視する" -#: plugins/sudoers/def_data.c:536 +#: plugins/sudoers/def_data.c:542 msgid "Ignore case when matching group names" msgstr "グループ名の検索で大文字小文字を同一視する" -#: plugins/sudoers/def_data.c:540 +#: plugins/sudoers/def_data.c:546 msgid "Log when a command is allowed by sudoers" msgstr "コマンドが sudoers で許可された場合にログに記録します" -#: plugins/sudoers/def_data.c:544 +#: plugins/sudoers/def_data.c:550 msgid "Log when a command is denied by sudoers" msgstr "コマンドが sudoers で拒否された場合にログに記録します" -#: plugins/sudoers/def_data.c:548 +#: plugins/sudoers/def_data.c:554 msgid "Sudo log server(s) to connect to with optional port" msgstr "オプショナルなポートで接続する Sudo ログサーバー" -#: plugins/sudoers/def_data.c:552 +#: plugins/sudoers/def_data.c:558 #, c-format msgid "Sudo log server timeout in seconds: %u" msgstr "Sudo ログサーバーのタイムアウト、単位は秒: %u" -#: plugins/sudoers/def_data.c:556 +#: plugins/sudoers/def_data.c:562 msgid "Enable SO_KEEPALIVE socket option on the socket connected to the logserver" msgstr "ログサーバーに接続したソケットで SO_KEEPALIVE ソケットオプションを有効にする" -#: plugins/sudoers/def_data.c:560 +#: plugins/sudoers/def_data.c:566 #, c-format msgid "Path to the audit server's CA bundle file: %s" msgstr "認証サーバーの CA バンドルファイルのパス: %s" -#: plugins/sudoers/def_data.c:564 +#: plugins/sudoers/def_data.c:570 #, c-format msgid "Path to the sudoers certificate file: %s" msgstr "sudoers の証明書ファイルのパス: %s" -#: plugins/sudoers/def_data.c:568 +#: plugins/sudoers/def_data.c:574 #, c-format msgid "Path to the sudoers private key file: %s" msgstr "sudoers のプライベート鍵ファイルのパス: %s" -#: plugins/sudoers/def_data.c:572 +#: plugins/sudoers/def_data.c:578 msgid "Verify that the log server's certificate is valid" msgstr "ログサーバーの証明書が有効か検証する" -#: plugins/sudoers/def_data.c:576 +#: plugins/sudoers/def_data.c:582 msgid "Allow the use of unknown runas user and/or group ID" msgstr "未知の runas ユーザーおよび/またはグループ ID を使うことを許可する" -#: plugins/sudoers/def_data.c:580 +#: plugins/sudoers/def_data.c:586 msgid "Only permit running commands as a user with a valid shell" msgstr "有効なシェルを持つユーザーのみにコマンド実行を許可する" -#: plugins/sudoers/def_data.c:584 +#: plugins/sudoers/def_data.c:590 msgid "Set the pam remote user to the user running sudo" msgstr "PAMのリモートユーザーを sudo を実行しているユーザーに設定" -#: plugins/sudoers/def_data.c:588 +#: plugins/sudoers/def_data.c:594 msgid "Set the pam remote host to the local host name" msgstr "PAMのリモートホストをローカルホスト名に設定" -#: plugins/sudoers/def_data.c:592 +#: plugins/sudoers/def_data.c:598 #, c-format msgid "Working directory to change to before executing the command: %s" msgstr "コマンド実行前に変更する作業ディレクトリ: %s" -#: plugins/sudoers/def_data.c:596 +#: plugins/sudoers/def_data.c:602 #, c-format msgid "Root directory to change to before executing the command: %s" msgstr "コマンド実行前に変更するルートディレクトリ: %s" -#: plugins/sudoers/def_data.c:600 +#: plugins/sudoers/def_data.c:606 #, c-format msgid "The format of logs to produce: %s" msgstr "生成するログの書式: %s" -#: plugins/sudoers/def_data.c:604 +#: plugins/sudoers/def_data.c:610 msgid "Enable SELinux RBAC support" msgstr "SELinux RBAC のサポートを有効にする" -#: plugins/sudoers/def_data.c:608 +#: plugins/sudoers/def_data.c:614 #, 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:612 +#: plugins/sudoers/def_data.c:618 msgid "Intercept further commands and apply sudoers restrictions to them" msgstr "これ以降のコマンドに割り込み、sudoers による制限を適用する" -#: plugins/sudoers/def_data.c:616 +#: plugins/sudoers/def_data.c:622 msgid "Log sub-commands run by the original command" msgstr "コマンドが実行したサブコマンドをログに記録する" -#: plugins/sudoers/def_data.c:620 +#: plugins/sudoers/def_data.c:626 msgid "Log the exit status of commands" msgstr "コマンドを実行した後の終了ステータスをログに記録します" -#: plugins/sudoers/def_data.c:624 +#: plugins/sudoers/def_data.c:630 msgid "Subsequent commands in an intercepted session must be authenticated" msgstr "割り込みセッションの中で続くコマンドには認証が必要です" -#: plugins/sudoers/def_data.c:628 +#: plugins/sudoers/def_data.c:634 msgid "Allow an intercepted command to run set setuid or setgid programs" msgstr "割り込まれたコマンドが setuid または setgid プログラムを実行することを許可します" -#: plugins/sudoers/def_data.c:632 +#: plugins/sudoers/def_data.c:638 #, 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:636 +#: plugins/sudoers/def_data.c:642 #, c-format msgid "The largest size core dump file that may be created (in bytes): %s" msgstr "コアダンプファイルの最大サイズ(バイト単位): %s" -#: plugins/sudoers/def_data.c:640 +#: plugins/sudoers/def_data.c:646 #, 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:644 +#: plugins/sudoers/def_data.c:650 #, c-format msgid "The maximum size of the data segment for the process (in bytes): %s" msgstr "プロセスのデータセグメントサイズの最大値(バイト単位): %s" -#: plugins/sudoers/def_data.c:648 +#: plugins/sudoers/def_data.c:654 #, c-format msgid "The largest size file that the process may create (in bytes): %s" msgstr "プロセスが作成するファイルサイズの最大値(バイト単位): %s" -#: plugins/sudoers/def_data.c:652 +#: plugins/sudoers/def_data.c:658 #, c-format msgid "The maximum number of locks that the process may establish: %s" msgstr "プロセスが作るロックの最大数: %s" -#: plugins/sudoers/def_data.c:656 +#: plugins/sudoers/def_data.c:662 #, c-format msgid "The maximum size that the process may lock in memory (in bytes): %s" msgstr "プロセスがロックするメモリーサイズの最大値(バイト単位): %s" -#: plugins/sudoers/def_data.c:660 +#: plugins/sudoers/def_data.c:666 #, c-format msgid "The maximum number of files that the process may have open: %s" msgstr "プロセスが開くファイル数の最大値: %s" -#: plugins/sudoers/def_data.c:664 +#: plugins/sudoers/def_data.c:670 #, c-format msgid "The maximum number of processes that the user may run simultaneously: %s" msgstr "ユーザーが同時に走らせるプロセスの最大数: %s" -#: plugins/sudoers/def_data.c:668 +#: plugins/sudoers/def_data.c:674 #, 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:672 +#: plugins/sudoers/def_data.c:678 #, c-format msgid "The maximum size to which the process's stack may grow (in bytes): %s" msgstr "プロセスのスタックサイズの最大値(バイト単位): %s" -#: plugins/sudoers/def_data.c:676 +#: plugins/sudoers/def_data.c:682 msgid "Attempt authentication even when in non-interactive mode" msgstr "非対話モードでも認証を試みる" -#: plugins/sudoers/def_data.c:680 +#: plugins/sudoers/def_data.c:686 msgid "Store plaintext passwords in I/O log input" msgstr "I/Oログ入力に平分のパスワードを格納する" -#: plugins/sudoers/def_data.c:684 +#: plugins/sudoers/def_data.c:690 msgid "List of regular expressions to use when matching a password prompt" msgstr "パスワードのプロンプトに一致するか調べる正規表現の一覧" -#: plugins/sudoers/def_data.c:688 +#: plugins/sudoers/def_data.c:694 #, c-format msgid "The mechanism used by the intercept and log_subcmds options: %s" -msgstr "インターセプトと log_subcmds オプションで使われるメカニズム: %s" +msgstr "割り込みと log_subcmds オプションで使われるメカニズム: %s" -#: plugins/sudoers/def_data.c:692 +#: plugins/sudoers/def_data.c:698 msgid "Attempt to verify the command and arguments after execution" msgstr "コマンドと引数を実行後に検証することを試みます" -#: plugins/sudoers/def_data.c:696 +#: plugins/sudoers/def_data.c:702 #, c-format msgid "AppArmor profile to use in the new security context: %s" msgstr "新しいセキュリティコンテキスト内で使用する AppArmor プロファイル: %s" +#: plugins/sudoers/def_data.c:706 +#, c-format +msgid "Command denial message: %s" +msgstr "コマンド拒否メッセージ: %s" + #: plugins/sudoers/defaults.c:207 #, c-format msgid "unknown defaults entry \"%s\"" @@ -2658,64 +2670,64 @@ msgstr "0x%x はオプション \"%s\" のデフォルトタイプとして無 msgid "value \"%s\" is invalid for option \"%s\"" msgstr "\"%s\" はオプション \"%s\" の値としては無効です" -#: plugins/sudoers/defaults.c:1176 plugins/sudoers/policy.c:213 -#: plugins/sudoers/policy.c:222 +#: plugins/sudoers/defaults.c:1189 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:1182 +#: plugins/sudoers/defaults.c:1195 #, c-format msgid "values for \"%s\" must start with a '/', '~', or '*'" msgstr "\"%s\" の値は '/', '~', または '*' で開始しなければいけません" -#: plugins/sudoers/defaults.c:1189 +#: plugins/sudoers/defaults.c:1202 #, c-format msgid "values for \"%s\" must start with a '/'" msgstr "\"%s\" の値は '/' で開始しなければいけません" -#: plugins/sudoers/display.c:160 +#: plugins/sudoers/display.c:154 #, c-format msgid "LDAP Role: %s\n" msgstr "LDAP 役割: %s\n" -#: plugins/sudoers/display.c:163 +#: plugins/sudoers/display.c:157 #, c-format msgid "Sudoers entry: %s\n" msgstr "sudoers 項目: %s\n" -#: plugins/sudoers/display.c:166 +#: plugins/sudoers/display.c:160 msgid " RunAsUsers: " msgstr " RunAsUsers: " -#: plugins/sudoers/display.c:181 +#: plugins/sudoers/display.c:175 msgid " RunAsGroups: " msgstr " RunAsGroups: " -#: plugins/sudoers/display.c:191 +#: plugins/sudoers/display.c:185 msgid " Options: " msgstr " オプション: " -#: plugins/sudoers/display.c:255 +#: plugins/sudoers/display.c:249 msgid " Commands:\n" msgstr " コマンド:\n" -#: plugins/sudoers/display.c:478 +#: plugins/sudoers/display.c:472 #, c-format msgid "Matching Defaults entries for %s on %s:\n" msgstr "既定値のエントリと照合中 (ユーザー名 %s) (ホスト名 %s):\n" -#: plugins/sudoers/display.c:496 +#: plugins/sudoers/display.c:490 #, c-format msgid "Runas and Command-specific defaults for %s:\n" msgstr "ユーザー %s 用の Runas およびコマンド特有のデフォルト:\n" -#: plugins/sudoers/display.c:514 +#: plugins/sudoers/display.c:508 #, c-format msgid "User %s may run the following commands on %s:\n" msgstr "ユーザー %s は %s 上で コマンドを実行できます\n" -#: plugins/sudoers/display.c:530 +#: plugins/sudoers/display.c:524 #, c-format msgid "User %s is not allowed to run sudo on %s.\n" msgstr "ユーザー %s は %s 上で sudo を実行することを許可されていません。\n" @@ -2729,15 +2741,15 @@ msgstr "エディターを無視します: %.*s" msgid "editor arguments may not contain \"--\"" msgstr "エディターの引数には \"--\" を含むことができません" -#: plugins/sudoers/env.c:426 +#: plugins/sudoers/env.c:443 msgid "sudo_putenv: corrupted envp, length mismatch" msgstr "sudo_putenv: envp が破損しています。長さが合いません" -#: plugins/sudoers/env.c:1119 +#: plugins/sudoers/env.c:1137 msgid "unable to rebuild the environment" msgstr "環境を再構築できません" -#: plugins/sudoers/env.c:1199 +#: plugins/sudoers/env.c:1217 #, c-format msgid "sorry, you are not allowed to set the following environment variables: %s" msgstr "残念ですが、あなたは次の環境変数を設定することを許可されていません: %s" @@ -2781,37 +2793,37 @@ msgstr "ネットマスク \"%s\" を解析できません" msgid "Local IP address and netmask pairs:\n" msgstr "ローカル IP アドレスとネットマスクの組:\n" -#: plugins/sudoers/iolog.c:694 +#: plugins/sudoers/iolog.c:702 msgid "unable to update sequence file" msgstr "シーケンスファイルを更新できません" -#: plugins/sudoers/iolog.c:728 plugins/sudoers/iolog.c:917 -#: plugins/sudoers/iolog.c:1080 plugins/sudoers/iolog.c:1087 -#: plugins/sudoers/iolog.c:1209 plugins/sudoers/iolog.c:1216 -#: plugins/sudoers/iolog.c:1316 plugins/sudoers/iolog.c:1323 +#: plugins/sudoers/iolog.c:736 plugins/sudoers/iolog.c:925 +#: plugins/sudoers/iolog.c:1088 plugins/sudoers/iolog.c:1095 +#: plugins/sudoers/iolog.c:1217 plugins/sudoers/iolog.c:1224 +#: plugins/sudoers/iolog.c:1324 plugins/sudoers/iolog.c:1331 #, c-format msgid "unable to write to I/O log file: %s" msgstr "%s へ I/O ログを書き込むことができません" -#: plugins/sudoers/iolog.c:736 +#: plugins/sudoers/iolog.c:744 #, c-format msgid "unable to create %s/%s" msgstr "%s/%s を作成できません" -#: plugins/sudoers/iolog.c:965 +#: plugins/sudoers/iolog.c:973 #, c-format msgid "%s: internal error, I/O log file for event %d not open" msgstr "%s: 内部エラー、I/O イベント %d のログファイルを開けません" -#: plugins/sudoers/iolog.c:1065 plugins/sudoers/iolog.c:1194 -#: plugins/sudoers/iolog.c:1300 plugins/sudoers/timestamp.c:897 -#: plugins/sudoers/timestamp.c:989 plugins/sudoers/visudo.c:555 +#: plugins/sudoers/iolog.c:1073 plugins/sudoers/iolog.c:1202 +#: plugins/sudoers/iolog.c:1308 plugins/sudoers/timestamp.c:900 +#: plugins/sudoers/timestamp.c:992 plugins/sudoers/visudo.c:555 #: plugins/sudoers/visudo.c:561 msgid "unable to read the clock" msgstr "時刻を読み込むことができません" -#: plugins/sudoers/iolog.c:1292 plugins/sudoers/log_client.c:1203 -#: plugins/sudoers/log_client.c:1213 plugins/sudoers/log_client.c:1217 +#: plugins/sudoers/iolog.c:1300 plugins/sudoers/log_client.c:1226 +#: plugins/sudoers/log_client.c:1236 plugins/sudoers/log_client.c:1240 #, c-format msgid "%s: internal error, invalid signal %d" msgstr "%s: 内部エラー、無効なシグナル %d" @@ -2858,15 +2870,15 @@ msgstr "サポートされてない LDAP URI タイプです: %s" msgid "unable to mix ldap and ldaps URIs" msgstr "ldap と ldaps の URI を混ぜて使用できません" -#: 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 +#: plugins/sudoers/ldap_util.c:496 plugins/sudoers/ldap_util.c:503 +#: plugins/sudoers/ldap_util.c:511 plugins/sudoers/ldap_util.c:519 +#: plugins/sudoers/ldap_util.c:527 plugins/sudoers/ldap_util.c:535 +#: plugins/sudoers/ldap_util.c:543 plugins/sudoers/ldap_util.c:551 #, c-format msgid "duplicate sudoOption: %s%s%s" msgstr "sudoOption が重複しています: %s%s%s" -#: plugins/sudoers/ldap_util.c:568 plugins/sudoers/ldap_util.c:570 +#: plugins/sudoers/ldap_util.c:569 plugins/sudoers/ldap_util.c:571 #, c-format msgid "unable to convert sudoOption: %s%s%s" msgstr "sudoOption を変換できません: %s%s%s" @@ -2879,63 +2891,63 @@ msgstr "監査システムを開くことができません" msgid "unable to send audit message" msgstr "監査メッセージを送ることができません" -#: plugins/sudoers/log_client.c:125 plugins/sudoers/log_client.c:412 -#: plugins/sudoers/log_client.c:1450 plugins/sudoers/log_client.c:2076 +#: plugins/sudoers/log_client.c:125 plugins/sudoers/log_client.c:421 +#: plugins/sudoers/log_client.c:1473 plugins/sudoers/log_client.c:2101 msgid "error in event loop" msgstr "イベントループでエラーが発生しました" -#: plugins/sudoers/log_client.c:205 +#: plugins/sudoers/log_client.c:214 #, c-format msgid "Creation of new SSL_CTX object failed: %s" msgstr "新しい SSL_CTX オブジェクトの作成に失敗しました: %s" -#: plugins/sudoers/log_client.c:230 +#: plugins/sudoers/log_client.c:239 #, c-format msgid "unable to load certificate authority bundle %s" msgstr "認証局の証明書バンドル %s をロードできません" -#: plugins/sudoers/log_client.c:252 +#: plugins/sudoers/log_client.c:261 #, c-format msgid "unable to load certificate %s" msgstr "証明書 %s をロードできません" -#: plugins/sudoers/log_client.c:266 +#: plugins/sudoers/log_client.c:275 #, c-format msgid "unable to load private key %s" msgstr "プライベート鍵を読み込めません: %s" -#: plugins/sudoers/log_client.c:275 +#: plugins/sudoers/log_client.c:284 #, c-format msgid "Unable to allocate ssl object: %s" msgstr "SSLオブジェクトを割り当てることができません: %s" -#: plugins/sudoers/log_client.c:364 plugins/sudoers/log_client.c:369 +#: plugins/sudoers/log_client.c:373 plugins/sudoers/log_client.c:378 #, c-format msgid "TLS connection to %s:%s failed: %s" msgstr "%s:%s へのTLS接続に失敗しました: %s" -#: plugins/sudoers/log_client.c:545 +#: plugins/sudoers/log_client.c:554 msgid "TLS initialization was unsuccessful" msgstr "TLS 初期化が成功しませんでした" -#: plugins/sudoers/log_client.c:555 +#: plugins/sudoers/log_client.c:564 msgid "TLS handshake was unsuccessful" msgstr "TLS ハンドシェイクが成功しませんでした" -#: plugins/sudoers/log_client.c:1221 +#: plugins/sudoers/log_client.c:1244 #, c-format msgid "%s: internal error, invalid exit status %d" msgstr "%s: 内部エラー、無効な終了コード %d" -#: plugins/sudoers/log_client.c:1757 plugins/sudoers/log_client.c:1782 +#: plugins/sudoers/log_client.c:1780 plugins/sudoers/log_client.c:1805 msgid "lost connection to log server" msgstr "ログサーバーへの接続が失われました" -#: plugins/sudoers/log_client.c:1859 +#: plugins/sudoers/log_client.c:1882 msgid "missing write buffer" msgstr "書き込みバッファが失われました" -#: plugins/sudoers/log_client.c:2015 +#: plugins/sudoers/log_client.c:2040 msgid "unable to connect to log server" msgstr "ログサーバーに接続できません" @@ -2948,42 +2960,55 @@ msgid "user NOT authorized on host" msgstr "ホスト上でユーザーが認証されていません" #: plugins/sudoers/logging.c:299 +msgid "setid command rejected in intercept mode" +msgstr "setid コマンドが割り込みモードで拒否されました" + +#: plugins/sudoers/logging.c:301 msgid "command not allowed" msgstr "コマンドが許可されていません" -#: plugins/sudoers/logging.c:320 +#: plugins/sudoers/logging.c:322 #, c-format msgid "%s is not in the sudoers file.\n" msgstr "%s は sudoers ファイルにありません。\n" -#: plugins/sudoers/logging.c:323 +#: plugins/sudoers/logging.c:325 #, c-format msgid "%s is not allowed to run sudo on %s.\n" msgstr "%s は %s 上で sudo を実行することを許可されていません。\n" -#: plugins/sudoers/logging.c:326 +#: plugins/sudoers/logging.c:328 plugins/sudoers/parser_warnx.c:59 +#, c-format +msgid "%s: %s\n" +msgstr "%s: %s\n" + +#: plugins/sudoers/logging.c:329 +msgid "setid commands are not permitted in intercept mode" +msgstr "setid コマンドは割り込みモードでは許可されていません" + +#: plugins/sudoers/logging.c:331 #, c-format msgid "Sorry, user %s may not run sudo on %s.\n" msgstr "残念ですが、ユーザー %s は %s 上で sudo を実行できません。\n" -#: plugins/sudoers/logging.c:339 +#: plugins/sudoers/logging.c:344 #, c-format msgid "Sorry, user %s is not allowed to execute '%s%s%s%s' as %s%s%s on %s.\n" msgstr "残念ですが、ユーザー %s は'%s%s%s%s' を %s%s%s として %s 上で実行することは許可されていません。\n" -#: plugins/sudoers/logging.c:350 +#: plugins/sudoers/logging.c:358 msgid "This incident has been reported to the administrator.\n" msgstr "この出来事は管理者宛てに報告されました。\n" -#: plugins/sudoers/logging.c:387 plugins/sudoers/sudoers.c:547 -#: plugins/sudoers/sudoers.c:549 plugins/sudoers/sudoers.c:551 -#: plugins/sudoers/sudoers.c:553 plugins/sudoers/sudoers.c:777 -#: plugins/sudoers/sudoers.c:779 +#: plugins/sudoers/logging.c:395 plugins/sudoers/sudoers.c:564 +#: plugins/sudoers/sudoers.c:566 plugins/sudoers/sudoers.c:568 +#: plugins/sudoers/sudoers.c:570 plugins/sudoers/sudoers.c:794 +#: plugins/sudoers/sudoers.c:796 #, c-format msgid "%s: command not found" msgstr "%s: コマンドが見つかりません" -#: plugins/sudoers/logging.c:389 plugins/sudoers/sudoers.c:543 +#: plugins/sudoers/logging.c:397 plugins/sudoers/sudoers.c:560 #, c-format msgid "" "ignoring \"%s\" found in '.'\n" @@ -2992,30 +3017,30 @@ msgstr "" "'.' 内で見つかった \"%1$s\" を無視します\n" "この \"%3$s\" を実行したい場合は \"sudo ./%2$s\" を使用してください。" -#: plugins/sudoers/logging.c:409 +#: plugins/sudoers/logging.c:417 #, c-format msgid "%u incorrect password attempt" msgid_plural "%u incorrect password attempts" msgstr[0] "%u 回パスワード試行を間違えました" -#: plugins/sudoers/logging.c:500 +#: plugins/sudoers/logging.c:508 msgid "authentication failure" msgstr "認証失敗" -#: plugins/sudoers/logging.c:539 plugins/sudoers/logging.c:558 +#: plugins/sudoers/logging.c:552 plugins/sudoers/logging.c:571 msgid "a password is required" msgstr "パスワードが必要です" -#: plugins/sudoers/logging.c:881 +#: plugins/sudoers/logging.c:889 msgid "problem parsing sudoers" msgstr "sudoers を構文解析する時に起きた問題" -#: plugins/sudoers/logging.c:922 plugins/sudoers/logging.c:930 +#: plugins/sudoers/logging.c:930 plugins/sudoers/logging.c:938 #, c-format msgid "%s:%d:%d: %s" msgstr "%s:%d:%d: %s" -#: plugins/sudoers/logging.c:1108 +#: plugins/sudoers/logging.c:1119 #, c-format msgid "unable to write log file %s" msgstr "ログファイル %s に書き込むことができません" @@ -3045,11 +3070,6 @@ msgstr "無効な LDIF 属性です: %s" msgid "%s:%d:%d: %s\n" msgstr "%s:%d:%d: %s\n" -#: plugins/sudoers/parser_warnx.c:59 -#, c-format -msgid "%s: %s\n" -msgstr "%s: %s\n" - #: plugins/sudoers/pivot.c:71 msgid "unable to restore root directory" msgstr "ルートディレクトリを取得できません" @@ -3063,59 +3083,59 @@ msgstr "カレント作業ディレクトリを取得できません" msgid "invalid %.*s set by sudo front-end" msgstr "無効な %.*s が sudo のフロントエンドで設定されています" -#: plugins/sudoers/policy.c:364 plugins/sudoers/testsudoers.c:329 +#: plugins/sudoers/policy.c:347 plugins/sudoers/testsudoers.c:329 msgid "unable to parse network address list" msgstr "ネットワークのアドレスリストを解析できません" -#: plugins/sudoers/policy.c:556 +#: plugins/sudoers/policy.c:555 msgid "user name not set by sudo front-end" msgstr "ユーザー名が sudo のフロントエンドで設定されていません" -#: plugins/sudoers/policy.c:560 +#: plugins/sudoers/policy.c:559 msgid "user-ID not set by sudo front-end" msgstr "ユーザーIDが sudo のフロントエンドで設定されていません" -#: plugins/sudoers/policy.c:564 +#: plugins/sudoers/policy.c:563 msgid "group-ID not set by sudo front-end" msgstr "グループIDが sudo のフロントエンドで設定されていません" -#: plugins/sudoers/policy.c:568 +#: plugins/sudoers/policy.c:567 msgid "host name not set by sudo front-end" msgstr "ホスト名が sudo のフロントエンドで設定されていません" -#: plugins/sudoers/policy.c:757 +#: plugins/sudoers/policy.c:765 #, c-format msgid "invalid working directory: %s" msgstr "無効な作業ディレクトリ: %s" -#: plugins/sudoers/policy.c:944 +#: plugins/sudoers/policy.c:952 #, c-format msgid "invalid chroot directory: %s" msgstr "無効な chroot ディレクトリ: %s" -#: plugins/sudoers/policy.c:1153 plugins/sudoers/visudo.c:919 +#: plugins/sudoers/policy.c:1163 plugins/sudoers/visudo.c:919 #: plugins/sudoers/visudo.c:1218 #, c-format msgid "unable to execute %s" msgstr "%s を実行できません" -#: plugins/sudoers/policy.c:1225 plugins/sudoers/policy.c:1260 -#: plugins/sudoers/policy.c:1282 plugins/sudoers/policy.c:1300 +#: plugins/sudoers/policy.c:1232 plugins/sudoers/policy.c:1267 +#: plugins/sudoers/policy.c:1289 plugins/sudoers/policy.c:1307 #, c-format msgid "%s: invalid mode flags from sudo front end: 0x%x" msgstr "%s: 無効なモードフラグが sudo のフロントエンドで指定されています: 0x%x" -#: plugins/sudoers/policy.c:1323 +#: plugins/sudoers/policy.c:1330 #, c-format msgid "Sudoers policy plugin version %s\n" msgstr "sudoers ポリシープラグイン バージョン %s\n" -#: plugins/sudoers/policy.c:1325 +#: plugins/sudoers/policy.c:1332 #, c-format msgid "Sudoers file grammar version %d\n" msgstr "sudoers ファイル文法バージョン %d\n" -#: plugins/sudoers/policy.c:1329 +#: plugins/sudoers/policy.c:1336 #, c-format msgid "" "\n" @@ -3124,27 +3144,27 @@ msgstr "" "\n" "sudoers のパス: %s\n" -#: plugins/sudoers/policy.c:1332 +#: plugins/sudoers/policy.c:1339 #, c-format msgid "nsswitch path: %s\n" msgstr "nsswitch のパス: %s\n" -#: plugins/sudoers/policy.c:1335 +#: plugins/sudoers/policy.c:1342 #, c-format msgid "ldap.conf path: %s\n" msgstr "ldap.conf のパス: %s\n" -#: plugins/sudoers/policy.c:1337 +#: plugins/sudoers/policy.c:1344 #, c-format msgid "ldap.secret path: %s\n" msgstr "ldap.secret のパス: %s\n" -#: plugins/sudoers/policy.c:1370 +#: plugins/sudoers/policy.c:1377 #, c-format msgid "unable to register hook of type %d (version %d.%d)" msgstr "タイプ %d のフックを登録できません (バージョン %d.%d)" -#: plugins/sudoers/policy.c:1388 +#: plugins/sudoers/policy.c:1395 #, c-format msgid "unable to deregister hook of type %d (version %d.%d)" msgstr "タイプ %d のフックを登録解除できません (バージョン %d.%d)" @@ -3191,24 +3211,24 @@ msgstr "グループ %s をキャッシュできません" msgid "unable to cache group %s, already exists" msgstr "グループ %s をキャッシュできません。すでに存在します" -#: plugins/sudoers/pwutil.c:900 plugins/sudoers/pwutil.c:985 -#: plugins/sudoers/pwutil.c:1039 plugins/sudoers/pwutil.c:1095 +#: plugins/sudoers/pwutil.c:900 plugins/sudoers/pwutil.c:988 +#: plugins/sudoers/pwutil.c:1042 plugins/sudoers/pwutil.c:1101 #, c-format msgid "unable to cache group list for %s, already exists" msgstr "グループリスト %s をキャッシュできません。すでに存在します" -#: plugins/sudoers/pwutil.c:906 plugins/sudoers/pwutil.c:990 -#: plugins/sudoers/pwutil.c:1045 plugins/sudoers/pwutil.c:1100 +#: plugins/sudoers/pwutil.c:906 plugins/sudoers/pwutil.c:993 +#: plugins/sudoers/pwutil.c:1048 plugins/sudoers/pwutil.c:1106 #, c-format msgid "unable to cache group list for %s" msgstr "グループリスト %s をキャッシュできません" -#: plugins/sudoers/pwutil.c:979 +#: plugins/sudoers/pwutil.c:982 #, c-format msgid "unable to parse groups for %s" msgstr "%s のグループを解析できません" -#: plugins/sudoers/pwutil.c:1089 +#: plugins/sudoers/pwutil.c:1095 #, c-format msgid "unable to parse gids for %s" msgstr "%s のグループIDを解析できません" @@ -3337,82 +3357,82 @@ msgstr "ユーザーはディレクトリを %s に変更できません" msgid "you are not permitted to use the -D option with %s" msgstr "-D オプションを %s と共に使用することは許可されていません" -#: plugins/sudoers/sudoers.c:542 +#: plugins/sudoers/sudoers.c:559 msgid "command in current directory" msgstr "コマンドがカレントディレクトリにあります" -#: plugins/sudoers/sudoers.c:557 +#: plugins/sudoers/sudoers.c:574 msgid "\"cd\" is a shell built-in command, it cannot be run directly." msgstr "\"cd\" はシェルの内蔵コマンドで、直接実行できません。" -#: plugins/sudoers/sudoers.c:559 +#: plugins/sudoers/sudoers.c:576 msgid "the -s option may be used to run a privileged shell." msgstr "権限を昇格したシェルを実行するために -s オプションが使われることがあります。" -#: plugins/sudoers/sudoers.c:561 +#: plugins/sudoers/sudoers.c:578 msgid "the -D option may be used to run a command in a specific directory." msgstr "コマンドを実行するディレクトリを指定するために -D オプションを使うことができます。" -#: plugins/sudoers/sudoers.c:570 +#: plugins/sudoers/sudoers.c:587 msgid "user not allowed to set a command timeout" msgstr "ユーザーはコマンド実行の制限時間を設定することを許可されていません" -#: plugins/sudoers/sudoers.c:572 +#: plugins/sudoers/sudoers.c:589 msgid "sorry, you are not allowed set a command timeout" msgstr "残念ですが、あなたはコマンド実行の制限時間を設定することを許可されていません" -#: plugins/sudoers/sudoers.c:580 +#: plugins/sudoers/sudoers.c:597 msgid "user not allowed to preserve the environment" msgstr "ユーザーは環境変数を保存することを許可されていません" -#: plugins/sudoers/sudoers.c:582 +#: plugins/sudoers/sudoers.c:599 msgid "sorry, you are not allowed to preserve the environment" msgstr "残念ですが、あなたは環境変数を保存することを許可されていません" -#: plugins/sudoers/sudoers.c:618 +#: plugins/sudoers/sudoers.c:635 msgid "no command specified" msgstr "コマンドが指定されていません" -#: plugins/sudoers/sudoers.c:759 +#: plugins/sudoers/sudoers.c:776 msgid "error setting user-specified environment variables" msgstr "ユーザーが指定した環境変数の設定でエラーです" -#: plugins/sudoers/sudoers.c:1211 +#: plugins/sudoers/sudoers.c:1229 msgid "sudoedit doesn't need to be run via sudo" msgstr "sudoedit の実行に sudo を使用する必要はありません" -#: plugins/sudoers/sudoers.c:1296 plugins/sudoers/sudoreplay.c:1613 -#: plugins/sudoers/tsdump.c:138 +#: plugins/sudoers/sudoers.c:1314 plugins/sudoers/sudoreplay.c:1615 +#: plugins/sudoers/tsdump.c:151 #, c-format msgid "unable to read %s" msgstr "%s を読み込めません" -#: plugins/sudoers/sudoers.c:1321 plugins/sudoers/visudo.c:1123 +#: plugins/sudoers/sudoers.c:1339 plugins/sudoers/visudo.c:1123 #, c-format msgid "%s is not a regular file" msgstr "%s は通常ファイルではありません" -#: plugins/sudoers/sudoers.c:1325 plugins/sudoers/timestamp.c:272 toke.l:1355 +#: plugins/sudoers/sudoers.c:1343 plugins/sudoers/timestamp.c:272 toke.l:1335 #, c-format msgid "%s is owned by uid %u, should be %u" msgstr "%s はユーザーID %u によって所有されています。これは %u であるべきです" -#: plugins/sudoers/sudoers.c:1330 plugins/sudoers/timestamp.c:279 toke.l:1360 +#: plugins/sudoers/sudoers.c:1348 plugins/sudoers/timestamp.c:279 toke.l:1340 #, c-format msgid "%s is world writable" msgstr "%s は誰でも書き込み可能です" -#: plugins/sudoers/sudoers.c:1334 plugins/sudoers/timestamp.c:284 toke.l:1363 +#: plugins/sudoers/sudoers.c:1352 plugins/sudoers/timestamp.c:284 toke.l:1343 #, c-format msgid "%s is owned by gid %u, should be %u" msgstr "%s のグループIDは %u になっています。これは %u であるべきです" -#: plugins/sudoers/sudoers.c:1363 +#: plugins/sudoers/sudoers.c:1381 #, c-format msgid "only root can use \"-c %s\"" msgstr "root のみ \"-c %s\" を使用できます" -#: plugins/sudoers/sudoers.c:1382 +#: plugins/sudoers/sudoers.c:1400 #, c-format msgid "unknown login class %s" msgstr "不明なログインクラス %s" @@ -3457,75 +3477,75 @@ msgstr "%s/タイミング: %s" msgid "Replaying sudo session: %s" msgstr "再生する sudo セッション: %s" -#: plugins/sudoers/sudoreplay.c:634 +#: plugins/sudoers/sudoreplay.c:633 plugins/sudoers/sudoreplay.c:636 msgid "unable to set tty to raw mode" msgstr "tty を raw モードに設定できません" -#: plugins/sudoers/sudoreplay.c:685 +#: plugins/sudoers/sudoreplay.c:687 msgid "Warning: your terminal is too small to properly replay the log." msgstr "警告: ログをきちんとリプレイするには端末が小さすぎます。" -#: plugins/sudoers/sudoreplay.c:686 +#: plugins/sudoers/sudoreplay.c:688 #, c-format msgid "Log geometry is %d x %d, your terminal's geometry is %d x %d." msgstr "ログの大きさは %d x %d で、端末の大きさは %d x %d です。" -#: plugins/sudoers/sudoreplay.c:714 +#: plugins/sudoers/sudoreplay.c:716 msgid "Replay finished, press any key to restore the terminal." msgstr "再生が終了しました、何かキーを押すと端末を回復します。" -#: plugins/sudoers/sudoreplay.c:1217 plugins/sudoers/sudoreplay.c:1247 +#: plugins/sudoers/sudoreplay.c:1219 plugins/sudoers/sudoreplay.c:1249 #, c-format msgid "ambiguous expression \"%s\"" msgstr "曖昧な式 \"%s です\"" -#: plugins/sudoers/sudoreplay.c:1269 +#: plugins/sudoers/sudoreplay.c:1271 msgid "unmatched ')' in expression" msgstr "式内で ')' が不一致です" -#: plugins/sudoers/sudoreplay.c:1273 +#: plugins/sudoers/sudoreplay.c:1275 #, c-format msgid "unknown search term \"%s\"" msgstr "不明な検索語 \"%s\" です" -#: plugins/sudoers/sudoreplay.c:1288 +#: plugins/sudoers/sudoreplay.c:1290 #, c-format msgid "%s requires an argument" msgstr "%s は引数が必要です" -#: plugins/sudoers/sudoreplay.c:1298 +#: plugins/sudoers/sudoreplay.c:1300 #, c-format msgid "could not parse date \"%s\"" msgstr "日付 \"%s\" を構文解析できませんでした" -#: plugins/sudoers/sudoreplay.c:1307 +#: plugins/sudoers/sudoreplay.c:1309 msgid "unmatched '(' in expression" msgstr "式内で '(' が不一致です" -#: plugins/sudoers/sudoreplay.c:1309 +#: plugins/sudoers/sudoreplay.c:1311 msgid "illegal trailing \"or\"" msgstr "末尾に \"or\" を配置できません" -#: plugins/sudoers/sudoreplay.c:1311 +#: plugins/sudoers/sudoreplay.c:1313 msgid "illegal trailing \"!\"" msgstr "末尾に \"!\" を配置できません" -#: plugins/sudoers/sudoreplay.c:1417 +#: plugins/sudoers/sudoreplay.c:1419 #, c-format msgid "unknown search type %d" msgstr "未知の検索タイプ %d" -#: plugins/sudoers/sudoreplay.c:1679 +#: plugins/sudoers/sudoreplay.c:1681 #, 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:1681 +#: plugins/sudoers/sudoreplay.c:1683 #, 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:1695 +#: plugins/sudoers/sudoreplay.c:1697 #, c-format msgid "" "%s - replay sudo session logs\n" @@ -3534,7 +3554,7 @@ msgstr "" "%s - sudo セッションログをリプレイします\n" "\n" -#: plugins/sudoers/sudoreplay.c:1697 +#: plugins/sudoers/sudoreplay.c:1699 msgid "" "\n" "Options:\n" @@ -3611,26 +3631,26 @@ msgstr "" "\n" "コマンドが一致しませんでした" -#: plugins/sudoers/timestamp.c:364 plugins/sudoers/timestamp.c:711 +#: plugins/sudoers/timestamp.c:364 plugins/sudoers/timestamp.c:714 #, c-format msgid "unable to truncate time stamp file to %lld bytes" msgstr "タイムスタンプファイルを %lld バイトに切り詰めることができません" -#: plugins/sudoers/timestamp.c:908 +#: plugins/sudoers/timestamp.c:911 msgid "ignoring time stamp from the future" msgstr "未来の時刻のタイムスタンプを無視します" -#: plugins/sudoers/timestamp.c:931 +#: plugins/sudoers/timestamp.c:934 #, c-format msgid "time stamp too far in the future: %20.20s" msgstr "タイムスタンプが遠すぎる将来になっています: %20.20s" -#: plugins/sudoers/timestamp.c:1067 +#: plugins/sudoers/timestamp.c:1070 #, c-format msgid "unable to lock time stamp file %s" msgstr "タイムスタンプファイル %s をロックすることができません" -#: plugins/sudoers/timestamp.c:1114 +#: plugins/sudoers/timestamp.c:1117 #, c-format msgid "%s:%d:%d timestampowner: unknown user %s" msgstr "%s:%d:%d: timestampowner: 未知のユーザー %s" @@ -3832,19 +3852,19 @@ msgstr "無効な行の継続" msgid "invalid IPv6 address" msgstr "無効な IPv6 アドレス" -#: toke.l:863 +#: toke.l:843 msgid "unexpected line break in string" msgstr "文字列の予期せぬところに改行" -#: toke.l:982 +#: toke.l:962 msgid "ignoring editor backup file" msgstr "エディターのバックアップファイルを無視します" -#: toke.l:985 +#: toke.l:965 msgid "ignoring file name containing '.'" msgstr "'.' を含むファイル名を無視します" -#: toke.l:1310 +#: toke.l:1290 msgid "too many levels of includes" msgstr "インクルードの階層が大きすぎます" @@ -3926,9 +3946,6 @@ msgstr "インクルードの階層が大きすぎます" #~ 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" diff --git a/plugins/sudoers/po/ko.mo b/plugins/sudoers/po/ko.mo index 207943de4..bcba2a942 100644 Binary files a/plugins/sudoers/po/ko.mo and b/plugins/sudoers/po/ko.mo differ diff --git a/plugins/sudoers/po/ko.po b/plugins/sudoers/po/ko.po index 6991b629d..28f955f99 100644 --- a/plugins/sudoers/po/ko.po +++ b/plugins/sudoers/po/ko.po @@ -5,10 +5,10 @@ # msgid "" msgstr "" -"Project-Id-Version: sudoers 1.9.15b1\n" +"Project-Id-Version: sudoers 1.9.16b1\n" "Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n" -"POT-Creation-Date: 2023-10-19 10:02-0600\n" -"PO-Revision-Date: 2023-10-23 22:32+0900\n" +"POT-Creation-Date: 2024-06-08 09:06-0600\n" +"PO-Revision-Date: 2024-06-18 18:32+0900\n" "Last-Translator: Seong-ho Cho \n" "Language-Team: Korean \n" "Language: ko\n" @@ -17,9 +17,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Bugs: Report translation errors to the Language-Team address.\n" -"X-Generator: Poedit 3.4\n" +"X-Generator: Poedit 3.4.4\n" -#: confstr.sh:1 gram.y:1257 plugins/sudoers/logging.c:911 +#: confstr.sh:1 gram.y:1240 plugins/sudoers/logging.c:919 msgid "syntax error" msgstr "문법 오류" @@ -44,16 +44,16 @@ msgid "Sorry, try again." msgstr "죄송합니다만, 다시 시도하십시오." #: gram.y:238 gram.y:305 gram.y:314 gram.y:323 gram.y:333 gram.y:343 gram.y:367 -#: gram.y:394 gram.y:403 gram.y:411 gram.y:420 gram.y:429 gram.y:503 gram.y:513 -#: gram.y:525 gram.y:573 gram.y:582 gram.y:591 gram.y:600 gram.y:733 gram.y:742 -#: gram.y:757 gram.y:777 gram.y:796 gram.y:959 gram.y:964 gram.y:972 gram.y:986 -#: gram.y:992 gram.y:1004 gram.y:1010 gram.y:1135 gram.y:1144 gram.y:1152 -#: gram.y:1161 gram.y:1170 gram.y:1199 gram.y:1208 gram.y:1216 gram.y:1317 -#: gram.y:1447 gram.y:1829 gram.y:1840 gram.y:1922 lib/eventlog/eventlog.c:236 -#: lib/eventlog/eventlog.c:313 lib/eventlog/eventlog.c:765 -#: lib/eventlog/eventlog.c:842 lib/eventlog/eventlog.c:1175 -#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:484 -#: lib/eventlog/parse_json.c:514 lib/iolog/iolog_filter.c:142 +#: gram.y:394 gram.y:403 gram.y:411 gram.y:420 gram.y:429 gram.y:502 gram.y:512 +#: gram.y:524 gram.y:566 gram.y:575 gram.y:584 gram.y:593 gram.y:726 gram.y:735 +#: gram.y:750 gram.y:770 gram.y:789 gram.y:942 gram.y:947 gram.y:955 gram.y:969 +#: gram.y:975 gram.y:987 gram.y:993 gram.y:1118 gram.y:1127 gram.y:1135 +#: gram.y:1144 gram.y:1153 gram.y:1182 gram.y:1191 gram.y:1199 gram.y:1300 +#: gram.y:1430 gram.y:1811 gram.y:1822 gram.y:1898 lib/eventlog/eventlog.c:236 +#: lib/eventlog/eventlog.c:313 lib/eventlog/eventlog.c:778 +#: lib/eventlog/eventlog.c:855 lib/eventlog/eventlog.c:1189 +#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:501 +#: lib/eventlog/parse_json.c:531 lib/iolog/iolog_filter.c:142 #: lib/iolog/iolog_filter.c:202 lib/iolog/iolog_filter.c:233 #: lib/iolog/iolog_legacy.c:101 lib/iolog/iolog_legacy.c:112 #: lib/iolog/iolog_legacy.c:124 lib/iolog/iolog_legacy.c:134 @@ -64,13 +64,13 @@ msgstr "죄송합니다만, 다시 시도하십시오." #: logsrvd/iolog_writer.c:218 logsrvd/iolog_writer.c:228 #: logsrvd/iolog_writer.c:257 logsrvd/iolog_writer.c:278 #: logsrvd/iolog_writer.c:290 logsrvd/iolog_writer.c:300 -#: logsrvd/iolog_writer.c:310 logsrvd/iolog_writer.c:320 -#: logsrvd/iolog_writer.c:330 logsrvd/iolog_writer.c:342 -#: logsrvd/iolog_writer.c:377 logsrvd/iolog_writer.c:383 -#: logsrvd/iolog_writer.c:390 logsrvd/iolog_writer.c:396 -#: logsrvd/iolog_writer.c:580 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:323 -#: logsrvd/logsrvd.c:1057 logsrvd/logsrvd.c:1120 logsrvd/logsrvd.c:1589 -#: logsrvd/logsrvd.c:1594 logsrvd/logsrvd.c:1781 logsrvd/logsrvd.c:2003 +#: logsrvd/iolog_writer.c:318 logsrvd/iolog_writer.c:328 +#: logsrvd/iolog_writer.c:338 logsrvd/iolog_writer.c:350 +#: logsrvd/iolog_writer.c:385 logsrvd/iolog_writer.c:391 +#: logsrvd/iolog_writer.c:398 logsrvd/iolog_writer.c:404 +#: logsrvd/iolog_writer.c:588 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:324 +#: logsrvd/logsrvd.c:1058 logsrvd/logsrvd.c:1121 logsrvd/logsrvd.c:1599 +#: logsrvd/logsrvd.c:1604 logsrvd/logsrvd.c:1791 logsrvd/logsrvd.c:2046 #: 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 @@ -78,11 +78,11 @@ msgstr "죄송합니다만, 다시 시도하십시오." #: 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_conf.c:829 logsrvd/logsrvd_conf.c:1041 +#: logsrvd/logsrvd_conf.c:1058 logsrvd/logsrvd_conf.c:1453 +#: logsrvd/logsrvd_conf.c:1600 logsrvd/logsrvd_conf.c:1626 +#: logsrvd/logsrvd_conf.c:1638 logsrvd/logsrvd_conf.c:1645 +#: logsrvd/logsrvd_conf.c:1651 logsrvd/logsrvd_conf.c:1748 #: logsrvd/logsrvd_journal.c:76 logsrvd/logsrvd_journal.c:216 #: logsrvd/logsrvd_journal.c:217 logsrvd/logsrvd_journal.c:274 #: logsrvd/logsrvd_journal.c:279 logsrvd/logsrvd_journal.c:439 @@ -95,10 +95,10 @@ msgstr "죄송합니다만, 다시 시도하십시오." #: logsrvd/logsrvd_queue.c:266 logsrvd/logsrvd_relay.c:446 #: logsrvd/logsrvd_relay.c:748 logsrvd/logsrvd_relay.c:855 #: logsrvd/sendlog.c:256 logsrvd/sendlog.c:265 logsrvd/sendlog.c:297 -#: logsrvd/sendlog.c:303 logsrvd/sendlog.c:352 logsrvd/sendlog.c:630 -#: logsrvd/sendlog.c:1822 plugins/sudoers/audit.c:118 -#: plugins/sudoers/auth/bsdauth.c:154 plugins/sudoers/auth/kerb5.c:122 -#: plugins/sudoers/auth/kerb5.c:150 plugins/sudoers/auth/pam.c:697 +#: logsrvd/sendlog.c:303 logsrvd/sendlog.c:352 logsrvd/sendlog.c:651 +#: logsrvd/sendlog.c:1847 plugins/sudoers/audit.c:118 +#: plugins/sudoers/auth/bsdauth.c:154 plugins/sudoers/auth/kerb5.c:123 +#: plugins/sudoers/auth/kerb5.c:151 plugins/sudoers/auth/pam.c:697 #: plugins/sudoers/auth/rfc1938.c:112 plugins/sudoers/auth/sia.c:61 #: plugins/sudoers/canon_path.c:129 plugins/sudoers/canon_path.c:161 #: plugins/sudoers/check_aliases.c:128 plugins/sudoers/check_util.c:56 @@ -108,33 +108,30 @@ msgstr "죄송합니다만, 다시 시도하십시오." #: plugins/sudoers/cvtsudoers.c:379 plugins/sudoers/cvtsudoers.c:399 #: plugins/sudoers/cvtsudoers.c:545 plugins/sudoers/cvtsudoers.c:698 #: plugins/sudoers/cvtsudoers.c:716 plugins/sudoers/cvtsudoers.c:891 -#: plugins/sudoers/cvtsudoers.c:899 plugins/sudoers/cvtsudoers.c:1395 -#: plugins/sudoers/cvtsudoers.c:1399 plugins/sudoers/cvtsudoers.c:1501 -#: plugins/sudoers/cvtsudoers_csv.c:183 plugins/sudoers/cvtsudoers_csv.c:247 -#: plugins/sudoers/cvtsudoers_json.c:76 plugins/sudoers/cvtsudoers_ldif.c:152 -#: plugins/sudoers/cvtsudoers_ldif.c:195 plugins/sudoers/cvtsudoers_ldif.c:236 -#: plugins/sudoers/cvtsudoers_ldif.c:302 plugins/sudoers/cvtsudoers_ldif.c:378 -#: plugins/sudoers/cvtsudoers_ldif.c:432 plugins/sudoers/cvtsudoers_ldif.c:440 -#: plugins/sudoers/cvtsudoers_ldif.c:451 plugins/sudoers/cvtsudoers_ldif.c:458 -#: plugins/sudoers/cvtsudoers_ldif.c:470 plugins/sudoers/cvtsudoers_ldif.c:483 -#: plugins/sudoers/cvtsudoers_ldif.c:491 plugins/sudoers/cvtsudoers_ldif.c:638 -#: 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:455 -#: plugins/sudoers/defaults.c:689 plugins/sudoers/defaults.c:1051 -#: plugins/sudoers/defaults.c:1235 plugins/sudoers/editor.c:198 -#: plugins/sudoers/env.c:263 plugins/sudoers/exptilde.c:92 +#: plugins/sudoers/cvtsudoers.c:899 plugins/sudoers/cvtsudoers.c:1393 +#: plugins/sudoers/cvtsudoers.c:1397 plugins/sudoers/cvtsudoers.c:1497 +#: plugins/sudoers/cvtsudoers_csv.c:182 plugins/sudoers/cvtsudoers_csv.c:255 +#: plugins/sudoers/cvtsudoers_json.c:604 plugins/sudoers/cvtsudoers_json.c:639 +#: plugins/sudoers/cvtsudoers_json.c:1016 +#: plugins/sudoers/cvtsudoers_json.c:1041 plugins/sudoers/cvtsudoers_ldif.c:112 +#: plugins/sudoers/cvtsudoers_ldif.c:144 plugins/sudoers/cvtsudoers_ldif.c:260 +#: plugins/sudoers/cvtsudoers_ldif.c:573 plugins/sudoers/cvtsudoers_ldif.c:586 +#: plugins/sudoers/cvtsudoers_ldif.c:591 plugins/sudoers/cvtsudoers_ldif.c:761 +#: plugins/sudoers/cvtsudoers_merge.c:57 plugins/sudoers/cvtsudoers_merge.c:357 +#: plugins/sudoers/cvtsudoers_merge.c:405 +#: plugins/sudoers/cvtsudoers_merge.c:454 +#: plugins/sudoers/cvtsudoers_merge.c:476 +#: plugins/sudoers/cvtsudoers_merge.c:588 +#: plugins/sudoers/cvtsudoers_merge.c:664 +#: plugins/sudoers/cvtsudoers_merge.c:1197 +#: plugins/sudoers/cvtsudoers_merge.c:1281 plugins/sudoers/defaults.c:455 +#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1062 +#: plugins/sudoers/defaults.c:1248 plugins/sudoers/editor.c:198 +#: plugins/sudoers/env.c:280 plugins/sudoers/exptilde.c:92 #: plugins/sudoers/filedigest.c:66 plugins/sudoers/filedigest.c:70 #: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:212 -#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268 -#: plugins/sudoers/iolog.c:675 plugins/sudoers/iolog.c:703 +#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:270 +#: plugins/sudoers/iolog.c:683 plugins/sudoers/iolog.c:711 #: plugins/sudoers/ldap.c:161 plugins/sudoers/ldap.c:448 #: plugins/sudoers/ldap.c:625 plugins/sudoers/ldap.c:789 #: plugins/sudoers/ldap.c:1214 plugins/sudoers/ldap.c:1642 @@ -144,23 +141,23 @@ msgstr "죄송합니다만, 다시 시도하십시오." #: plugins/sudoers/ldap_conf.c:299 plugins/sudoers/ldap_conf.c:335 #: plugins/sudoers/ldap_conf.c:441 plugins/sudoers/ldap_conf.c:456 #: plugins/sudoers/ldap_conf.c:565 plugins/sudoers/ldap_conf.c:598 -#: plugins/sudoers/ldap_conf.c:694 plugins/sudoers/ldap_conf.c:776 +#: plugins/sudoers/ldap_conf.c:696 plugins/sudoers/ldap_conf.c:778 #: 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:717 plugins/sudoers/log_client.c:739 -#: plugins/sudoers/log_client.c:744 plugins/sudoers/log_client.c:1426 -#: plugins/sudoers/log_client.c:1547 plugins/sudoers/log_client.c:1670 -#: plugins/sudoers/log_client.c:1993 plugins/sudoers/log_client.c:2052 +#: plugins/sudoers/ldap_util.c:615 plugins/sudoers/linux_audit.c:86 +#: plugins/sudoers/log_client.c:117 plugins/sudoers/log_client.c:411 +#: plugins/sudoers/log_client.c:726 plugins/sudoers/log_client.c:748 +#: plugins/sudoers/log_client.c:753 plugins/sudoers/log_client.c:1449 +#: plugins/sudoers/log_client.c:1570 plugins/sudoers/log_client.c:1693 +#: plugins/sudoers/log_client.c:2018 plugins/sudoers/log_client.c:2077 #: plugins/sudoers/logging.c:110 plugins/sudoers/logging.c:190 -#: plugins/sudoers/logging.c:475 plugins/sudoers/logging.c:711 -#: plugins/sudoers/logging.c:872 plugins/sudoers/lookup.c:338 -#: plugins/sudoers/lookup.c:355 plugins/sudoers/lookup.c:374 -#: plugins/sudoers/lookup.c:393 plugins/sudoers/lookup.c:410 -#: plugins/sudoers/lookup.c:433 plugins/sudoers/lookup.c:444 -#: plugins/sudoers/match_command.c:302 plugins/sudoers/match_command.c:574 -#: plugins/sudoers/match_command.c:641 plugins/sudoers/match_command.c:737 -#: plugins/sudoers/match_command.c:785 plugins/sudoers/match_digest.c:88 +#: plugins/sudoers/logging.c:483 plugins/sudoers/logging.c:723 +#: plugins/sudoers/logging.c:880 plugins/sudoers/lookup.c:331 +#: plugins/sudoers/lookup.c:348 plugins/sudoers/lookup.c:366 +#: plugins/sudoers/lookup.c:384 plugins/sudoers/lookup.c:401 +#: plugins/sudoers/lookup.c:423 plugins/sudoers/lookup.c:434 +#: plugins/sudoers/match_command.c:280 plugins/sudoers/match_command.c:544 +#: plugins/sudoers/match_command.c:608 plugins/sudoers/match_command.c:702 +#: plugins/sudoers/match_command.c:750 plugins/sudoers/match_digest.c:88 #: 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 @@ -171,107 +168,107 @@ msgstr "죄송합니다만, 다시 시도하십시오." #: 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:646 plugins/sudoers/policy.c:1061 +#: plugins/sudoers/policy.c:654 plugins/sudoers/policy.c:1071 #: plugins/sudoers/prompt.c:94 plugins/sudoers/pwutil.c:219 #: plugins/sudoers/pwutil.c:290 plugins/sudoers/pwutil.c:368 #: plugins/sudoers/pwutil.c:542 plugins/sudoers/pwutil.c:607 #: plugins/sudoers/pwutil.c:679 plugins/sudoers/pwutil.c:877 -#: plugins/sudoers/pwutil.c:967 plugins/sudoers/pwutil.c:1015 -#: plugins/sudoers/pwutil.c:1076 plugins/sudoers/sethost.c:85 +#: plugins/sudoers/pwutil.c:970 plugins/sudoers/pwutil.c:1018 +#: plugins/sudoers/pwutil.c:1082 plugins/sudoers/sethost.c:89 #: plugins/sudoers/sssd.c:145 plugins/sudoers/sssd.c:186 #: plugins/sudoers/sssd.c:415 plugins/sudoers/sssd.c:480 #: plugins/sudoers/sssd.c:507 plugins/sudoers/sssd.c:570 #: plugins/sudoers/sssd.c:765 plugins/sudoers/strvec_join.c:53 #: plugins/sudoers/sudoers.c:405 plugins/sudoers/sudoers.c:412 -#: plugins/sudoers/sudoers.c:656 plugins/sudoers/sudoers.c:666 -#: plugins/sudoers/sudoers.c:811 plugins/sudoers/sudoers.c:877 -#: plugins/sudoers/sudoers.c:936 plugins/sudoers/sudoers.c:985 -#: plugins/sudoers/sudoers.c:1144 plugins/sudoers/sudoers.c:1213 -#: plugins/sudoers/sudoers.c:1307 plugins/sudoers/sudoers_cb.c:150 +#: plugins/sudoers/sudoers.c:673 plugins/sudoers/sudoers.c:683 +#: plugins/sudoers/sudoers.c:828 plugins/sudoers/sudoers.c:894 +#: plugins/sudoers/sudoers.c:953 plugins/sudoers/sudoers.c:1002 +#: plugins/sudoers/sudoers.c:1162 plugins/sudoers/sudoers.c:1231 +#: plugins/sudoers/sudoers.c:1325 plugins/sudoers/sudoers_cb.c:150 #: plugins/sudoers/sudoreplay.c:559 plugins/sudoers/sudoreplay.c:562 -#: plugins/sudoers/sudoreplay.c:1279 plugins/sudoers/sudoreplay.c:1335 -#: plugins/sudoers/sudoreplay.c:1531 plugins/sudoers/sudoreplay.c:1535 +#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1337 +#: plugins/sudoers/sudoreplay.c:1533 plugins/sudoers/sudoreplay.c:1537 #: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:256 #: plugins/sudoers/testsudoers.c:265 plugins/sudoers/testsudoers.c:275 #: plugins/sudoers/testsudoers.c:282 plugins/sudoers/testsudoers.c:302 -#: plugins/sudoers/testsudoers.c:758 plugins/sudoers/timestamp.c:469 -#: plugins/sudoers/timestamp.c:513 plugins/sudoers/timestamp.c:1042 -#: plugins/sudoers/timestamp.c:1216 plugins/sudoers/toke_util.c:79 +#: plugins/sudoers/testsudoers.c:756 plugins/sudoers/timestamp.c:468 +#: plugins/sudoers/timestamp.c:514 plugins/sudoers/timestamp.c:1045 +#: plugins/sudoers/timestamp.c:1248 plugins/sudoers/toke_util.c:79 #: plugins/sudoers/toke_util.c:108 plugins/sudoers/toke_util.c:134 #: plugins/sudoers/toke_util.c:164 plugins/sudoers/toke_util.c:204 -#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:151 +#: plugins/sudoers/tsdump.c:136 plugins/sudoers/visudo.c:151 #: plugins/sudoers/visudo.c:258 plugins/sudoers/visudo.c:383 #: plugins/sudoers/visudo.c:389 plugins/sudoers/visudo.c:501 #: plugins/sudoers/visudo.c:1073 plugins/sudoers/visudo.c:1095 -#: plugins/sudoers/visudo.c:1189 toke.l:1031 toke.l:1194 toke.l:1213 -#: toke.l:1240 toke.l:1320 +#: plugins/sudoers/visudo.c:1189 toke.l:1011 toke.l:1174 toke.l:1193 +#: toke.l:1220 toke.l:1300 msgid "unable to allocate memory" msgstr "메모리를 할당할 수 없습니다" -#: gram.y:624 +#: gram.y:617 msgid "a digest requires a path name" msgstr "다이제스트에 경로 이름이 필요합니다" -#: gram.y:646 +#: gram.y:639 msgid "values for \"CWD\" must start with a '/', '~', or '*'" msgstr "%s: \"CWD\" 값은 '/'; '~'; '*' 문자로 시작해야합니다" -#: gram.y:652 +#: gram.y:645 msgid "\"CWD\" path too long" msgstr "\"CWD\" 경로가 너무 깁니다" -#: gram.y:662 +#: gram.y:655 msgid "values for \"CHROOT\" must start with a '/', '~', or '*'" msgstr "%s: \"CHROOT\" 값은 '/'; '~'; '*' 문자로 시작해야합니다" -#: gram.y:668 +#: gram.y:661 msgid "\"CHROOT\" path too long" msgstr "\"CHROOT\" 경로가 너무 깁니다" -#: gram.y:817 +#: gram.y:810 #, c-format msgid "syntax error, reserved word %s used as an alias name" msgstr "문법 오류. %s 예약어를 별칭으로 썼습니다" -#: gram.y:840 +#: gram.y:833 msgid "invalid notbefore value" msgstr "부적절한 notbefore 값" -#: gram.y:849 +#: gram.y:842 msgid "invalid notafter value" msgstr "부적절한 notafter 값" -#: gram.y:859 plugins/sudoers/policy.c:390 +#: gram.y:852 plugins/sudoers/policy.c:373 msgid "timeout value too large" msgstr "제한 시간 값이 너무 큽니다" -#: gram.y:861 plugins/sudoers/policy.c:392 +#: gram.y:854 plugins/sudoers/policy.c:375 msgid "invalid timeout value" msgstr "부적절한 제한 시간 값" -#: gram.y:982 plugins/sudoers/sudoers.c:1162 +#: gram.y:965 plugins/sudoers/sudoers.c:1180 msgid "command too long" msgstr "명령이 너무 깁니다" -#: gram.y:1016 +#: gram.y:999 msgid "expected a fully-qualified path name" msgstr "완전한 경로 이름이 필요합니다" -#: gram.y:1261 +#: gram.y:1244 #, c-format msgid "%s:%d:%zu: %s\n" msgstr "%s:%d:%zu: %s\n" -#: gram.y:1315 +#: gram.y:1298 #, c-format msgid "Alias \"%s\" already defined" msgstr "\"%s\" 별칭을 이미 정의했습니다" -#: gram.y:1829 gram.y:1840 gram.y:1922 lib/eventlog/eventlog.c:236 -#: lib/eventlog/eventlog.c:765 lib/eventlog/eventlog.c:838 -#: lib/eventlog/eventlog.c:841 lib/eventlog/eventlog.c:1175 -#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:483 -#: lib/eventlog/parse_json.c:514 lib/iolog/iolog_filter.c:142 +#: gram.y:1811 gram.y:1822 gram.y:1898 lib/eventlog/eventlog.c:236 +#: lib/eventlog/eventlog.c:778 lib/eventlog/eventlog.c:851 +#: lib/eventlog/eventlog.c:854 lib/eventlog/eventlog.c:1189 +#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:500 +#: lib/eventlog/parse_json.c:531 lib/iolog/iolog_filter.c:142 #: lib/iolog/iolog_filter.c:202 lib/iolog/iolog_filter.c:232 #: lib/iolog/iolog_legacy.c:101 lib/iolog/iolog_legacy.c:112 #: lib/iolog/iolog_legacy.c:124 lib/iolog/iolog_legacy.c:134 @@ -284,16 +281,16 @@ msgstr "\"%s\" 별칭을 이미 정의했습니다" #: logsrvd/iolog_writer.c:246 logsrvd/iolog_writer.c:256 #: logsrvd/iolog_writer.c:267 logsrvd/iolog_writer.c:277 #: logsrvd/iolog_writer.c:289 logsrvd/iolog_writer.c:299 -#: logsrvd/iolog_writer.c:309 logsrvd/iolog_writer.c:319 -#: logsrvd/iolog_writer.c:329 logsrvd/iolog_writer.c:341 -#: logsrvd/iolog_writer.c:377 logsrvd/iolog_writer.c:383 -#: logsrvd/iolog_writer.c:390 logsrvd/iolog_writer.c:396 -#: logsrvd/iolog_writer.c:580 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:323 -#: logsrvd/logsrvd.c:461 logsrvd/logsrvd.c:498 logsrvd/logsrvd.c:530 -#: logsrvd/logsrvd.c:584 logsrvd/logsrvd.c:619 logsrvd/logsrvd.c:668 -#: logsrvd/logsrvd.c:704 logsrvd/logsrvd.c:740 logsrvd/logsrvd.c:1131 -#: logsrvd/logsrvd.c:1446 logsrvd/logsrvd.c:1453 logsrvd/logsrvd.c:1589 -#: logsrvd/logsrvd.c:1594 logsrvd/logsrvd.c:1781 logsrvd/logsrvd.c:2003 +#: logsrvd/iolog_writer.c:317 logsrvd/iolog_writer.c:327 +#: logsrvd/iolog_writer.c:337 logsrvd/iolog_writer.c:349 +#: logsrvd/iolog_writer.c:385 logsrvd/iolog_writer.c:391 +#: logsrvd/iolog_writer.c:398 logsrvd/iolog_writer.c:404 +#: logsrvd/iolog_writer.c:588 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:324 +#: logsrvd/logsrvd.c:462 logsrvd/logsrvd.c:499 logsrvd/logsrvd.c:531 +#: logsrvd/logsrvd.c:585 logsrvd/logsrvd.c:620 logsrvd/logsrvd.c:669 +#: logsrvd/logsrvd.c:705 logsrvd/logsrvd.c:741 logsrvd/logsrvd.c:1132 +#: logsrvd/logsrvd.c:1456 logsrvd/logsrvd.c:1463 logsrvd/logsrvd.c:1599 +#: logsrvd/logsrvd.c:1604 logsrvd/logsrvd.c:1791 logsrvd/logsrvd.c:2046 #: 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 @@ -301,11 +298,11 @@ msgstr "\"%s\" 별칭을 이미 정의했습니다" #: 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_conf.c:829 logsrvd/logsrvd_conf.c:1041 +#: logsrvd/logsrvd_conf.c:1058 logsrvd/logsrvd_conf.c:1453 +#: logsrvd/logsrvd_conf.c:1600 logsrvd/logsrvd_conf.c:1626 +#: logsrvd/logsrvd_conf.c:1638 logsrvd/logsrvd_conf.c:1645 +#: logsrvd/logsrvd_conf.c:1651 logsrvd/logsrvd_conf.c:1747 #: logsrvd/logsrvd_journal.c:76 logsrvd/logsrvd_journal.c:125 #: logsrvd/logsrvd_journal.c:216 logsrvd/logsrvd_journal.c:246 #: logsrvd/logsrvd_journal.c:250 logsrvd/logsrvd_journal.c:258 @@ -316,8 +313,8 @@ msgstr "\"%s\" 별칭을 이미 정의했습니다" #: logsrvd/logsrvd_queue.c:158 logsrvd/logsrvd_queue.c:189 #: logsrvd/logsrvd_queue.c:266 logsrvd/sendlog.c:256 logsrvd/sendlog.c:265 #: logsrvd/sendlog.c:297 logsrvd/sendlog.c:303 logsrvd/sendlog.c:352 -#: logsrvd/sendlog.c:630 logsrvd/sendlog.c:1523 logsrvd/sendlog.c:1530 -#: logsrvd/sendlog.c:1753 logsrvd/sendlog.c:1822 logsrvd/tls_init.c:305 +#: logsrvd/sendlog.c:651 logsrvd/sendlog.c:1548 logsrvd/sendlog.c:1555 +#: logsrvd/sendlog.c:1778 logsrvd/sendlog.c:1847 logsrvd/tls_init.c:305 #: logsrvd/tls_init.c:329 logsrvd/tls_init.c:340 plugins/sudoers/audit.c:118 #: plugins/sudoers/auth/pam.c:518 plugins/sudoers/auth/pam.c:697 #: plugins/sudoers/auth/rfc1938.c:112 plugins/sudoers/canon_path.c:129 @@ -328,34 +325,31 @@ msgstr "\"%s\" 별칭을 이미 정의했습니다" #: plugins/sudoers/cvtsudoers.c:337 plugins/sudoers/cvtsudoers.c:544 #: plugins/sudoers/cvtsudoers.c:697 plugins/sudoers/cvtsudoers.c:715 #: plugins/sudoers/cvtsudoers.c:891 plugins/sudoers/cvtsudoers.c:898 -#: plugins/sudoers/cvtsudoers.c:1395 plugins/sudoers/cvtsudoers.c:1399 -#: plugins/sudoers/cvtsudoers.c:1501 plugins/sudoers/cvtsudoers_csv.c:182 -#: plugins/sudoers/cvtsudoers_csv.c:246 plugins/sudoers/cvtsudoers_json.c:75 -#: plugins/sudoers/cvtsudoers_ldif.c:151 plugins/sudoers/cvtsudoers_ldif.c:194 -#: plugins/sudoers/cvtsudoers_ldif.c:235 plugins/sudoers/cvtsudoers_ldif.c:301 -#: plugins/sudoers/cvtsudoers_ldif.c:377 plugins/sudoers/cvtsudoers_ldif.c:431 -#: plugins/sudoers/cvtsudoers_ldif.c:439 plugins/sudoers/cvtsudoers_ldif.c:450 -#: plugins/sudoers/cvtsudoers_ldif.c:457 plugins/sudoers/cvtsudoers_ldif.c:469 -#: plugins/sudoers/cvtsudoers_ldif.c:482 plugins/sudoers/cvtsudoers_ldif.c:490 -#: plugins/sudoers/cvtsudoers_ldif.c:637 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:455 -#: plugins/sudoers/defaults.c:689 plugins/sudoers/defaults.c:1051 -#: plugins/sudoers/defaults.c:1235 plugins/sudoers/editor.c:198 -#: plugins/sudoers/env.c:263 plugins/sudoers/exptilde.c:92 +#: plugins/sudoers/cvtsudoers.c:1393 plugins/sudoers/cvtsudoers.c:1397 +#: plugins/sudoers/cvtsudoers.c:1497 plugins/sudoers/cvtsudoers_csv.c:182 +#: plugins/sudoers/cvtsudoers_csv.c:255 plugins/sudoers/cvtsudoers_json.c:604 +#: plugins/sudoers/cvtsudoers_json.c:639 plugins/sudoers/cvtsudoers_json.c:1016 +#: plugins/sudoers/cvtsudoers_json.c:1041 plugins/sudoers/cvtsudoers_ldif.c:112 +#: plugins/sudoers/cvtsudoers_ldif.c:144 plugins/sudoers/cvtsudoers_ldif.c:260 +#: plugins/sudoers/cvtsudoers_ldif.c:573 plugins/sudoers/cvtsudoers_ldif.c:586 +#: plugins/sudoers/cvtsudoers_ldif.c:591 plugins/sudoers/cvtsudoers_ldif.c:761 +#: plugins/sudoers/cvtsudoers_merge.c:57 plugins/sudoers/cvtsudoers_merge.c:357 +#: plugins/sudoers/cvtsudoers_merge.c:405 +#: plugins/sudoers/cvtsudoers_merge.c:453 +#: plugins/sudoers/cvtsudoers_merge.c:475 +#: plugins/sudoers/cvtsudoers_merge.c:583 +#: plugins/sudoers/cvtsudoers_merge.c:588 +#: plugins/sudoers/cvtsudoers_merge.c:661 +#: plugins/sudoers/cvtsudoers_merge.c:664 +#: plugins/sudoers/cvtsudoers_merge.c:1196 +#: plugins/sudoers/cvtsudoers_merge.c:1281 plugins/sudoers/defaults.c:455 +#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1062 +#: plugins/sudoers/defaults.c:1248 plugins/sudoers/editor.c:198 +#: plugins/sudoers/env.c:280 plugins/sudoers/exptilde.c:92 #: plugins/sudoers/filedigest.c:66 plugins/sudoers/filedigest.c:70 #: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:211 -#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268 -#: plugins/sudoers/iolog.c:675 plugins/sudoers/iolog.c:703 +#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:270 +#: plugins/sudoers/iolog.c:683 plugins/sudoers/iolog.c:711 #: plugins/sudoers/ldap.c:161 plugins/sudoers/ldap.c:448 #: plugins/sudoers/ldap.c:625 plugins/sudoers/ldap.c:789 #: plugins/sudoers/ldap.c:1214 plugins/sudoers/ldap.c:1642 @@ -365,26 +359,26 @@ msgstr "\"%s\" 별칭을 이미 정의했습니다" #: plugins/sudoers/ldap_conf.c:299 plugins/sudoers/ldap_conf.c:335 #: plugins/sudoers/ldap_conf.c:441 plugins/sudoers/ldap_conf.c:456 #: plugins/sudoers/ldap_conf.c:565 plugins/sudoers/ldap_conf.c:598 -#: plugins/sudoers/ldap_conf.c:693 plugins/sudoers/ldap_conf.c:776 +#: plugins/sudoers/ldap_conf.c:695 plugins/sudoers/ldap_conf.c:778 #: 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:717 -#: plugins/sudoers/log_client.c:739 plugins/sudoers/log_client.c:744 -#: plugins/sudoers/log_client.c:1426 plugins/sudoers/log_client.c:1547 -#: plugins/sudoers/log_client.c:1670 plugins/sudoers/log_client.c:1993 -#: plugins/sudoers/log_client.c:2052 plugins/sudoers/logging.c:110 +#: plugins/sudoers/ldap_util.c:615 plugins/sudoers/linux_audit.c:86 +#: plugins/sudoers/log_client.c:117 plugins/sudoers/log_client.c:237 +#: plugins/sudoers/log_client.c:259 plugins/sudoers/log_client.c:273 +#: plugins/sudoers/log_client.c:411 plugins/sudoers/log_client.c:726 +#: plugins/sudoers/log_client.c:748 plugins/sudoers/log_client.c:753 +#: plugins/sudoers/log_client.c:1449 plugins/sudoers/log_client.c:1570 +#: plugins/sudoers/log_client.c:1693 plugins/sudoers/log_client.c:2018 +#: plugins/sudoers/log_client.c:2077 plugins/sudoers/logging.c:110 #: plugins/sudoers/logging.c:189 plugins/sudoers/logging.c:190 -#: plugins/sudoers/logging.c:475 plugins/sudoers/logging.c:711 -#: plugins/sudoers/logging.c:755 plugins/sudoers/logging.c:872 -#: plugins/sudoers/logging.c:925 plugins/sudoers/logging.c:932 -#: plugins/sudoers/lookup.c:337 plugins/sudoers/lookup.c:354 -#: plugins/sudoers/lookup.c:373 plugins/sudoers/lookup.c:392 -#: plugins/sudoers/lookup.c:409 plugins/sudoers/lookup.c:432 -#: plugins/sudoers/lookup.c:443 plugins/sudoers/match_command.c:301 -#: plugins/sudoers/match_command.c:573 plugins/sudoers/match_command.c:640 -#: plugins/sudoers/match_command.c:737 plugins/sudoers/match_command.c:784 +#: plugins/sudoers/logging.c:483 plugins/sudoers/logging.c:723 +#: plugins/sudoers/logging.c:763 plugins/sudoers/logging.c:880 +#: plugins/sudoers/logging.c:933 plugins/sudoers/logging.c:940 +#: plugins/sudoers/lookup.c:330 plugins/sudoers/lookup.c:347 +#: plugins/sudoers/lookup.c:365 plugins/sudoers/lookup.c:383 +#: plugins/sudoers/lookup.c:400 plugins/sudoers/lookup.c:422 +#: plugins/sudoers/lookup.c:433 plugins/sudoers/match_command.c:279 +#: plugins/sudoers/match_command.c:543 plugins/sudoers/match_command.c:607 +#: plugins/sudoers/match_command.c:702 plugins/sudoers/match_command.c:749 #: plugins/sudoers/match_digest.c:88 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 @@ -395,52 +389,52 @@ msgstr "\"%s\" 별칭을 이미 정의했습니다" #: plugins/sudoers/parse_ldif.c:595 plugins/sudoers/parse_ldif.c:624 #: plugins/sudoers/parse_ldif.c:649 plugins/sudoers/parse_ldif.c:707 #: plugins/sudoers/parse_ldif.c:724 plugins/sudoers/parse_ldif.c:752 -#: plugins/sudoers/parse_ldif.c:759 plugins/sudoers/policy.c:157 -#: plugins/sudoers/policy.c:166 plugins/sudoers/policy.c:175 -#: plugins/sudoers/policy.c:204 plugins/sudoers/policy.c:374 -#: plugins/sudoers/policy.c:390 plugins/sudoers/policy.c:392 -#: plugins/sudoers/policy.c:430 plugins/sudoers/policy.c:439 -#: plugins/sudoers/policy.c:448 plugins/sudoers/policy.c:457 -#: plugins/sudoers/policy.c:493 plugins/sudoers/policy.c:502 -#: plugins/sudoers/policy.c:511 plugins/sudoers/policy.c:520 -#: plugins/sudoers/policy.c:529 plugins/sudoers/policy.c:538 -#: plugins/sudoers/policy.c:547 plugins/sudoers/policy.c:646 -#: plugins/sudoers/policy.c:1061 plugins/sudoers/prompt.c:94 +#: plugins/sudoers/parse_ldif.c:759 plugins/sudoers/policy.c:152 +#: plugins/sudoers/policy.c:161 plugins/sudoers/policy.c:170 +#: plugins/sudoers/policy.c:199 plugins/sudoers/policy.c:357 +#: plugins/sudoers/policy.c:373 plugins/sudoers/policy.c:375 +#: plugins/sudoers/policy.c:414 plugins/sudoers/policy.c:423 +#: plugins/sudoers/policy.c:432 plugins/sudoers/policy.c:441 +#: plugins/sudoers/policy.c:492 plugins/sudoers/policy.c:501 +#: plugins/sudoers/policy.c:510 plugins/sudoers/policy.c:519 +#: plugins/sudoers/policy.c:528 plugins/sudoers/policy.c:537 +#: plugins/sudoers/policy.c:546 plugins/sudoers/policy.c:654 +#: plugins/sudoers/policy.c:1071 plugins/sudoers/prompt.c:94 #: plugins/sudoers/pwutil.c:219 plugins/sudoers/pwutil.c:290 #: plugins/sudoers/pwutil.c:368 plugins/sudoers/pwutil.c:542 #: plugins/sudoers/pwutil.c:607 plugins/sudoers/pwutil.c:679 -#: plugins/sudoers/pwutil.c:877 plugins/sudoers/pwutil.c:967 -#: plugins/sudoers/pwutil.c:1015 plugins/sudoers/pwutil.c:1076 +#: plugins/sudoers/pwutil.c:877 plugins/sudoers/pwutil.c:970 +#: plugins/sudoers/pwutil.c:1018 plugins/sudoers/pwutil.c:1082 #: plugins/sudoers/set_perms.c:374 plugins/sudoers/set_perms.c:723 #: plugins/sudoers/set_perms.c:1096 plugins/sudoers/set_perms.c:1409 -#: plugins/sudoers/set_perms.c:1579 plugins/sudoers/sethost.c:85 +#: plugins/sudoers/set_perms.c:1579 plugins/sudoers/sethost.c:89 #: plugins/sudoers/sssd.c:144 plugins/sudoers/sssd.c:186 #: plugins/sudoers/sssd.c:415 plugins/sudoers/sssd.c:480 #: plugins/sudoers/sssd.c:507 plugins/sudoers/sssd.c:570 #: plugins/sudoers/sssd.c:765 plugins/sudoers/strvec_join.c:53 #: plugins/sudoers/sudoers.c:405 plugins/sudoers/sudoers.c:412 -#: plugins/sudoers/sudoers.c:656 plugins/sudoers/sudoers.c:666 -#: plugins/sudoers/sudoers.c:811 plugins/sudoers/sudoers.c:877 -#: plugins/sudoers/sudoers.c:936 plugins/sudoers/sudoers.c:985 -#: plugins/sudoers/sudoers.c:1144 plugins/sudoers/sudoers.c:1213 -#: plugins/sudoers/sudoers.c:1306 plugins/sudoers/sudoers_cb.c:150 +#: plugins/sudoers/sudoers.c:673 plugins/sudoers/sudoers.c:683 +#: plugins/sudoers/sudoers.c:828 plugins/sudoers/sudoers.c:894 +#: plugins/sudoers/sudoers.c:953 plugins/sudoers/sudoers.c:1002 +#: plugins/sudoers/sudoers.c:1162 plugins/sudoers/sudoers.c:1231 +#: plugins/sudoers/sudoers.c:1324 plugins/sudoers/sudoers_cb.c:150 #: plugins/sudoers/sudoreplay.c:559 plugins/sudoers/sudoreplay.c:562 -#: plugins/sudoers/sudoreplay.c:1279 plugins/sudoers/sudoreplay.c:1335 -#: plugins/sudoers/sudoreplay.c:1531 plugins/sudoers/sudoreplay.c:1535 +#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1337 +#: plugins/sudoers/sudoreplay.c:1533 plugins/sudoers/sudoreplay.c:1537 #: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:255 #: plugins/sudoers/testsudoers.c:264 plugins/sudoers/testsudoers.c:275 #: plugins/sudoers/testsudoers.c:282 plugins/sudoers/testsudoers.c:302 -#: plugins/sudoers/testsudoers.c:758 plugins/sudoers/timestamp.c:469 -#: plugins/sudoers/timestamp.c:513 plugins/sudoers/timestamp.c:1042 -#: plugins/sudoers/timestamp.c:1216 plugins/sudoers/toke_util.c:79 +#: plugins/sudoers/testsudoers.c:756 plugins/sudoers/timestamp.c:468 +#: plugins/sudoers/timestamp.c:514 plugins/sudoers/timestamp.c:1045 +#: plugins/sudoers/timestamp.c:1248 plugins/sudoers/toke_util.c:79 #: plugins/sudoers/toke_util.c:108 plugins/sudoers/toke_util.c:134 #: plugins/sudoers/toke_util.c:163 plugins/sudoers/toke_util.c:204 -#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:151 +#: plugins/sudoers/tsdump.c:136 plugins/sudoers/visudo.c:151 #: plugins/sudoers/visudo.c:258 plugins/sudoers/visudo.c:383 #: plugins/sudoers/visudo.c:389 plugins/sudoers/visudo.c:501 #: plugins/sudoers/visudo.c:1073 plugins/sudoers/visudo.c:1094 -#: plugins/sudoers/visudo.c:1189 toke.l:1031 toke.l:1194 toke.l:1213 -#: toke.l:1240 toke.l:1309 toke.l:1320 +#: plugins/sudoers/visudo.c:1189 toke.l:1011 toke.l:1174 toke.l:1193 +#: toke.l:1220 toke.l:1289 toke.l:1300 #, c-format msgid "%s: %s" msgstr "%s: %s" @@ -469,12 +463,12 @@ msgstr "포킹할 수 없습니다: %m" msgid "unable to open pipe: %m" msgstr "파이프를 열 수 없습니다: %m" -#: lib/eventlog/eventlog.c:1000 +#: lib/eventlog/eventlog.c:1013 #, c-format msgid "%8s : %s" msgstr "%8s : %s" -#: lib/eventlog/eventlog.c:1029 +#: lib/eventlog/eventlog.c:1042 #, c-format msgid "%8s : (command continued) %s" msgstr "%8s : (명령 계속 실행) %s" @@ -488,73 +482,73 @@ msgstr "JSON_STRING 값을 기대했지만, %d 결과가 나왔습니다" msgid "JSON_ARRAY too large" msgstr "JSON_ARRAY 값이 너무 큽니다" -#: lib/eventlog/parse_json.c:506 +#: lib/eventlog/parse_json.c:523 msgid "missing double quote in name" msgstr "이름에 이중 따옴표가 빠졌습니다" -#: lib/eventlog/parse_json.c:624 +#: lib/eventlog/parse_json.c:641 msgid "missing JSON_OBJECT" msgstr "JSON_OBJECT 값이 빠졌습니다" -#: lib/eventlog/parse_json.c:628 +#: lib/eventlog/parse_json.c:645 #, c-format msgid "expected JSON_OBJECT, got %d" msgstr "JSON_OBJECT 값을 기대했지만, %d 결과가 나왔습니다" -#: lib/eventlog/parse_json.c:762 +#: lib/eventlog/parse_json.c:779 #, c-format msgid "json stack exhausted (max %u frames)" msgstr "json 스택 용량이 부족합니다 (최대 %u 프레임)" -#: lib/eventlog/parse_json.c:840 +#: lib/eventlog/parse_json.c:857 msgid "objects must consist of name:value pairs" msgstr "객체는 이름:값 쌍으로 구성해야 합니다" -#: lib/eventlog/parse_json.c:845 lib/eventlog/parse_json.c:876 -#: lib/eventlog/parse_json.c:920 lib/eventlog/parse_json.c:942 -#: lib/eventlog/parse_json.c:964 lib/eventlog/parse_json.c:986 -#: lib/eventlog/parse_json.c:1008 +#: lib/eventlog/parse_json.c:862 lib/eventlog/parse_json.c:893 +#: lib/eventlog/parse_json.c:937 lib/eventlog/parse_json.c:959 +#: lib/eventlog/parse_json.c:981 lib/eventlog/parse_json.c:1003 +#: lib/eventlog/parse_json.c:1025 msgid "missing separator between values" msgstr "값을 구분하는 구분자가 빠졌습니다" -#: lib/eventlog/parse_json.c:860 lib/eventlog/parse_json.c:1034 +#: lib/eventlog/parse_json.c:877 lib/eventlog/parse_json.c:1051 msgid "unmatched close brace" msgstr "일치하지 않는 중괄호 닫기 표시" -#: lib/eventlog/parse_json.c:871 +#: lib/eventlog/parse_json.c:888 msgid "unexpected array" msgstr "예기치 않은 배열 발견" -#: lib/eventlog/parse_json.c:891 lib/eventlog/parse_json.c:1037 +#: lib/eventlog/parse_json.c:908 lib/eventlog/parse_json.c:1054 msgid "unmatched close bracket" msgstr "일치하지 않는 각괄호 닫기 표시" -#: lib/eventlog/parse_json.c:902 +#: lib/eventlog/parse_json.c:919 msgid "unexpected string" msgstr "예기치 않은 문자열 값 발견" -#: lib/eventlog/parse_json.c:913 +#: lib/eventlog/parse_json.c:930 msgid "missing colon after name" msgstr "이름 뒤에 콜론이 빠졌습니다" -#: lib/eventlog/parse_json.c:934 lib/eventlog/parse_json.c:956 +#: lib/eventlog/parse_json.c:951 lib/eventlog/parse_json.c:973 msgid "unexpected boolean" msgstr "예기치 않은 부울린 값 발견" -#: lib/eventlog/parse_json.c:978 +#: lib/eventlog/parse_json.c:995 msgid "unexpected null" msgstr "예기치 않은 NULL 값 발견" -#: lib/eventlog/parse_json.c:999 +#: lib/eventlog/parse_json.c:1016 msgid "unexpected number" msgstr "예기치 않은 숫자 값 발견" -#: lib/eventlog/parse_json.c:1045 +#: lib/eventlog/parse_json.c:1062 msgid "parse error" msgstr "해석 오류" -#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1290 -#: plugins/sudoers/sudoreplay.c:1291 plugins/sudoers/sudoreplay.c:1587 +#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1303 +#: plugins/sudoers/sudoreplay.c:1293 plugins/sudoers/sudoreplay.c:1589 #, c-format msgid "invalid regular expression \"%s\": %s" msgstr "부적절한 정규 표현식 \"%s\": %s" @@ -594,8 +588,8 @@ msgstr "%s: 실행 그룹 필드가 빠졌습니다" msgid "%s exists but is not a directory (0%o)" msgstr "%s이(가) 있지만 디렉터리가 아닙니다(0%o)" -#: lib/iolog/iolog_mkdirs.c:124 lib/iolog/iolog_mkdtemp.c:80 -#: logsrvd/iolog_writer.c:795 plugins/sudoers/timestamp.c:218 +#: lib/iolog/iolog_mkdirs.c:125 lib/iolog/iolog_mkdtemp.c:80 +#: logsrvd/iolog_writer.c:803 plugins/sudoers/timestamp.c:218 #, c-format msgid "unable to mkdir %s" msgstr "mkdir %s 명령을 실행할 수 없습니다" @@ -633,90 +627,90 @@ msgstr "%s: 프로토콜 오류: %s의 잘못된 형식" msgid "%s: protocol error: NULL value found in %s" msgstr "%s: 프로토콜 오류: %s에 NULL값 들어감" -#: logsrvd/iolog_writer.c:141 plugins/sudoers/logging.c:1024 -#: plugins/sudoers/policy.c:613 +#: logsrvd/iolog_writer.c:141 plugins/sudoers/logging.c:1035 +#: plugins/sudoers/policy.c:621 msgid "unable to generate UUID" msgstr "UUID를 만들 수 없습니다" -#: logsrvd/iolog_writer.c:354 logsrvd/iolog_writer.c:359 -#: logsrvd/iolog_writer.c:364 logsrvd/iolog_writer.c:369 +#: logsrvd/iolog_writer.c:362 logsrvd/iolog_writer.c:367 +#: logsrvd/iolog_writer.c:372 logsrvd/iolog_writer.c:377 #, c-format msgid "%s: protocol error: %s missing from AcceptMessage" msgstr "%s: 프로토콜 오류: AcceptMessage에 %s 빠짐" -#: logsrvd/iolog_writer.c:430 +#: logsrvd/iolog_writer.c:438 #, c-format msgid "%s: unable to format session id" msgstr "%s: 세션 ID를 포매팅할 수 없습니다" -#: logsrvd/iolog_writer.c:444 logsrvd/iolog_writer.c:458 -#: logsrvd/iolog_writer.c:472 logsrvd/iolog_writer.c:487 -#: logsrvd/iolog_writer.c:501 logsrvd/iolog_writer.c:515 +#: logsrvd/iolog_writer.c:452 logsrvd/iolog_writer.c:466 +#: logsrvd/iolog_writer.c:480 logsrvd/iolog_writer.c:495 +#: logsrvd/iolog_writer.c:509 logsrvd/iolog_writer.c:523 #, c-format msgid "%s: %s is not set" msgstr "%s: %s을(를) 설정하지 않음" -#: logsrvd/iolog_writer.c:551 logsrvd/iolog_writer.c:558 +#: logsrvd/iolog_writer.c:559 logsrvd/iolog_writer.c:566 #, c-format msgid "unable to expand iolog path %s" msgstr "%s 입출력 로그 경로를 확장할 수 없습니다" -#: logsrvd/iolog_writer.c:576 +#: logsrvd/iolog_writer.c:584 #, c-format msgid "unable to create iolog path %s" msgstr "%s 입출력 로그 경로를 만들 수 없습니다" -#: logsrvd/iolog_writer.c:606 +#: logsrvd/iolog_writer.c:614 #, c-format msgid "invalid iofd %d" msgstr "부적절한 입출력 파일 서술자 %d번" -#: logsrvd/iolog_writer.c:626 +#: logsrvd/iolog_writer.c:634 #, c-format msgid "error closing iofd %u: %s" msgstr "%u 입출력 파일 서술자 닫기 오류: %s" -#: logsrvd/iolog_writer.c:647 +#: logsrvd/iolog_writer.c:655 #, c-format msgid "error flushing iofd %u: %s" msgstr "%u 입출력 파일 서술자 제거 오류: %s" -#: logsrvd/iolog_writer.c:765 +#: logsrvd/iolog_writer.c:773 #, c-format msgid "invalid I/O log %s: %s referenced but not present" msgstr "부적절한 %s 입출력 로그: %s을(를) 참조했지만 없습니다" -#: logsrvd/iolog_writer.c:777 logsrvd/logsrvd_journal.c:391 +#: logsrvd/iolog_writer.c:785 logsrvd/logsrvd_journal.c:391 #, c-format msgid "%s: unable to find resume point [%lld, %ld]" msgstr "%s: [%lld, %ld] 재개 지점을 찾을 수 없습니다" -#: logsrvd/iolog_writer.c:799 logsrvd/logsrvd_journal.c:434 +#: logsrvd/iolog_writer.c:807 logsrvd/logsrvd_journal.c:434 #: logsrvd/logsrvd_queue.c:115 logsrvd/tls_init.c:256 -#: plugins/sudoers/check.c:285 plugins/sudoers/cvtsudoers.c:758 -#: plugins/sudoers/cvtsudoers.c:780 plugins/sudoers/cvtsudoers.c:1461 -#: plugins/sudoers/cvtsudoers_csv.c:697 plugins/sudoers/cvtsudoers_json.c:902 -#: plugins/sudoers/cvtsudoers_ldif.c:711 plugins/sudoers/sudoers.c:1291 -#: plugins/sudoers/sudoers.c:1317 plugins/sudoers/sudoreplay.c:1497 -#: plugins/sudoers/timestamp.c:478 plugins/sudoers/tsdump.c:128 +#: plugins/sudoers/check.c:278 plugins/sudoers/cvtsudoers.c:758 +#: plugins/sudoers/cvtsudoers.c:780 plugins/sudoers/cvtsudoers.c:1457 +#: plugins/sudoers/cvtsudoers_csv.c:722 plugins/sudoers/cvtsudoers_json.c:1034 +#: plugins/sudoers/cvtsudoers_ldif.c:753 plugins/sudoers/sudoers.c:1309 +#: plugins/sudoers/sudoers.c:1335 plugins/sudoers/sudoreplay.c:1499 +#: plugins/sudoers/timestamp.c:477 plugins/sudoers/tsdump.c:141 #: plugins/sudoers/visudo.c:990 #, c-format msgid "unable to open %s" msgstr "%s을(를) 열 수 없습니다" -#: logsrvd/iolog_writer.c:811 logsrvd/logsrv_util.c:111 +#: logsrvd/iolog_writer.c:819 logsrvd/logsrv_util.c:111 #: logsrvd/logsrv_util.c:118 plugins/sudoers/sudoreplay.c:355 #: plugins/sudoers/sudoreplay.c:361 #, c-format msgid "unable to open %s/%s" msgstr "%s/%s을(를) 열 수 없습니다" -#: logsrvd/iolog_writer.c:824 +#: logsrvd/iolog_writer.c:832 #, c-format msgid "unable to copy %s/%s to %s/%s: %s" msgstr "%s/%s을(를) %s/%s(으)로 복사할 수 없습니다: %s" -#: logsrvd/iolog_writer.c:853 logsrvd/logsrvd_journal.c:198 +#: logsrvd/iolog_writer.c:861 logsrvd/logsrvd_journal.c:198 #, c-format msgid "unable to rename %s to %s" msgstr "%s을(를) %s(으)로 이름을 바꿀 수 없습니다" @@ -736,209 +730,209 @@ msgstr "입출력 로그 파일 %s/%s 빠짐" msgid "%s/%s: unable to seek forward %zu" msgstr "%s/%s: %zu회 이전 탐색을 진행할 수 없습니다" -#: logsrvd/logsrvd.c:271 logsrvd/logsrvd_queue.c:135 +#: logsrvd/logsrvd.c:272 logsrvd/logsrvd_queue.c:135 msgid "unable to connect to relay" msgstr "릴레이에 연결할 수 없습니다" -#: logsrvd/logsrvd.c:338 logsrvd/logsrvd_relay.c:847 +#: logsrvd/logsrvd.c:339 logsrvd/logsrvd_relay.c:847 #, c-format msgid "server message too large: %zu" msgstr "서버 메시지가 너무 깁니다: %zu" -#: logsrvd/logsrvd.c:430 logsrvd/logsrvd.c:553 logsrvd/logsrvd.c:639 -#: logsrvd/logsrvd.c:881 logsrvd/logsrvd.c:895 logsrvd/logsrvd.c:1056 -#: logsrvd/logsrvd.c:1181 logsrvd/logsrvd.c:1354 logsrvd/logsrvd.c:1372 -#: logsrvd/logsrvd.c:1471 logsrvd/logsrvd.c:1596 logsrvd/logsrvd.c:1783 +#: logsrvd/logsrvd.c:431 logsrvd/logsrvd.c:554 logsrvd/logsrvd.c:640 +#: logsrvd/logsrvd.c:882 logsrvd/logsrvd.c:896 logsrvd/logsrvd.c:1057 +#: logsrvd/logsrvd.c:1182 logsrvd/logsrvd.c:1364 logsrvd/logsrvd.c:1382 +#: logsrvd/logsrvd.c:1481 logsrvd/logsrvd.c:1606 logsrvd/logsrvd.c:1793 #: logsrvd/logsrvd_journal.c:503 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:391 logsrvd/logsrvd_relay.c:583 #: logsrvd/logsrvd_relay.c:747 logsrvd/logsrvd_relay.c:1137 -#: logsrvd/sendlog.c:1308 logsrvd/tls_client.c:136 logsrvd/tls_client.c:152 -#: logsrvd/tls_client.c:216 plugins/sudoers/audit.c:281 -#: plugins/sudoers/iolog.c:1041 plugins/sudoers/iolog.c:1175 -#: plugins/sudoers/iolog.c:1274 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:613 -#: plugins/sudoers/log_client.c:620 plugins/sudoers/log_client.c:1114 -#: plugins/sudoers/log_client.c:1395 plugins/sudoers/log_client.c:1436 -#: plugins/sudoers/log_client.c:1444 plugins/sudoers/log_client.c:1603 -#: plugins/sudoers/log_client.c:1728 plugins/sudoers/log_client.c:2060 -#: plugins/sudoers/log_client.c:2068 plugins/sudoers/logging.c:148 +#: logsrvd/sendlog.c:1333 logsrvd/tls_client.c:145 logsrvd/tls_client.c:161 +#: logsrvd/tls_client.c:225 plugins/sudoers/audit.c:281 +#: plugins/sudoers/iolog.c:1049 plugins/sudoers/iolog.c:1183 +#: plugins/sudoers/iolog.c:1282 plugins/sudoers/log_client.c:121 +#: plugins/sudoers/log_client.c:352 plugins/sudoers/log_client.c:368 +#: plugins/sudoers/log_client.c:416 plugins/sudoers/log_client.c:622 +#: plugins/sudoers/log_client.c:629 plugins/sudoers/log_client.c:1137 +#: plugins/sudoers/log_client.c:1418 plugins/sudoers/log_client.c:1459 +#: plugins/sudoers/log_client.c:1467 plugins/sudoers/log_client.c:1626 +#: plugins/sudoers/log_client.c:1751 plugins/sudoers/log_client.c:2085 +#: plugins/sudoers/log_client.c:2093 plugins/sudoers/logging.c:148 #: plugins/sudoers/logging.c:206 plugins/sudoers/sudoreplay.c:519 -#: plugins/sudoers/sudoreplay.c:566 plugins/sudoers/sudoreplay.c:808 -#: plugins/sudoers/sudoreplay.c:920 plugins/sudoers/sudoreplay.c:1011 -#: plugins/sudoers/sudoreplay.c:1026 plugins/sudoers/sudoreplay.c:1033 -#: plugins/sudoers/sudoreplay.c:1040 plugins/sudoers/sudoreplay.c:1047 -#: plugins/sudoers/sudoreplay.c:1054 plugins/sudoers/sudoreplay.c:1182 +#: plugins/sudoers/sudoreplay.c:566 plugins/sudoers/sudoreplay.c:810 +#: plugins/sudoers/sudoreplay.c:922 plugins/sudoers/sudoreplay.c:1013 +#: plugins/sudoers/sudoreplay.c:1028 plugins/sudoers/sudoreplay.c:1035 +#: plugins/sudoers/sudoreplay.c:1042 plugins/sudoers/sudoreplay.c:1049 +#: plugins/sudoers/sudoreplay.c:1056 plugins/sudoers/sudoreplay.c:1184 msgid "unable to add event to queue" msgstr "큐에 이벤트를 추가할 수 없습니다" -#: logsrvd/logsrvd.c:454 logsrvd/logsrvd.c:491 logsrvd/logsrvd.c:523 -#: logsrvd/logsrvd.c:577 logsrvd/logsrvd.c:656 logsrvd/logsrvd.c:692 -#: logsrvd/logsrvd.c:728 logsrvd/logsrvd.c:764 logsrvd/logsrvd_relay.c:512 +#: logsrvd/logsrvd.c:455 logsrvd/logsrvd.c:492 logsrvd/logsrvd.c:524 +#: logsrvd/logsrvd.c:578 logsrvd/logsrvd.c:657 logsrvd/logsrvd.c:693 +#: logsrvd/logsrvd.c:729 logsrvd/logsrvd.c:765 logsrvd/logsrvd_relay.c:512 #: logsrvd/logsrvd_relay.c:545 #, c-format msgid "unexpected state %d for %s" msgstr "%2$s의 예기치 않은 상태 %1$d번" -#: logsrvd/logsrvd.c:455 logsrvd/logsrvd.c:492 logsrvd/logsrvd.c:524 -#: logsrvd/logsrvd.c:578 logsrvd/logsrvd.c:657 logsrvd/logsrvd.c:693 -#: logsrvd/logsrvd.c:729 logsrvd/logsrvd.c:765 logsrvd/logsrvd_relay.c:514 +#: logsrvd/logsrvd.c:456 logsrvd/logsrvd.c:493 logsrvd/logsrvd.c:525 +#: logsrvd/logsrvd.c:579 logsrvd/logsrvd.c:658 logsrvd/logsrvd.c:694 +#: logsrvd/logsrvd.c:730 logsrvd/logsrvd.c:766 logsrvd/logsrvd_relay.c:514 #: logsrvd/logsrvd_relay.c:547 msgid "state machine error" msgstr "상태 머신 오류" -#: logsrvd/logsrvd.c:461 logsrvd/logsrvd.c:462 +#: logsrvd/logsrvd.c:462 logsrvd/logsrvd.c:463 msgid "invalid AcceptMessage" msgstr "부적절한 AcceptMessage" -#: logsrvd/logsrvd.c:498 logsrvd/logsrvd.c:499 +#: logsrvd/logsrvd.c:499 logsrvd/logsrvd.c:500 msgid "invalid RejectMessage" msgstr "부적절한 RejectMessage" -#: logsrvd/logsrvd.c:530 logsrvd/logsrvd.c:531 +#: logsrvd/logsrvd.c:531 logsrvd/logsrvd.c:532 msgid "invalid ExitMessage" msgstr "부적절한 ExitMessage" -#: logsrvd/logsrvd.c:584 logsrvd/logsrvd.c:585 +#: logsrvd/logsrvd.c:585 logsrvd/logsrvd.c:586 msgid "invalid RestartMessage" msgstr "부적절한 RestartMessage" -#: logsrvd/logsrvd.c:619 logsrvd/logsrvd.c:620 +#: logsrvd/logsrvd.c:620 logsrvd/logsrvd.c:621 msgid "invalid AlertMessage" msgstr "부적절한 AlertMessage" -#: logsrvd/logsrvd.c:661 logsrvd/logsrvd.c:697 logsrvd/logsrvd.c:733 +#: logsrvd/logsrvd.c:662 logsrvd/logsrvd.c:698 logsrvd/logsrvd.c:734 #, c-format msgid "%s: unexpected IoBuffer" msgstr "%s: 예기치 않은 입출력 버퍼 발견" -#: logsrvd/logsrvd.c:662 logsrvd/logsrvd.c:698 logsrvd/logsrvd.c:734 +#: logsrvd/logsrvd.c:663 logsrvd/logsrvd.c:699 logsrvd/logsrvd.c:735 msgid "protocol error" msgstr "프로토콜 오류" -#: logsrvd/logsrvd.c:668 logsrvd/logsrvd.c:669 +#: logsrvd/logsrvd.c:669 logsrvd/logsrvd.c:670 msgid "invalid IoBuffer" msgstr "부적절한 IoBuffer" -#: logsrvd/logsrvd.c:704 logsrvd/logsrvd.c:705 +#: logsrvd/logsrvd.c:705 logsrvd/logsrvd.c:706 msgid "invalid ChangeWindowSize" msgstr "부적절한 ChangeWindowSize" -#: logsrvd/logsrvd.c:740 logsrvd/logsrvd.c:741 +#: logsrvd/logsrvd.c:741 logsrvd/logsrvd.c:742 msgid "invalid CommandSuspend" msgstr "부적절한 CommandSuspend" -#: logsrvd/logsrvd.c:790 logsrvd/logsrvd_journal.c:302 -#: logsrvd/logsrvd_relay.c:654 logsrvd/sendlog.c:1207 -#: plugins/sudoers/log_client.c:1593 +#: logsrvd/logsrvd.c:791 logsrvd/logsrvd_journal.c:302 +#: logsrvd/logsrvd_relay.c:654 logsrvd/sendlog.c:1232 +#: plugins/sudoers/log_client.c:1616 #, c-format msgid "unable to unpack %s size %zu" msgstr "%2$zu 크기의 %1$s을(를) 언팩할 수 없습니다" -#: logsrvd/logsrvd.c:835 logsrvd/logsrvd_journal.c:376 +#: logsrvd/logsrvd.c:836 logsrvd/logsrvd_journal.c:376 #: logsrvd/logsrvd_relay.c:678 #, c-format msgid "unexpected type_case value %d in %s from %s" msgstr "%3$s의 %2$s에서 예기지 않은 type_case 값 %1$d" -#: logsrvd/logsrvd.c:837 +#: logsrvd/logsrvd.c:838 msgid "unrecognized ClientMessage type" msgstr "인식할 수 없는 ClientMessage 형식" -#: logsrvd/logsrvd.c:927 +#: logsrvd/logsrvd.c:928 #, c-format msgid "timed out writing to client %s" msgstr "%s 클라이언트 기록 시간 초과" -#: logsrvd/logsrvd.c:932 logsrvd/logsrvd_relay.c:919 logsrvd/sendlog.c:1413 +#: logsrvd/logsrvd.c:933 logsrvd/logsrvd_relay.c:919 logsrvd/sendlog.c:1438 #, c-format msgid "missing write buffer for client %s" msgstr "%s 클라이언트에서 기록 버퍼 빠짐" -#: logsrvd/logsrvd.c:1027 +#: logsrvd/logsrvd.c:1028 #, c-format msgid "timed out reading from client %s" msgstr "%s 클라이언트에서 읽기 시간 초과" -#: logsrvd/logsrvd.c:1068 logsrvd/logsrvd_relay.c:782 +#: logsrvd/logsrvd.c:1069 logsrvd/logsrvd_relay.c:782 #, c-format msgid "EOF from %s without proper TLS shutdown" msgstr "적절한 TLS 셧다운을 수행하지 않은 %s의 파일 끝(EOF)" -#: logsrvd/logsrvd.c:1112 logsrvd/logsrvd_relay.c:205 logsrvd/sendlog.c:336 -#: plugins/sudoers/log_client.c:723 +#: logsrvd/logsrvd.c:1113 logsrvd/logsrvd_relay.c:205 logsrvd/sendlog.c:336 +#: plugins/sudoers/log_client.c:732 #, c-format msgid "client message too large: %zu" msgstr "클라이언드 메시지가 너무 깁니다: %zu" -#: logsrvd/logsrvd.c:1113 logsrvd/logsrvd_journal.c:259 +#: logsrvd/logsrvd.c:1114 logsrvd/logsrvd_journal.c:259 #: logsrvd/logsrvd_journal.c:260 msgid "client message too large" msgstr "클라이언트 메시지가 너무 깁니다" -#: logsrvd/logsrvd.c:1131 logsrvd/logsrvd.c:1132 +#: logsrvd/logsrvd.c:1132 logsrvd/logsrvd.c:1133 msgid "invalid ClientMessage" msgstr "부적절한 ClientMessage" -#: logsrvd/logsrvd.c:1432 +#: logsrvd/logsrvd.c:1442 msgid "unable to get remote IP addr" msgstr "원격 IP 주소를 가져올 수 없습니다" -#: logsrvd/logsrvd.c:1463 logsrvd/tls_client.c:203 -#: plugins/sudoers/log_client.c:281 +#: logsrvd/logsrvd.c:1473 logsrvd/tls_client.c:212 +#: plugins/sudoers/log_client.c:290 #, c-format msgid "Unable to attach user data to the ssl object: %s" msgstr "ssl 객체에 사용자 데이터를 붙일 수 없습니다: %s" -#: logsrvd/logsrvd.c:1646 logsrvd/logsrvd.c:2007 +#: logsrvd/logsrvd.c:1656 logsrvd/logsrvd.c:2050 msgid "unable to setup listen socket" msgstr "감청 소켓을 설정할 수 없습니다" -#: logsrvd/logsrvd.c:1766 +#: logsrvd/logsrvd.c:1776 #, c-format msgid "unexpected signal %d" msgstr "예기치 않은 시그널 %d번" -#: logsrvd/logsrvd.c:1909 +#: logsrvd/logsrvd.c:1949 msgid "sudo log server" msgstr "sudo 로그 서버" -#: logsrvd/logsrvd.c:1911 logsrvd/sendlog.c:126 +#: logsrvd/logsrvd.c:1951 logsrvd/sendlog.c:126 msgid "Options:" msgstr "옵션:" -#: logsrvd/logsrvd.c:1913 +#: logsrvd/logsrvd.c:1953 msgid "path to configuration file" msgstr "설정 파일 경로" -#: logsrvd/logsrvd.c:1915 logsrvd/sendlog.c:128 +#: logsrvd/logsrvd.c:1955 logsrvd/sendlog.c:128 msgid "display help message and exit" msgstr "도움말 메시지를 표시한 후 빠져나갑니다" -#: logsrvd/logsrvd.c:1917 +#: logsrvd/logsrvd.c:1957 msgid "do not fork, run in the foreground" msgstr "프로세스를 포킹하지 않고, 포그라운드에서 실행" -#: logsrvd/logsrvd.c:1919 +#: logsrvd/logsrvd.c:1959 msgid "percent chance connections will drop" msgstr "연결이 끊을 확률에 대한 백분율" -#: logsrvd/logsrvd.c:1921 logsrvd/sendlog.c:158 +#: logsrvd/logsrvd.c:1961 logsrvd/sendlog.c:158 msgid "display version information and exit" msgstr "버전 정보를 표시하고 빠져나갑니다" -#: logsrvd/logsrvd.c:1971 logsrvd/sendlog.c:1722 +#: logsrvd/logsrvd.c:2011 logsrvd/sendlog.c:1747 msgid "Protobuf-C version 1.3 or higher required" msgstr "Protobuf-C 1.3 이상의 버전이 필요합니다" -#: logsrvd/logsrvd.c:1987 +#: logsrvd/logsrvd.c:2027 #, c-format msgid "invalid random drop value: %s" msgstr "부적절한 임의 철회 값: %s" -#: logsrvd/logsrvd.c:1990 logsrvd/sendlog.c:1776 +#: logsrvd/logsrvd.c:2030 logsrvd/sendlog.c:1801 #: plugins/sudoers/cvtsudoers.c:250 plugins/sudoers/sudoreplay.c:294 #: plugins/sudoers/visudo.c:181 #, c-format @@ -947,16 +941,16 @@ msgstr "%s 버전 %s\n" #: logsrvd/logsrvd_conf.c:422 plugins/sudoers/check.c:69 #: plugins/sudoers/exptilde.c:85 plugins/sudoers/iolog.c:122 -#: plugins/sudoers/sudoers.c:419 plugins/sudoers/sudoers.c:929 -#: plugins/sudoers/sudoers.c:1034 plugins/sudoers/sudoers.c:1424 +#: plugins/sudoers/sudoers.c:419 plugins/sudoers/sudoers.c:946 +#: plugins/sudoers/sudoers.c:1052 plugins/sudoers/sudoers.c:1442 #: plugins/sudoers/testsudoers.c:169 plugins/sudoers/testsudoers.c:285 -#: plugins/sudoers/testsudoers.c:459 +#: plugins/sudoers/testsudoers.c:459 plugins/sudoers/tsdump.c:131 #, c-format msgid "unknown user %s" msgstr "알 수 없는 사용자 %s" #: logsrvd/logsrvd_conf.c:439 plugins/sudoers/iolog.c:148 -#: plugins/sudoers/sudoers.c:425 plugins/sudoers/sudoers.c:1458 +#: plugins/sudoers/sudoers.c:425 plugins/sudoers/sudoers.c:1476 #: plugins/sudoers/testsudoers.c:483 #, c-format msgid "unknown group %s" @@ -967,7 +961,7 @@ msgstr "알 수 없는 그룹 %s" msgid "unable to parse iolog mode %s" msgstr "%s 입출력 로그 모드를 해석할 수 없습니다" -#: logsrvd/logsrvd_conf.c:474 logsrvd/logsrvd_conf.c:1243 +#: logsrvd/logsrvd_conf.c:474 logsrvd/logsrvd_conf.c:1248 #, c-format msgid "invalid value for %s: %s" msgstr "부적절한 %s 값: %s" @@ -981,65 +975,65 @@ msgstr "TLS를 지원하지 않습니다" msgid "%s:%s" msgstr "%s:%s" -#: logsrvd/logsrvd_conf.c:622 logsrvd/logsrvd_conf.c:1032 +#: logsrvd/logsrvd_conf.c:622 logsrvd/logsrvd_conf.c:1037 #, c-format msgid "%s: not a fully qualified path" msgstr "%s: 완전하지 않은 경로" -#: logsrvd/logsrvd_conf.c:951 logsrvd/logsrvd_conf.c:967 -#: logsrvd/logsrvd_conf.c:1676 +#: logsrvd/logsrvd_conf.c:956 logsrvd/logsrvd_conf.c:972 +#: logsrvd/logsrvd_conf.c:1681 #, c-format msgid "unknown syslog facility %s" msgstr "알 수 없는 syslog 수단 %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 +#: logsrvd/logsrvd_conf.c:988 logsrvd/logsrvd_conf.c:1004 +#: logsrvd/logsrvd_conf.c:1020 logsrvd/logsrvd_conf.c:1685 +#: logsrvd/logsrvd_conf.c:1689 logsrvd/logsrvd_conf.c:1693 #, c-format msgid "unknown syslog priority %s" msgstr "알 수 없는 syslog 우선 순위 %s" -#: logsrvd/logsrvd_conf.c:1197 +#: logsrvd/logsrvd_conf.c:1202 #, c-format msgid "%s:%d unmatched '[': %s" msgstr "%s:%d 일치하지 않는 '[': %s" -#: logsrvd/logsrvd_conf.c:1203 +#: logsrvd/logsrvd_conf.c:1208 #, c-format msgid "%s:%d garbage after ']': %s" msgstr "%s:%d ']' 다음 버리는 내용: %s" -#: logsrvd/logsrvd_conf.c:1215 +#: logsrvd/logsrvd_conf.c:1220 #, c-format msgid "%s:%d invalid config section: %s" msgstr "%s:%d 부적절한 설정 섹션: %s" -#: logsrvd/logsrvd_conf.c:1223 +#: logsrvd/logsrvd_conf.c:1228 #, c-format msgid "%s:%d invalid configuration line: %s" msgstr "%s:%d 부적절한 설정 행: %s" -#: logsrvd/logsrvd_conf.c:1229 +#: logsrvd/logsrvd_conf.c:1234 #, c-format msgid "%s:%d expected section name: %s" msgstr "%s:%d(에)서 섹션 이름이 나와야 합니다: %s" -#: logsrvd/logsrvd_conf.c:1251 +#: logsrvd/logsrvd_conf.c:1256 #, c-format msgid "%s:%d [%s] illegal key: %s" msgstr "%s:%d [%s] 잘못된 키: %s" -#: logsrvd/logsrvd_conf.c:1281 plugins/sudoers/cvtsudoers.c:273 -#: plugins/sudoers/logging.c:1076 +#: logsrvd/logsrvd_conf.c:1286 plugins/sudoers/cvtsudoers.c:273 +#: plugins/sudoers/logging.c:1087 #, c-format msgid "unable to open log file %s" msgstr "%s 로그 파일을 열 수 없습니다" -#: logsrvd/logsrvd_conf.c:1763 +#: logsrvd/logsrvd_conf.c:1768 msgid "unable to initialize server TLS context" msgstr "서버 TLS 컨텍스트를 초기화할 수 없습니다" -#: logsrvd/logsrvd_conf.c:1783 +#: logsrvd/logsrvd_conf.c:1788 msgid "unable to initialize relay TLS context" msgstr "릴레이 TLS 컨텍스트를 초기화할 수 없습니다" @@ -1143,7 +1137,7 @@ msgstr "길이 %d인 타이밍 버퍼를 포매팅할 수 없습니다" #: logsrvd/logsrvd_local.c:601 logsrvd/logsrvd_local.c:609 #: logsrvd/logsrvd_local.c:657 logsrvd/logsrvd_local.c:692 -#: plugins/sudoers/sudoreplay.c:344 toke.l:981 toke.l:984 +#: plugins/sudoers/sudoreplay.c:344 toke.l:961 toke.l:964 #, c-format msgid "%s/%s: %s" msgstr "%s/%s: %s" @@ -1177,8 +1171,8 @@ msgstr "릴레이 호스트에 연결할 수 없습니다" msgid "%s: invalid ServerHello, missing server_id" msgstr "%s: 부적절한 ServerHello, server_id가 빠졌습니다" -#: logsrvd/logsrvd_relay.c:522 logsrvd/sendlog.c:1111 -#: plugins/sudoers/log_client.c:1479 +#: logsrvd/logsrvd_relay.c:522 logsrvd/sendlog.c:1136 +#: plugins/sudoers/log_client.c:1502 msgid "invalid ServerHello" msgstr "부적절한 ServerHello" @@ -1282,7 +1276,7 @@ msgstr "이 시간에 도달한 후 전송 중단" msgid "test audit server by sending selected I/O log n times in parallel" msgstr "선택한 입출력 로그를 동시에 N번 보내어 감사 서버 시험" -#: logsrvd/sendlog.c:181 plugins/sudoers/log_client.c:453 +#: logsrvd/sendlog.c:181 plugins/sudoers/log_client.c:462 #, c-format msgid "unable to look up %s:%s: %s" msgstr "%s:%s을(를) 찾을 수 없습니다: %s" @@ -1291,108 +1285,108 @@ msgstr "%s:%s을(를) 찾을 수 없습니다: %s" msgid "unable to get server IP addr" msgstr "서버 IP 주소를 가져올 수 없습니다" -#: logsrvd/sendlog.c:314 plugins/sudoers/sudoreplay.c:868 +#: logsrvd/sendlog.c:314 plugins/sudoers/sudoreplay.c:870 #, c-format msgid "unable to read %s/%s: %s" msgstr "%s/%s을(를) 읽을 수 없습니다: %s" -#: logsrvd/sendlog.c:1035 plugins/sudoers/iolog.c:959 -#: plugins/sudoers/iolog.c:1034 +#: logsrvd/sendlog.c:1060 plugins/sudoers/iolog.c:967 +#: plugins/sudoers/iolog.c:1042 #, c-format msgid "unexpected I/O event %d" msgstr "예기치 않은 입출력 이벤트 %d" -#: logsrvd/sendlog.c:1088 logsrvd/sendlog.c:1105 logsrvd/sendlog.c:1139 -#: plugins/sudoers/log_client.c:1129 plugins/sudoers/log_client.c:1405 -#: plugins/sudoers/log_client.c:1473 plugins/sudoers/log_client.c:1512 +#: logsrvd/sendlog.c:1113 logsrvd/sendlog.c:1130 logsrvd/sendlog.c:1164 +#: plugins/sudoers/log_client.c:1152 plugins/sudoers/log_client.c:1428 +#: plugins/sudoers/log_client.c:1496 plugins/sudoers/log_client.c:1535 #, c-format msgid "%s: unexpected state %d" msgstr "%s: 예기치 않은 상태 번호 %d" -#: logsrvd/sendlog.c:1175 plugins/sudoers/log_client.c:1561 +#: logsrvd/sendlog.c:1200 plugins/sudoers/log_client.c:1584 #, c-format msgid "error message received from server: %s" msgstr "서버로부터 오류 메시지를 받았습니다: %s" -#: logsrvd/sendlog.c:1188 plugins/sudoers/log_client.c:1574 +#: logsrvd/sendlog.c:1213 plugins/sudoers/log_client.c:1597 #, c-format msgid "abort message received from server: %s" msgstr "서버로부터 중단 메시지를 받았습니다: %s" -#: logsrvd/sendlog.c:1247 plugins/sudoers/log_client.c:1624 +#: logsrvd/sendlog.c:1272 plugins/sudoers/log_client.c:1647 #, c-format msgid "%s: unexpected type_case value %d" msgstr "%s: 예기지 않은 type_case 값 %d" -#: logsrvd/sendlog.c:1276 +#: logsrvd/sendlog.c:1301 msgid "timeout reading from server" msgstr "서버 데이터 읽기 시간 초과" -#: logsrvd/sendlog.c:1327 plugins/sudoers/log_client.c:1747 +#: logsrvd/sendlog.c:1352 plugins/sudoers/log_client.c:1770 msgid "host name does not match certificate" msgstr "호스트 이름이 인증서와 일치하지 않습니다" -#: logsrvd/sendlog.c:1361 +#: logsrvd/sendlog.c:1386 msgid "premature EOF" msgstr "갑작스러운 EOF" -#: logsrvd/sendlog.c:1374 plugins/sudoers/log_client.c:1795 +#: logsrvd/sendlog.c:1399 plugins/sudoers/log_client.c:1818 #, c-format msgid "server message too large: %u" msgstr "서버 메시지가 너무 깁니다: %u" -#: logsrvd/sendlog.c:1430 +#: logsrvd/sendlog.c:1455 msgid "timeout writing to server" msgstr "서버 기록 시간 초과" -#: logsrvd/sendlog.c:1800 +#: logsrvd/sendlog.c:1825 msgid "both restart point and iolog ID must be specified" msgstr "다시 시작 지점과 입출력 로그 ID를 반드시 지정해야합니다" -#: logsrvd/sendlog.c:1804 +#: logsrvd/sendlog.c:1829 msgid "a restart point may not be set when no I/O is sent" msgstr "입출력을 보내지 않을 때 다시 시작 지점을 지정하지 않습니다" -#: logsrvd/sendlog.c:1880 +#: logsrvd/sendlog.c:1905 #, c-format msgid "exited prematurely with state %d" msgstr "%d 상태로 갑자기 빠져나왔습니다" -#: logsrvd/sendlog.c:1881 +#: logsrvd/sendlog.c:1906 #, c-format msgid "elapsed time sent to server [%lld, %ld]" msgstr "경과 시간을 서버로 보냈습니다 [%lld, %ld]" -#: logsrvd/sendlog.c:1883 +#: logsrvd/sendlog.c:1908 #, c-format msgid "commit point received from server [%lld, %ld]" msgstr "제출 지점 정보를 서버로부터 받았습니다 [%lld, %ld]" -#: logsrvd/tls_client.c:111 plugins/sudoers/log_client.c:315 +#: logsrvd/tls_client.c:120 plugins/sudoers/log_client.c:324 msgid "TLS handshake timeout occurred" msgstr "TLS 핸드셰이크 시간을 초과했습니다" -#: logsrvd/tls_client.c:131 logsrvd/tls_client.c:147 -#: plugins/sudoers/log_client.c:337 plugins/sudoers/log_client.c:353 +#: logsrvd/tls_client.c:140 logsrvd/tls_client.c:156 +#: plugins/sudoers/log_client.c:346 plugins/sudoers/log_client.c:362 msgid "unable to set event" msgstr "이벤트를 설정할 수 없습니다" -#: logsrvd/tls_client.c:157 logsrvd/tls_client.c:161 +#: logsrvd/tls_client.c:166 logsrvd/tls_client.c:170 #, c-format msgid "TLS connection failed: %s" msgstr "TLS 연결 실패: %s" -#: logsrvd/tls_client.c:196 +#: logsrvd/tls_client.c:205 #, c-format msgid "unable to allocate ssl object: %s" msgstr "SSL 객체를 할당할 수 없습니다: %s" -#: logsrvd/tls_client.c:210 +#: logsrvd/tls_client.c:219 #, c-format msgid "Unable to attach socket to the ssl object: %s" msgstr "SSL 객체에 소켓을 붙일 수 없습니다: %s" -#: logsrvd/tls_client.c:238 +#: logsrvd/tls_client.c:247 msgid "unable to initialize TLS context" msgstr "TLS 컨텍스트를 초기화할 수 없습니다" @@ -1421,12 +1415,11 @@ msgstr "TLS 컨텍스트를 만들 수 없습니다: %s" msgid "unable to set minimum protocol version to TLS 1.2: %s" msgstr "TLS 프로토콜 최소 버전을 1.2로 설정할 수 없습니다: %s" -#: plugins/sudoers/audit.c:272 plugins/sudoers/audit.c:452 -#: plugins/sudoers/log_client.c:962 plugins/sudoers/log_client.c:1011 -#: plugins/sudoers/log_client.c:1060 plugins/sudoers/log_client.c:1185 -#: plugins/sudoers/logging.c:614 plugins/sudoers/logging.c:732 -#: plugins/sudoers/logging.c:859 plugins/sudoers/logging.c:1031 -#: plugins/sudoers/policy.c:123 +#: plugins/sudoers/audit.c:272 plugins/sudoers/log_client.c:985 +#: plugins/sudoers/log_client.c:1034 plugins/sudoers/log_client.c:1083 +#: plugins/sudoers/log_client.c:1208 plugins/sudoers/logging.c:627 +#: plugins/sudoers/logging.c:867 plugins/sudoers/logging.c:1017 +#: plugins/sudoers/logging.c:1041 plugins/sudoers/policy.c:1055 msgid "unable to get time of day" msgstr "일시 정보를 가져올 수 없습니다" @@ -1482,47 +1475,47 @@ msgstr "" "인증 서버 오류:\n" "%s" -#: plugins/sudoers/auth/kerb5.c:116 +#: plugins/sudoers/auth/kerb5.c:117 #, c-format msgid "%s: unable to convert principal to string ('%s'): %s" msgstr "%s: 본인 정보를 문자열('%s')로 변환할 수 없습니다: %s" -#: plugins/sudoers/auth/kerb5.c:166 +#: plugins/sudoers/auth/kerb5.c:167 #, c-format msgid "%s: unable to parse '%s': %s" msgstr "%s: '%s'을(를) 해석할 수 없습니다: %s" -#: plugins/sudoers/auth/kerb5.c:175 +#: plugins/sudoers/auth/kerb5.c:176 #, c-format msgid "%s: unable to resolve credential cache: %s" msgstr "%s: 자격 정보 캐시를 해석할 수 없습니다: %s" -#: plugins/sudoers/auth/kerb5.c:226 +#: plugins/sudoers/auth/kerb5.c:227 #, c-format msgid "%s: unable to allocate options: %s" msgstr "%s: 옵션을 할당할 수 없습니다: %s" -#: plugins/sudoers/auth/kerb5.c:241 +#: plugins/sudoers/auth/kerb5.c:242 #, c-format msgid "%s: unable to get credentials: %s" msgstr "%s: 자격 정보를 가져올 수 없습니다: %s" -#: plugins/sudoers/auth/kerb5.c:254 +#: plugins/sudoers/auth/kerb5.c:255 #, c-format msgid "%s: unable to initialize credential cache: %s" msgstr "%s: 자격 정보 캐시를 초기화할 수 없습니다: %s" -#: plugins/sudoers/auth/kerb5.c:257 +#: plugins/sudoers/auth/kerb5.c:258 #, c-format msgid "%s: unable to store credential in cache: %s" msgstr "%s: 캐시에 자격 정보를 저장할 수 없습니다: %s" -#: plugins/sudoers/auth/kerb5.c:322 +#: plugins/sudoers/auth/kerb5.c:324 #, c-format msgid "%s: unable to get host principal: %s" msgstr "%s: 호스트 정보를 가져올 수 없습니다: %s" -#: plugins/sudoers/auth/kerb5.c:336 +#: plugins/sudoers/auth/kerb5.c:338 #, c-format msgid "%s: Cannot verify TGT! Possible attack!: %s" msgstr "%s: TGT를 검증할 수 없습니다! 공격 가능성이 있습니다!: %s" @@ -1600,7 +1593,7 @@ msgstr "알 수 없는 SecurID 오류" msgid "invalid passcode length for SecurID" msgstr "SecurID용 암호 길이가 잘못되었습니다" -#: plugins/sudoers/auth/sia.c:72 plugins/sudoers/auth/sia.c:130 +#: plugins/sudoers/auth/sia.c:72 plugins/sudoers/auth/sia.c:131 msgid "unable to initialize SIA session" msgstr "SIA 세션을 초기화할 수 없습니다" @@ -1637,22 +1630,22 @@ msgid "unable to commit audit record" msgstr "감사 레코드를 제출할 수 없습니다" #: plugins/sudoers/check.c:63 plugins/sudoers/check.c:74 -#: plugins/sudoers/lookup.c:79 plugins/sudoers/tsdump.c:119 +#: plugins/sudoers/lookup.c:79 #, c-format msgid "unknown uid %u" msgstr "알 수 없는 uid %u" -#: plugins/sudoers/check.c:277 +#: plugins/sudoers/check.c:270 #, c-format msgid "error reading lecture file %s" msgstr "%s 지시 파일 읽기 오류" -#: plugins/sudoers/check.c:280 +#: plugins/sudoers/check.c:273 #, c-format msgid "ignoring lecture file %s: not a regular file" msgstr "%s 지시 파일 무시: 일반 파일이 아닙니다" -#: plugins/sudoers/check.c:293 +#: plugins/sudoers/check.c:286 msgid "" "\n" "We trust you have received the usual lecture from the local System\n" @@ -1672,7 +1665,7 @@ msgstr "" " #3) 막강한 힘에는 상당한 책임이 뒤따릅니다.\n" "\n" -#: plugins/sudoers/check.c:301 +#: plugins/sudoers/check.c:294 msgid "" "For security reasons, the password you type will not be visible.\n" "\n" @@ -1761,13 +1754,13 @@ msgstr "부적절한 필터: %s" msgid "failed to parse %s file, unknown error" msgstr "%s 파일 해석에 실패했습니다. 알 수 없는 오류." -#: plugins/sudoers/cvtsudoers.c:1508 plugins/sudoers/sudoreplay.c:1143 +#: plugins/sudoers/cvtsudoers.c:1504 plugins/sudoers/sudoreplay.c:1145 #: plugins/sudoers/timestamp.c:353 plugins/sudoers/timestamp.c:356 #, c-format msgid "unable to write to %s" msgstr "%s에 기록할 수 없습니다" -#: plugins/sudoers/cvtsudoers.c:1536 +#: plugins/sudoers/cvtsudoers.c:1532 #, c-format msgid "" "%s - convert between sudoers file formats\n" @@ -1776,7 +1769,7 @@ msgstr "" "%s - sudoers 파일 형식을 변환합니다\n" "\n" -#: plugins/sudoers/cvtsudoers.c:1538 +#: plugins/sudoers/cvtsudoers.c:1534 msgid "" "\n" "Options:\n" @@ -1817,817 +1810,836 @@ msgstr "" " -V, --version 버전 정보를 표시하고 빠져나갑니다" #: plugins/sudoers/cvtsudoers_csv.c:192 plugins/sudoers/cvtsudoers_csv.c:199 -#: plugins/sudoers/cvtsudoers_ldif.c:245 plugins/sudoers/cvtsudoers_ldif.c:252 -#: plugins/sudoers/cvtsudoers_ldif.c:594 plugins/sudoers/env.c:340 -#: plugins/sudoers/env.c:347 plugins/sudoers/env.c:458 +#: plugins/sudoers/cvtsudoers_ldif.c:270 plugins/sudoers/cvtsudoers_ldif.c:277 +#: plugins/sudoers/cvtsudoers_ldif.c:628 plugins/sudoers/env.c:357 +#: plugins/sudoers/env.c:364 plugins/sudoers/env.c:475 #: plugins/sudoers/ldap.c:511 plugins/sudoers/ldap.c:629 #: plugins/sudoers/ldap.c:1003 plugins/sudoers/ldap_conf.c:219 -#: plugins/sudoers/ldap_conf.c:310 plugins/sudoers/ldap_util.c:486 -#: plugins/sudoers/linux_audit.c:93 plugins/sudoers/logging.c:479 -#: plugins/sudoers/policy.c:828 plugins/sudoers/policy.c:840 +#: plugins/sudoers/ldap_conf.c:310 plugins/sudoers/ldap_util.c:483 +#: plugins/sudoers/linux_audit.c:93 plugins/sudoers/logging.c:487 +#: plugins/sudoers/policy.c:836 plugins/sudoers/policy.c:848 #: plugins/sudoers/prompt.c:169 plugins/sudoers/serialize_list.c:62 #: plugins/sudoers/serialize_list.c:71 plugins/sudoers/strvec_join.c:62 -#: plugins/sudoers/sudoreplay.c:1340 plugins/sudoers/sudoreplay.c:1346 -#: plugins/sudoers/sudoreplay.c:1352 plugins/sudoers/testsudoers.c:306 -#: plugins/sudoers/toke_util.c:217 toke.l:995 toke.l:1277 +#: plugins/sudoers/sudoreplay.c:1342 plugins/sudoers/sudoreplay.c:1348 +#: plugins/sudoers/sudoreplay.c:1354 plugins/sudoers/testsudoers.c:306 +#: plugins/sudoers/toke_util.c:217 toke.l:975 toke.l:1257 #, c-format msgid "internal error, %s overflow" msgstr "내부 오류. %s 오버플로우" -#: plugins/sudoers/cvtsudoers_csv.c:454 plugins/sudoers/cvtsudoers_csv.c:468 -#: plugins/sudoers/cvtsudoers_json.c:661 plugins/sudoers/cvtsudoers_json.c:676 -#: plugins/sudoers/cvtsudoers_ldif.c:349 plugins/sudoers/cvtsudoers_ldif.c:362 +#: plugins/sudoers/cvtsudoers_csv.c:481 plugins/sudoers/cvtsudoers_csv.c:495 +#: plugins/sudoers/cvtsudoers_json.c:760 plugins/sudoers/cvtsudoers_json.c:776 +#: plugins/sudoers/cvtsudoers_ldif.c:384 plugins/sudoers/cvtsudoers_ldif.c:398 #: plugins/sudoers/ldap.c:495 msgid "unable to get GMT time" msgstr "GMT 시간을 가져올 수 없습니다" -#: plugins/sudoers/cvtsudoers_csv.c:459 plugins/sudoers/cvtsudoers_csv.c:473 -#: plugins/sudoers/cvtsudoers_json.c:666 plugins/sudoers/cvtsudoers_json.c:681 -#: plugins/sudoers/cvtsudoers_ldif.c:354 plugins/sudoers/cvtsudoers_ldif.c:367 +#: plugins/sudoers/cvtsudoers_csv.c:486 plugins/sudoers/cvtsudoers_csv.c:500 +#: plugins/sudoers/cvtsudoers_json.c:765 plugins/sudoers/cvtsudoers_json.c:781 +#: plugins/sudoers/cvtsudoers_ldif.c:389 plugins/sudoers/cvtsudoers_ldif.c:403 #: plugins/sudoers/ldap.c:503 msgid "unable to format timestamp" msgstr "타임스탬프를 형식에 맞출 수 없습니다" -#: plugins/sudoers/cvtsudoers_json.c:481 plugins/sudoers/cvtsudoers_json.c:516 -#: plugins/sudoers/cvtsudoers_json.c:732 +#: plugins/sudoers/cvtsudoers_json.c:547 plugins/sudoers/cvtsudoers_json.c:588 +#: plugins/sudoers/cvtsudoers_json.c:841 #, c-format msgid "%s:%d:%d: unknown defaults entry \"%s\"" msgstr "%s:%d:%d: 알 수 없는 \"%s\" 기본 항목" -#: plugins/sudoers/cvtsudoers_ldif.c:663 +#: plugins/sudoers/cvtsudoers_ldif.c:116 +#, c-format +msgid "unable to base64 encode value \"%s\"" +msgstr "\"%s\" 값을 base64 인코딩할 수 없습니다" + +#: plugins/sudoers/cvtsudoers_ldif.c:595 +#, c-format +msgid "internal error, unable insert user %s" +msgstr "내부 오류, %s 사용자를 추가할 수 없습니다" + +#: plugins/sudoers/cvtsudoers_ldif.c:702 #, c-format msgid "too many sudoers entries, maximum %u" msgstr "sudoers 항목이 너무 많습니다. 최대 갯수는 %u개 입니다" -#: plugins/sudoers/cvtsudoers_ldif.c:706 +#: plugins/sudoers/cvtsudoers_ldif.c:747 msgid "the SUDOERS_BASE environment variable is not set and the -b option was not specified." msgstr "SUDOERS_BASE 환경 변수를 설정하지 않았으며 -b 옵션을 지정하지 않았습니다." -#: plugins/sudoers/cvtsudoers_merge.c:273 -#: plugins/sudoers/cvtsudoers_merge.c:309 +#: plugins/sudoers/cvtsudoers_merge.c:275 +#: plugins/sudoers/cvtsudoers_merge.c:313 #, c-format msgid "%s:%d:%d: converting host list to ALL" msgstr "%s:%d:%d: 호스트 목록을 ALL로 바꿈" -#: plugins/sudoers/cvtsudoers_merge.c:545 +#: plugins/sudoers/cvtsudoers_merge.c:568 #, c-format msgid "unable to find alias %s" msgstr "%s 별칭을 찾을 수 없습니다" -#: plugins/sudoers/cvtsudoers_merge.c:548 +#: plugins/sudoers/cvtsudoers_merge.c:572 #, c-format msgid "%s:%d:%d: renaming alias %s to %s" msgstr "%s:%d:%d: %s 별칭을 %s(으)로 바꿈" -#: plugins/sudoers/cvtsudoers_merge.c:605 +#: plugins/sudoers/cvtsudoers_merge.c:634 #, c-format msgid "%s:%d:%d: removing duplicate alias %s" msgstr "%s:%d:%d: %s 중복 별칭 제거 중" -#: plugins/sudoers/cvtsudoers_merge.c:830 +#: plugins/sudoers/cvtsudoers_merge.c:868 #, c-format msgid "%s:%d:%d: conflicting Defaults entry \"%s\" host-specific in %s:%d:%d" msgstr "%1$s:%2$d:%3$d: %5$s:%6$d:%7$d에서 호스트별 \"%4$s\" 기본 항목 중복" -#: plugins/sudoers/cvtsudoers_merge.c:864 +#: plugins/sudoers/cvtsudoers_merge.c:904 #, c-format msgid "%s:%d:%d: made Defaults \"%s\" specific to host %s" msgstr "%s:%d:%d: \"%s\"에 대한 %s 호스트를 기본으로 지정" -#: plugins/sudoers/cvtsudoers_merge.c:882 +#: plugins/sudoers/cvtsudoers_merge.c:922 #, c-format msgid "%s:%d:%d: unable to make Defaults \"%s\" host-specific" msgstr "%s:%d:%d: 호스트별 \"%s\" 기본 항목을 설정할 수 없습니다" -#: plugins/sudoers/cvtsudoers_merge.c:892 +#: plugins/sudoers/cvtsudoers_merge.c:932 #, c-format msgid "%s:%d:%d: removing Defaults \"%s\" overridden by subsequent entries" msgstr "%s:%d:%d: 하위 항목이 우선하는 기본 \"%s\" 항목 제거 중" -#: plugins/sudoers/cvtsudoers_merge.c:1088 +#: plugins/sudoers/cvtsudoers_merge.c:1128 #, c-format msgid "%s:%d:%d: merging userspec into %s:%d:%d" msgstr "%1$s:%2$d:%3$d: %4$s:%5$d:%6$d에 사용자 설정 병합" -#: plugins/sudoers/cvtsudoers_merge.c:1182 +#: plugins/sudoers/cvtsudoers_merge.c:1224 #, c-format msgid "%s:%d:%d: removing userspec overridden by subsequent entries" msgstr "%s:%d:%d: 하위 항목이 우선하는 사용자 지정 항목 제거 중" -#: plugins/sudoers/def_data.c:56 +#: plugins/sudoers/def_data.c:58 #, c-format msgid "Syslog facility if syslog is being used for logging: %s" msgstr "syslog를 기록 목적으로 활용할 때의 syslog 기능: %s" -#: plugins/sudoers/def_data.c:60 +#: plugins/sudoers/def_data.c:62 #, c-format msgid "Syslog priority to use when user authenticates successfully: %s" msgstr "사용자 인증에 성공했을 때 사용할 syslog 우선 순위: %s" -#: plugins/sudoers/def_data.c:64 +#: plugins/sudoers/def_data.c:66 #, c-format msgid "Syslog priority to use when user authenticates unsuccessfully: %s" msgstr "사용자 인증에 실패했을 때 사용할 syslog 우선 순위: %s" -#: plugins/sudoers/def_data.c:68 +#: plugins/sudoers/def_data.c:70 msgid "Put OTP prompt on its own line" msgstr "일회용 암호 입력 프롬프트를 자체 줄에 표시" -#: plugins/sudoers/def_data.c:72 +#: plugins/sudoers/def_data.c:74 msgid "Ignore '.' in $PATH" msgstr "$PATH의 '.' 무시" -#: plugins/sudoers/def_data.c:76 +#: plugins/sudoers/def_data.c:78 msgid "Always send mail when sudo is run" msgstr "sudo를 실행할 때 항상 메일을 보냄" -#: plugins/sudoers/def_data.c:80 +#: plugins/sudoers/def_data.c:82 msgid "Send mail if user authentication fails" msgstr "사용자가 인증에 실패했을 때 메일을 보냄" -#: plugins/sudoers/def_data.c:84 +#: plugins/sudoers/def_data.c:86 msgid "Send mail if the user is not in sudoers" msgstr "사용자가 sudoer가 아닐 때 메일을 보냄" -#: plugins/sudoers/def_data.c:88 +#: plugins/sudoers/def_data.c:90 msgid "Send mail if the user is not in sudoers for this host" msgstr "사용자가 이 호스트의 sudoer가 아닐 때 메일을 보냄" -#: plugins/sudoers/def_data.c:92 +#: plugins/sudoers/def_data.c:94 msgid "Send mail if the user is not allowed to run a command" msgstr "사용자가 명령을 실행하도록 허용하지 않았을 때 메일을 보냄" -#: plugins/sudoers/def_data.c:96 +#: plugins/sudoers/def_data.c:98 msgid "Send mail if the user tries to run a command" msgstr "사용자가 명령 실행을 시도했을 때 메일을 보냄" -#: plugins/sudoers/def_data.c:100 +#: plugins/sudoers/def_data.c:102 msgid "Use a separate timestamp for each user/tty combo" msgstr "각 사용자/tty에 타임스탬프를 따로 사용" -#: plugins/sudoers/def_data.c:104 +#: plugins/sudoers/def_data.c:106 msgid "Lecture user the first time they run sudo" msgstr "sudo를 처음 실행할 때 사용자에게 지침 안내" -#: plugins/sudoers/def_data.c:108 +#: plugins/sudoers/def_data.c:110 #, c-format msgid "File containing the sudo lecture: %s" msgstr "sudo 지침 안내가 들어있는 파일: %s" -#: plugins/sudoers/def_data.c:112 +#: plugins/sudoers/def_data.c:114 msgid "Require users to authenticate by default" msgstr "기본적으로 사용자 인증 필요" -#: plugins/sudoers/def_data.c:116 +#: plugins/sudoers/def_data.c:118 msgid "Root may run sudo" msgstr "루트 사용자의 sudo 실행" -#: plugins/sudoers/def_data.c:120 +#: plugins/sudoers/def_data.c:122 msgid "Log the hostname in the (non-syslog) log file" msgstr "로그(비 syslog) 파일에 호스트 이름 기록" -#: plugins/sudoers/def_data.c:124 +#: plugins/sudoers/def_data.c:126 msgid "Log the year in the (non-syslog) log file" msgstr "로그(비 syslog) 파일에 연도 기록" -#: plugins/sudoers/def_data.c:128 +#: plugins/sudoers/def_data.c:130 msgid "If sudo is invoked with no arguments, start a shell" msgstr "sudo에 인자를 넣어 실행하지 않으면 셸 시작" -#: plugins/sudoers/def_data.c:132 +#: plugins/sudoers/def_data.c:134 msgid "Set $HOME to the target user when starting a shell with -s" msgstr "-s 옵션으로 셸을 시작할 때 $HOME을 대상 사용자로 설정" -#: plugins/sudoers/def_data.c:136 +#: plugins/sudoers/def_data.c:138 msgid "Always set $HOME to the target user's home directory" msgstr "항상 $HOME을 대상 사용자의 내 폴더로 설정" -#: plugins/sudoers/def_data.c:140 +#: plugins/sudoers/def_data.c:142 msgid "Allow some information gathering to give useful error messages" msgstr "쓸만한 오류 메시지를 제공할 목적으로 일부 정보 수집 허용" -#: plugins/sudoers/def_data.c:144 +#: plugins/sudoers/def_data.c:146 msgid "Require fully-qualified hostnames in the sudoers file" msgstr "sudoers 파일에 완전한 형태를 갖춘 호스트 이름 필요" -#: plugins/sudoers/def_data.c:148 +#: plugins/sudoers/def_data.c:150 msgid "Insult the user when they enter an incorrect password" msgstr "올바르지 않은 암호를 입력했을 때 사용자 놀리기" -#: plugins/sudoers/def_data.c:152 +#: plugins/sudoers/def_data.c:154 msgid "Only allow the user to run sudo if they have a tty" msgstr "tty를 보유한 사용자만 sudo 실행 허용" -#: plugins/sudoers/def_data.c:156 +#: plugins/sudoers/def_data.c:158 msgid "Visudo will honor the EDITOR environment variable" msgstr "EDITOR 환경 변수 대신 visudo 사용" -#: plugins/sudoers/def_data.c:160 -msgid "Prompt for root's password, not the users's" -msgstr "사용자 암호가 아닌 루트 암호 요구" +#: plugins/sudoers/def_data.c:162 +msgid "Prompt for root's password, not the user's" +msgstr "사용자가 아닌 루트 계쩡의 암호 요구" -#: 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:166 +msgid "Prompt for the runas_default user's password, not the user's" +msgstr "사용자가 아닌 runas_default 사용자의 암호 요구" -#: plugins/sudoers/def_data.c:168 -msgid "Prompt for the target user's password, not the users's" -msgstr "사용자 암호가 아닌 대상 사용자 암호 요구" +#: plugins/sudoers/def_data.c:170 +msgid "Prompt for the target user's password, not the user's" +msgstr "사용자 암호가 아닌 대상 사용자의 암호 요구" -#: plugins/sudoers/def_data.c:172 +#: plugins/sudoers/def_data.c:174 msgid "Apply defaults in the target user's login class if there is one" msgstr "대상 사용자 로그인 클래스가 있다면 기본값 적용" -#: plugins/sudoers/def_data.c:176 +#: plugins/sudoers/def_data.c:178 msgid "Set the LOGNAME and USER environment variables" msgstr "LOGNAME 및 USER 환경 변수 설정" -#: plugins/sudoers/def_data.c:180 +#: plugins/sudoers/def_data.c:182 msgid "Only set the effective uid to the target user, not the real uid" msgstr "실제 uid가 아닌 대상 사용자에게 유효한 uid 설정" -#: plugins/sudoers/def_data.c:184 +#: plugins/sudoers/def_data.c:186 msgid "Don't initialize the group vector to that of the target user" msgstr "대상 사용자의 그룹 벡터 초기화 안함" -#: plugins/sudoers/def_data.c:188 +#: plugins/sudoers/def_data.c:190 #, c-format msgid "Length at which to wrap log file lines (0 for no wrap): %u" msgstr "로그 파일 줄을 바꿀 줄의 한계 길이(0 값은 줄 바꿈 안함): %u" -#: plugins/sudoers/def_data.c:192 +#: plugins/sudoers/def_data.c:194 #, c-format msgid "Authentication timestamp timeout: %.1f minutes" msgstr "인증 타임스탬프 제한 시간: %.1f분" -#: plugins/sudoers/def_data.c:196 +#: plugins/sudoers/def_data.c:198 #, c-format msgid "Password prompt timeout: %.1f minutes" msgstr "암호 요구 제한시간: %.1f분" -#: plugins/sudoers/def_data.c:200 +#: plugins/sudoers/def_data.c:202 #, c-format msgid "Number of tries to enter a password: %u" msgstr "암호 입력 시도 횟수: %u" -#: plugins/sudoers/def_data.c:204 +#: plugins/sudoers/def_data.c:206 #, c-format msgid "Umask to use or 0777 to use user's: 0%o" msgstr "사용자가 활용할 umask 또는 0777: 0%o" -#: plugins/sudoers/def_data.c:208 +#: plugins/sudoers/def_data.c:210 #, c-format msgid "Path to log file: %s" msgstr "로그 파일 경로: %s" -#: plugins/sudoers/def_data.c:212 +#: plugins/sudoers/def_data.c:214 #, c-format msgid "Path to mail program: %s" msgstr "메일 프로그램 경로: %s" -#: plugins/sudoers/def_data.c:216 +#: plugins/sudoers/def_data.c:218 #, c-format msgid "Flags for mail program: %s" msgstr "메일 프로그램 플래그: %s" -#: plugins/sudoers/def_data.c:220 +#: plugins/sudoers/def_data.c:222 #, c-format msgid "Address to send mail to: %s" msgstr "메일을 보낼 주소: %s" -#: plugins/sudoers/def_data.c:224 +#: plugins/sudoers/def_data.c:226 #, c-format msgid "Address to send mail from: %s" msgstr "메일을 보내려는 주소: %s" -#: plugins/sudoers/def_data.c:228 +#: plugins/sudoers/def_data.c:230 #, c-format msgid "Subject line for mail messages: %s" msgstr "메일 메시지 제목 줄: %s" -#: plugins/sudoers/def_data.c:232 +#: plugins/sudoers/def_data.c:234 #, c-format msgid "Incorrect password message: %s" msgstr "올바르지 않은 암호 메시지: %s" -#: plugins/sudoers/def_data.c:236 +#: plugins/sudoers/def_data.c:238 #, c-format msgid "Path to lecture status dir: %s" msgstr "지침 상태 디렉터리 경로: %s" -#: plugins/sudoers/def_data.c:240 +#: plugins/sudoers/def_data.c:242 #, c-format msgid "Path to authentication timestamp dir: %s" msgstr "인증 타임스탬프 디렉터리 경로: %s" -#: plugins/sudoers/def_data.c:244 +#: plugins/sudoers/def_data.c:246 #, c-format msgid "Owner of the authentication timestamp dir: %s" msgstr "인증 타임스탬프 디렉터리 소유자: %s" -#: plugins/sudoers/def_data.c:248 +#: plugins/sudoers/def_data.c:250 #, c-format msgid "Users in this group are exempt from password and PATH requirements: %s" msgstr "암호와 PATH 변수 요구를 하지 않을 이 그룹의 사용자: %s" -#: plugins/sudoers/def_data.c:252 +#: plugins/sudoers/def_data.c:254 #, c-format msgid "Default password prompt: %s" msgstr "기본 암호 프롬프트: %s" -#: plugins/sudoers/def_data.c:256 +#: plugins/sudoers/def_data.c:258 msgid "If set, passprompt will override system prompt in all cases." msgstr "설정하면 모든 경우의 시스템 프롬프트 대신 이 암호 프롬프트를 사용합니다." -#: plugins/sudoers/def_data.c:260 +#: plugins/sudoers/def_data.c:262 #, c-format msgid "Default user to run commands as: %s" msgstr "명령을 실행할 기본 사용자: %s" -#: plugins/sudoers/def_data.c:264 +#: plugins/sudoers/def_data.c:266 #, c-format msgid "Value to override user's $PATH with: %s" msgstr "사용자의 $PATH를 대신할 값: %s" -#: plugins/sudoers/def_data.c:268 +#: plugins/sudoers/def_data.c:270 #, c-format msgid "Path to the editor for use by visudo: %s" msgstr "visudo에서 사용할 편집기 경로: %s" -#: plugins/sudoers/def_data.c:272 +#: plugins/sudoers/def_data.c:274 #, c-format msgid "When to require a password for 'list' pseudocommand: %s" msgstr "'list' 유사 명령 실행시 암호가 필요할 때: %s" -#: plugins/sudoers/def_data.c:276 +#: plugins/sudoers/def_data.c:278 #, c-format msgid "When to require a password for 'verify' pseudocommand: %s" msgstr "'verify' 유사 명령 실행시 암호가 필요할 때: %s" -#: plugins/sudoers/def_data.c:280 +#: plugins/sudoers/def_data.c:282 msgid "Preload the sudo_noexec library which replaces the exec functions" msgstr "exec 함수를 대신하는 sudo_noexec 라이브러리를 미리 불러옵니다" -#: plugins/sudoers/def_data.c:284 +#: plugins/sudoers/def_data.c:286 msgid "If LDAP directory is up, do we ignore local sudoers file" msgstr "LDAP 디렉터리가 동작 중이라면 로컬 sudoers 파일을 무시합니다" -#: plugins/sudoers/def_data.c:288 +#: plugins/sudoers/def_data.c:290 #, c-format msgid "File descriptors >= %d will be closed before executing a command" msgstr "%d보다 큰 파일 서술자는 명령을 실행하기 전에 닫습니다" -#: plugins/sudoers/def_data.c:292 +#: plugins/sudoers/def_data.c:294 msgid "If set, users may override the value of \"closefrom\" with the -C option" msgstr "이 값을 설정하면 -C 옵션으로 \"closefrom\" 값을 대신 사용합니다" -#: plugins/sudoers/def_data.c:296 +#: plugins/sudoers/def_data.c:298 msgid "Allow users to set arbitrary environment variables" msgstr "사용자가 환경 변수 값을 임의대로 설정할 수 있게 합니다" -#: plugins/sudoers/def_data.c:300 +#: plugins/sudoers/def_data.c:302 msgid "Reset the environment to a default set of variables" msgstr "변수 기본 설정 값으로 환경 초기화" -#: plugins/sudoers/def_data.c:304 +#: plugins/sudoers/def_data.c:306 msgid "Environment variables to check for safety:" msgstr "안전 검사 대상 환경 변수:" -#: plugins/sudoers/def_data.c:308 +#: plugins/sudoers/def_data.c:310 msgid "Environment variables to remove:" msgstr "제거할 환경 변수:" -#: plugins/sudoers/def_data.c:312 +#: plugins/sudoers/def_data.c:314 msgid "Environment variables to preserve:" msgstr "유지할 환경 변수:" -#: plugins/sudoers/def_data.c:316 +#: plugins/sudoers/def_data.c:318 #, c-format msgid "SELinux role to use in the new security context: %s" msgstr "새 보안 컨텍스트에 사용할 SELinux 역할: %s" -#: plugins/sudoers/def_data.c:320 +#: plugins/sudoers/def_data.c:322 #, c-format msgid "SELinux type to use in the new security context: %s" msgstr "새 보안 컨텍스트에 사용할 SELinux 형식: %s" -#: plugins/sudoers/def_data.c:324 +#: plugins/sudoers/def_data.c:326 #, c-format msgid "Path to the sudo-specific environment file: %s" msgstr "sudo용 환경 파일 경로: %s" -#: plugins/sudoers/def_data.c:328 +#: plugins/sudoers/def_data.c:330 #, c-format msgid "Path to the restricted sudo-specific environment file: %s" msgstr "sudo 전용 환경 파일 경로: %s" -#: plugins/sudoers/def_data.c:332 +#: plugins/sudoers/def_data.c:334 #, c-format msgid "Locale to use while parsing sudoers: %s" msgstr "sudoers 파일을 해석할 때 사용할 로캘: %s" -#: plugins/sudoers/def_data.c:336 +#: plugins/sudoers/def_data.c:338 msgid "Allow sudo to prompt for a password even if it would be visible" msgstr "암호가 나타나더라도 sudo에서 암호 입력 요구 허용" -#: plugins/sudoers/def_data.c:340 +#: plugins/sudoers/def_data.c:342 msgid "Provide visual feedback at the password prompt when there is user input" msgstr "사용자 입력이 있을 때 암호 프롬프트에서 시각 반응 처리" -#: plugins/sudoers/def_data.c:344 +#: plugins/sudoers/def_data.c:346 msgid "Use faster globbing that is less accurate but does not access the filesystem" msgstr "덜 정확하지만 파일 시스템에 접근하지 않는 빠른 비교 검사 사용" -#: plugins/sudoers/def_data.c:348 +#: plugins/sudoers/def_data.c:350 msgid "The umask specified in sudoers will override the user's, even if it is more permissive" msgstr "sudoers에 지정한 umask 값이 관대한 권한이라 하더라도 사용자의 umask 값으로 적용" -#: plugins/sudoers/def_data.c:352 +#: plugins/sudoers/def_data.c:354 msgid "Log user's input for the command being run" msgstr "실행 명령에 대한 사용자 입력 기록" -#: plugins/sudoers/def_data.c:356 +#: plugins/sudoers/def_data.c:358 msgid "Log the command's standard input if not connected to a terminal" msgstr "터미널에 연결하지 않았을 경우 명령 표준 입력을 기록" -#: plugins/sudoers/def_data.c:360 +#: plugins/sudoers/def_data.c:362 msgid "Log the user's terminal input for the command being run" msgstr "실행 명령의 터미널 입력을 기록합니다" -#: plugins/sudoers/def_data.c:364 +#: plugins/sudoers/def_data.c:366 msgid "Log the output of the command being run" msgstr "실행 명령에 대한 출력 기록" -#: plugins/sudoers/def_data.c:368 +#: plugins/sudoers/def_data.c:370 msgid "Log the command's standard output if not connected to a terminal" msgstr "터미널에 연결하지 않았을 경우 명령 표준 출력을 기록" -#: plugins/sudoers/def_data.c:372 +#: plugins/sudoers/def_data.c:374 msgid "Log the command's standard error if not connected to a terminal" msgstr "터미널에 연결하지 않았을 경우 명령 표준 오류를 기록" -#: plugins/sudoers/def_data.c:376 +#: plugins/sudoers/def_data.c:378 msgid "Log the terminal output of the command being run" msgstr "실행 명령의 터미널 출력을 기록합니다" -#: plugins/sudoers/def_data.c:380 +#: plugins/sudoers/def_data.c:382 msgid "Compress I/O logs using zlib" msgstr "zlib로 입출력 로그 압축" -#: plugins/sudoers/def_data.c:384 +#: plugins/sudoers/def_data.c:386 msgid "Always run commands in a pseudo-tty" msgstr "항상 명령을 유사 tty에서 실행" -#: plugins/sudoers/def_data.c:388 +#: plugins/sudoers/def_data.c:390 #, c-format msgid "Plugin for non-Unix group support: %s" msgstr "비 유닉스 그룹을 지원하는 플러그인: %s" -#: plugins/sudoers/def_data.c:392 +#: plugins/sudoers/def_data.c:394 #, c-format msgid "Directory in which to store input/output logs: %s" msgstr "입출력 로그를 저장할 디렉터리: %s" -#: plugins/sudoers/def_data.c:396 +#: plugins/sudoers/def_data.c:398 #, c-format msgid "File in which to store the input/output log: %s" msgstr "입출력 로그를 저장할 파일: %s" -#: plugins/sudoers/def_data.c:400 +#: plugins/sudoers/def_data.c:402 msgid "Add an entry to the utmp/utmpx file when allocating a pty" msgstr "pty를 할당할 때 utmp/utmpx 파일에 항목 추가" -#: plugins/sudoers/def_data.c:404 +#: plugins/sudoers/def_data.c:406 msgid "Set the user in utmp to the runas user, not the invoking user" msgstr "utmp의 사용자를 실제 실행 사용자가 아닌 대리 실행 사용자로 설정" -#: plugins/sudoers/def_data.c:408 +#: plugins/sudoers/def_data.c:410 #, c-format msgid "Set of permitted privileges: %s" msgstr "권한 허용 설정: %s" -#: plugins/sudoers/def_data.c:412 +#: plugins/sudoers/def_data.c:414 #, c-format msgid "Set of limit privileges: %s" msgstr "권한 제한 설정: %s" -#: plugins/sudoers/def_data.c:416 +#: plugins/sudoers/def_data.c:418 msgid "Run commands on a pty in the background" msgstr "백그라운드의 pty에서 명령을 실행합니다" -#: plugins/sudoers/def_data.c:420 +#: plugins/sudoers/def_data.c:422 #, c-format msgid "PAM service name to use: %s" msgstr "사용할 PAM 서비스 이름: %s" -#: plugins/sudoers/def_data.c:424 +#: plugins/sudoers/def_data.c:426 #, c-format msgid "PAM service name to use for login shells: %s" msgstr "로그인 셸에서 사용할 PAM 서비스 이름: %s" -#: plugins/sudoers/def_data.c:428 +#: plugins/sudoers/def_data.c:430 #, 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:432 +#: plugins/sudoers/def_data.c:434 msgid "Attempt to establish PAM credentials for the target user" msgstr "대상 사용자의 PAM 인증 처리 시도합니다" -#: plugins/sudoers/def_data.c:436 +#: plugins/sudoers/def_data.c:438 msgid "Create a new PAM session for the command to run in" msgstr "실행할 명령에 새 PAM 세션을 만듭니다" -#: plugins/sudoers/def_data.c:440 +#: plugins/sudoers/def_data.c:442 msgid "Perform PAM account validation management" msgstr "PAM 계정 검증 관리를 수행합니다" -#: plugins/sudoers/def_data.c:444 +#: plugins/sudoers/def_data.c:446 +msgid "Do not allow PAM authentication modules to generate output" +msgstr "PAM 인증 모듈의 출력을 허용하지 않습니다" + +#: plugins/sudoers/def_data.c:450 #, c-format msgid "Maximum I/O log sequence number: %s" msgstr "최대 입출력 로그 순차 번호: %s" -#: plugins/sudoers/def_data.c:448 +#: plugins/sudoers/def_data.c:454 msgid "Enable sudoers netgroup support" msgstr "sudoers에 네트워크 그룹 지원 활성화" -#: plugins/sudoers/def_data.c:452 +#: plugins/sudoers/def_data.c:458 msgid "Check parent directories for writability when editing files with sudoedit" msgstr "sudoedit로 파일을 편집할 때 상위 디렉터리 기록 가능 여부 확인" -#: plugins/sudoers/def_data.c:456 +#: plugins/sudoers/def_data.c:462 msgid "Follow symbolic links when editing files with sudoedit" msgstr "sudoedit로 파일을 편집할 때 심볼릭 링크 따라감" -#: plugins/sudoers/def_data.c:460 +#: plugins/sudoers/def_data.c:466 msgid "Query the group plugin for unknown system groups" msgstr "알 수 없는 시스템 그룹에 그룹 플러그인 요청" -#: plugins/sudoers/def_data.c:464 +#: plugins/sudoers/def_data.c:470 msgid "Match netgroups based on the entire tuple: user, host and domain" msgstr "user, host, domain 전체 튜플을 기반으로 네트워크 그룹 비교" -#: plugins/sudoers/def_data.c:468 +#: plugins/sudoers/def_data.c:474 msgid "Allow commands to be run even if sudo cannot write to the audit log" msgstr "sudo에서 감시 로그를 기록할 수 없을 경우에도 명령 실행 허용" -#: plugins/sudoers/def_data.c:472 +#: plugins/sudoers/def_data.c:478 msgid "Allow commands to be run even if sudo cannot write to the I/O log" msgstr "sudo에서 입출력 로그를 기록할 수 없을 경우에도 명령 실행 허용" -#: plugins/sudoers/def_data.c:476 +#: plugins/sudoers/def_data.c:482 msgid "Allow commands to be run even if sudo cannot write to the log file" msgstr "sudo에서 로그 파일에 기록할 수 없을 경우에도 명령 실행 허용" -#: plugins/sudoers/def_data.c:480 +#: plugins/sudoers/def_data.c:486 msgid "Resolve groups in sudoers and match on the group ID, not the name" msgstr "sudoers의 그룹을 해석하고 그룹 이름이 아닌 ID와 비교" -#: plugins/sudoers/def_data.c:484 +#: plugins/sudoers/def_data.c:490 #, 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:488 +#: plugins/sudoers/def_data.c:494 #, c-format msgid "User that will own the I/O log files: %s" msgstr "입출력 로그 파일을 소유할 사용자: %s" -#: plugins/sudoers/def_data.c:492 +#: plugins/sudoers/def_data.c:498 #, c-format msgid "Group that will own the I/O log files: %s" msgstr "입출력 로그 파일을 소유할 그룹: %s" -#: plugins/sudoers/def_data.c:496 +#: plugins/sudoers/def_data.c:502 #, c-format msgid "File mode to use for the I/O log files: 0%o" msgstr "입출력 로그 파일에 사용할 파일 모드: 0%o" -#: plugins/sudoers/def_data.c:500 +#: plugins/sudoers/def_data.c:506 #, c-format msgid "Execute commands by file descriptor instead of by path: %s" msgstr "경로가 아닌 파일 서술자로 명령어 실행: %s" -#: plugins/sudoers/def_data.c:504 +#: plugins/sudoers/def_data.c:510 msgid "Ignore unknown Defaults entries in sudoers instead of producing a warning" msgstr "경고를 출력하는 대신 sudoers에서 알 수 없는 기본 항목을 무시" -#: plugins/sudoers/def_data.c:508 +#: plugins/sudoers/def_data.c:514 #, c-format msgid "Time in seconds after which the command will be terminated: %u" msgstr "명령 처리가 끝난 후의 초 단위 시간: %u" -#: plugins/sudoers/def_data.c:512 +#: plugins/sudoers/def_data.c:518 msgid "Allow the user to specify a timeout on the command line" msgstr "사용자가 명령행에서 제한 시간을 지정하도록 허용" -#: plugins/sudoers/def_data.c:516 +#: plugins/sudoers/def_data.c:522 msgid "Flush I/O log data to disk immediately instead of buffering it" msgstr "입출력 로그 데이터를 버퍼링하는 대신 즉시 디스크로 플러싱" -#: plugins/sudoers/def_data.c:520 +#: plugins/sudoers/def_data.c:526 msgid "Include the process ID when logging via syslog" msgstr "syslog로 로깅할 때 프로세스 ID 포함" -#: plugins/sudoers/def_data.c:524 +#: plugins/sudoers/def_data.c:530 #, c-format msgid "Type of authentication timestamp record: %s" msgstr "인증 타임스탬프 레코드 형식: %s" -#: plugins/sudoers/def_data.c:528 +#: plugins/sudoers/def_data.c:534 #, c-format msgid "Authentication failure message: %s" msgstr "인증 실패 메시지: %s" -#: plugins/sudoers/def_data.c:532 +#: plugins/sudoers/def_data.c:538 msgid "Ignore case when matching user names" msgstr "사용자 이름 비교시 대소문자 무시" -#: plugins/sudoers/def_data.c:536 +#: plugins/sudoers/def_data.c:542 msgid "Ignore case when matching group names" msgstr "그룹 이름 비교시 대소문자 무시" -#: plugins/sudoers/def_data.c:540 +#: plugins/sudoers/def_data.c:546 msgid "Log when a command is allowed by sudoers" msgstr "sudoers에서 명령을 허용할 때 기록" -#: plugins/sudoers/def_data.c:544 +#: plugins/sudoers/def_data.c:550 msgid "Log when a command is denied by sudoers" msgstr "sudoers에서 명령을 거절할 때 기록" -#: plugins/sudoers/def_data.c:548 +#: plugins/sudoers/def_data.c:554 msgid "Sudo log server(s) to connect to with optional port" msgstr "개별 포트 정보를 추가하여 연결할 sudo 로그 서버" -#: plugins/sudoers/def_data.c:552 +#: plugins/sudoers/def_data.c:558 #, c-format msgid "Sudo log server timeout in seconds: %u" msgstr "초 단위 sudo 로그 서버 제한 시간: %u" -#: plugins/sudoers/def_data.c:556 +#: plugins/sudoers/def_data.c:562 msgid "Enable SO_KEEPALIVE socket option on the socket connected to the logserver" msgstr "연결한 로그 서버 소켓에 SO_KEEPALIVE 소켓 옵션 활성화" -#: plugins/sudoers/def_data.c:560 +#: plugins/sudoers/def_data.c:566 #, c-format msgid "Path to the audit server's CA bundle file: %s" msgstr "감사 서버의 CA 번들 파일 경로: %s" -#: plugins/sudoers/def_data.c:564 +#: plugins/sudoers/def_data.c:570 #, c-format msgid "Path to the sudoers certificate file: %s" msgstr "sudoers 인증 파일 경로: %s" -#: plugins/sudoers/def_data.c:568 +#: plugins/sudoers/def_data.c:574 #, c-format msgid "Path to the sudoers private key file: %s" msgstr "sudoers 개인 키 파일 경로: %s" -#: plugins/sudoers/def_data.c:572 +#: plugins/sudoers/def_data.c:578 msgid "Verify that the log server's certificate is valid" msgstr "로그 서버 인증서 유효성 검증" -#: plugins/sudoers/def_data.c:576 +#: plugins/sudoers/def_data.c:582 msgid "Allow the use of unknown runas user and/or group ID" msgstr "사용자/그룹 ID로의 알 수 없는 실행 허용" -#: plugins/sudoers/def_data.c:580 +#: plugins/sudoers/def_data.c:586 msgid "Only permit running commands as a user with a valid shell" msgstr "유효한 셸에서 사용자가 명령을 실행할 경우만 허용" -#: plugins/sudoers/def_data.c:584 +#: plugins/sudoers/def_data.c:590 msgid "Set the pam remote user to the user running sudo" msgstr "sudo를 실행하는 사용자를 PAM 원격 사용자로 설정" -#: plugins/sudoers/def_data.c:588 +#: plugins/sudoers/def_data.c:594 msgid "Set the pam remote host to the local host name" msgstr "로컬 호스트 이름에 PAM 원격 사용자 설정" -#: plugins/sudoers/def_data.c:592 +#: plugins/sudoers/def_data.c:598 #, c-format msgid "Working directory to change to before executing the command: %s" msgstr "명령 실행 전 바꿀 작업 디렉터리: %s" -#: plugins/sudoers/def_data.c:596 +#: plugins/sudoers/def_data.c:602 #, c-format msgid "Root directory to change to before executing the command: %s" msgstr "명령 실행 전 바꿀 루트 디렉터리: %s" -#: plugins/sudoers/def_data.c:600 +#: plugins/sudoers/def_data.c:606 #, c-format msgid "The format of logs to produce: %s" msgstr "로그 기록 형식: %s" -#: plugins/sudoers/def_data.c:604 +#: plugins/sudoers/def_data.c:610 msgid "Enable SELinux RBAC support" msgstr "SELinux RBAC 지원을 사용합니다" -#: plugins/sudoers/def_data.c:608 +#: plugins/sudoers/def_data.c:614 #, 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:612 +#: plugins/sudoers/def_data.c:618 msgid "Intercept further commands and apply sudoers restrictions to them" msgstr "추가 명령을 가로채고 sudoer 제한을 적용합니다" -#: plugins/sudoers/def_data.c:616 +#: plugins/sudoers/def_data.c:622 msgid "Log sub-commands run by the original command" msgstr "원본 명령으로 실행하는 하위 명령 기록" -#: plugins/sudoers/def_data.c:620 +#: plugins/sudoers/def_data.c:626 msgid "Log the exit status of commands" msgstr "실행 명령 끝내기 상태 기록" -#: plugins/sudoers/def_data.c:624 +#: plugins/sudoers/def_data.c:630 msgid "Subsequent commands in an intercepted session must be authenticated" msgstr "가로챈 세션에서의 순차 명령 실행시 인증해야 합니다" -#: plugins/sudoers/def_data.c:628 +#: plugins/sudoers/def_data.c:634 msgid "Allow an intercepted command to run set setuid or setgid programs" msgstr "setuid 또는 setgid 프로그램을 실행할 가로채기 명령 실행 허용" -#: plugins/sudoers/def_data.c:632 +#: plugins/sudoers/def_data.c:638 #, 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:636 +#: plugins/sudoers/def_data.c:642 #, c-format msgid "The largest size core dump file that may be created (in bytes): %s" msgstr "코어 덤프 파일 최대 생성 크기(바이트 단위): %s" -#: plugins/sudoers/def_data.c:640 +#: plugins/sudoers/def_data.c:646 #, 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:644 +#: plugins/sudoers/def_data.c:650 #, c-format msgid "The maximum size of the data segment for the process (in bytes): %s" msgstr "프로세스 데이터 세그먼트 최대 크기(바이트 단위): %s" -#: plugins/sudoers/def_data.c:648 +#: plugins/sudoers/def_data.c:654 #, c-format msgid "The largest size file that the process may create (in bytes): %s" msgstr "프로세스에서 만들 최대 파일 크기(바이트 단위): %s" -#: plugins/sudoers/def_data.c:652 +#: plugins/sudoers/def_data.c:658 #, c-format msgid "The maximum number of locks that the process may establish: %s" msgstr "프로세스 실행 최대 잠금 횟수: %s" -#: plugins/sudoers/def_data.c:656 +#: plugins/sudoers/def_data.c:662 #, c-format msgid "The maximum size that the process may lock in memory (in bytes): %s" msgstr "메모리에서 잠글 프로세스 최대 크기(바이트 단위): %s" -#: plugins/sudoers/def_data.c:660 +#: plugins/sudoers/def_data.c:666 #, c-format msgid "The maximum number of files that the process may have open: %s" msgstr "프로세스에서 열 파일 최대 갯수: %s" -#: plugins/sudoers/def_data.c:664 +#: plugins/sudoers/def_data.c:670 #, c-format msgid "The maximum number of processes that the user may run simultaneously: %s" msgstr "사용자가 동시 실행할 최대 프로세스 갯수: %s" -#: plugins/sudoers/def_data.c:668 +#: plugins/sudoers/def_data.c:674 #, 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:672 +#: plugins/sudoers/def_data.c:678 #, c-format msgid "The maximum size to which the process's stack may grow (in bytes): %s" msgstr "프로세스 스택 크기 증가 최대 크기(바이트 단위): %s" -#: plugins/sudoers/def_data.c:676 +#: plugins/sudoers/def_data.c:682 msgid "Attempt authentication even when in non-interactive mode" msgstr "비 대화식 상태에서도 인증 시도" -#: plugins/sudoers/def_data.c:680 +#: plugins/sudoers/def_data.c:686 msgid "Store plaintext passwords in I/O log input" msgstr "I/O 로그 입력시 원문 암호 저장" -#: plugins/sudoers/def_data.c:684 +#: plugins/sudoers/def_data.c:690 msgid "List of regular expressions to use when matching a password prompt" msgstr "암호 프롬프트 대조시 사용할 정규 표현식 목록" -#: plugins/sudoers/def_data.c:688 +#: plugins/sudoers/def_data.c:694 #, c-format msgid "The mechanism used by the intercept and log_subcmds options: %s" msgstr "intercept 옵션과 log_subcmds 옵션에서 지원하는 매커니즘: %s" -#: plugins/sudoers/def_data.c:692 +#: plugins/sudoers/def_data.c:698 msgid "Attempt to verify the command and arguments after execution" msgstr "실행 후 명령 및 인자 검증 시도" -#: plugins/sudoers/def_data.c:696 +#: plugins/sudoers/def_data.c:702 #, c-format msgid "AppArmor profile to use in the new security context: %s" msgstr "새 보안 컨텍스트에서 활용할 AppArmor 프로파일: %s" +#: plugins/sudoers/def_data.c:706 +#, c-format +msgid "Command denial message: %s" +msgstr "명령 거부 메시지: %s" + #: plugins/sudoers/defaults.c:207 #, c-format msgid "unknown defaults entry \"%s\"" @@ -2658,64 +2670,64 @@ msgstr "\"%2$s\" 옵션의 부적절한 기본 형식 0x%1$x" msgid "value \"%s\" is invalid for option \"%s\"" msgstr "\"%s\" 값은 \"%s\" 옵션에 맞지 않습니다" -#: plugins/sudoers/defaults.c:1176 plugins/sudoers/policy.c:213 -#: plugins/sudoers/policy.c:222 +#: plugins/sudoers/defaults.c:1189 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:1182 +#: plugins/sudoers/defaults.c:1195 #, c-format msgid "values for \"%s\" must start with a '/', '~', or '*'" msgstr "\"%s\" 값은 '/', '~', '*' 문자로 시작해야합니다" -#: plugins/sudoers/defaults.c:1189 +#: plugins/sudoers/defaults.c:1202 #, c-format msgid "values for \"%s\" must start with a '/'" msgstr "\"%s\" 값은 '/' 문자로 시작해야합니다" -#: plugins/sudoers/display.c:160 +#: plugins/sudoers/display.c:154 #, c-format msgid "LDAP Role: %s\n" msgstr "LDAP 역할: %s\n" -#: plugins/sudoers/display.c:163 +#: plugins/sudoers/display.c:157 #, c-format msgid "Sudoers entry: %s\n" msgstr "Sudoers 항목: %s\n" -#: plugins/sudoers/display.c:166 +#: plugins/sudoers/display.c:160 msgid " RunAsUsers: " msgstr " 실행 사용자: " -#: plugins/sudoers/display.c:181 +#: plugins/sudoers/display.c:175 msgid " RunAsGroups: " msgstr " 실행 그룹: " -#: plugins/sudoers/display.c:191 +#: plugins/sudoers/display.c:185 msgid " Options: " msgstr " 옵션: " -#: plugins/sudoers/display.c:255 +#: plugins/sudoers/display.c:249 msgid " Commands:\n" msgstr " 명령:\n" -#: plugins/sudoers/display.c:478 +#: plugins/sudoers/display.c:472 #, c-format msgid "Matching Defaults entries for %s on %s:\n" msgstr "%2$s에서 %1$s에 일치하는 기본 항목:\n" -#: plugins/sudoers/display.c:496 +#: plugins/sudoers/display.c:490 #, c-format msgid "Runas and Command-specific defaults for %s:\n" msgstr "%s의 실행 권한 및 명령별 기본 값:\n" -#: plugins/sudoers/display.c:514 +#: plugins/sudoers/display.c:508 #, c-format msgid "User %s may run the following commands on %s:\n" msgstr "%s 사용자는 %s에서 다음 명령을 실행해야 합니다:\n" -#: plugins/sudoers/display.c:530 +#: plugins/sudoers/display.c:524 #, c-format msgid "User %s is not allowed to run sudo on %s.\n" msgstr "%s 사용자는 %s에서 sudo를 실행하도록 허가받지 않았습니다.\n" @@ -2729,15 +2741,15 @@ msgstr "편집기 무시: %.*s" msgid "editor arguments may not contain \"--\"" msgstr "편집기 인자에 \"--\"를 넣으면 안됩니다" -#: plugins/sudoers/env.c:426 +#: plugins/sudoers/env.c:443 msgid "sudo_putenv: corrupted envp, length mismatch" msgstr "sudo_putenv: envp가 깨졌습니다. 길이가 일치하지 않습니다" -#: plugins/sudoers/env.c:1119 +#: plugins/sudoers/env.c:1137 msgid "unable to rebuild the environment" msgstr "환경 구성을 다시 갖출 수 없습니다" -#: plugins/sudoers/env.c:1199 +#: plugins/sudoers/env.c:1217 #, c-format msgid "sorry, you are not allowed to set the following environment variables: %s" msgstr "죄송하지만 다음 환경 변수를 설정하도록 허가받지 않았습니다: %s" @@ -2781,37 +2793,37 @@ msgstr "\"%s\" 네트워크 마스크 주소를 해석할 수 없습니다" msgid "Local IP address and netmask pairs:\n" msgstr "로컬 IP 주소 및 넷마스크 쌍:\n" -#: plugins/sudoers/iolog.c:694 +#: plugins/sudoers/iolog.c:702 msgid "unable to update sequence file" msgstr "시퀀스 파일을 업데이트할 수 없습니다" -#: plugins/sudoers/iolog.c:728 plugins/sudoers/iolog.c:917 -#: plugins/sudoers/iolog.c:1080 plugins/sudoers/iolog.c:1087 -#: plugins/sudoers/iolog.c:1209 plugins/sudoers/iolog.c:1216 -#: plugins/sudoers/iolog.c:1316 plugins/sudoers/iolog.c:1323 +#: plugins/sudoers/iolog.c:736 plugins/sudoers/iolog.c:925 +#: plugins/sudoers/iolog.c:1088 plugins/sudoers/iolog.c:1095 +#: plugins/sudoers/iolog.c:1217 plugins/sudoers/iolog.c:1224 +#: plugins/sudoers/iolog.c:1324 plugins/sudoers/iolog.c:1331 #, c-format msgid "unable to write to I/O log file: %s" msgstr "입출력 로그에 기록할 수 없습니다: %s" -#: plugins/sudoers/iolog.c:736 +#: plugins/sudoers/iolog.c:744 #, c-format msgid "unable to create %s/%s" msgstr "%s/%s을(를) 만들 수 없습니다" -#: plugins/sudoers/iolog.c:965 +#: plugins/sudoers/iolog.c:973 #, c-format msgid "%s: internal error, I/O log file for event %d not open" msgstr "%s: 내부 오류. 이벤트 %d 번의 입출력 로그 파일을 열지 않았습니다" -#: plugins/sudoers/iolog.c:1065 plugins/sudoers/iolog.c:1194 -#: plugins/sudoers/iolog.c:1300 plugins/sudoers/timestamp.c:897 -#: plugins/sudoers/timestamp.c:989 plugins/sudoers/visudo.c:555 +#: plugins/sudoers/iolog.c:1073 plugins/sudoers/iolog.c:1202 +#: plugins/sudoers/iolog.c:1308 plugins/sudoers/timestamp.c:900 +#: plugins/sudoers/timestamp.c:992 plugins/sudoers/visudo.c:555 #: plugins/sudoers/visudo.c:561 msgid "unable to read the clock" msgstr "클록을 읽을 수 없습니다" -#: plugins/sudoers/iolog.c:1292 plugins/sudoers/log_client.c:1203 -#: plugins/sudoers/log_client.c:1213 plugins/sudoers/log_client.c:1217 +#: plugins/sudoers/iolog.c:1300 plugins/sudoers/log_client.c:1226 +#: plugins/sudoers/log_client.c:1236 plugins/sudoers/log_client.c:1240 #, c-format msgid "%s: internal error, invalid signal %d" msgstr "%s: 내부 오류. 부적절한 시그널 %d번" @@ -2858,15 +2870,15 @@ msgstr "지원하지 않는 LDAP URI 형식: %s" msgid "unable to mix ldap and ldaps URIs" msgstr "ldap 및 ldaps URI를 함께 사용할 수 없습니다" -#: 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 +#: plugins/sudoers/ldap_util.c:496 plugins/sudoers/ldap_util.c:503 +#: plugins/sudoers/ldap_util.c:511 plugins/sudoers/ldap_util.c:519 +#: plugins/sudoers/ldap_util.c:527 plugins/sudoers/ldap_util.c:535 +#: plugins/sudoers/ldap_util.c:543 plugins/sudoers/ldap_util.c:551 #, c-format msgid "duplicate sudoOption: %s%s%s" msgstr "sudoOption 복제: %s%s%s" -#: plugins/sudoers/ldap_util.c:568 plugins/sudoers/ldap_util.c:570 +#: plugins/sudoers/ldap_util.c:569 plugins/sudoers/ldap_util.c:571 #, c-format msgid "unable to convert sudoOption: %s%s%s" msgstr "sudoOption을 변환할 수 없습니다: %s%s%s" @@ -2879,63 +2891,63 @@ msgstr "감시 시스템을 열 수 없습니다" msgid "unable to send audit message" msgstr "감시 메시지를 보낼 수 없습니다" -#: plugins/sudoers/log_client.c:125 plugins/sudoers/log_client.c:412 -#: plugins/sudoers/log_client.c:1450 plugins/sudoers/log_client.c:2076 +#: plugins/sudoers/log_client.c:125 plugins/sudoers/log_client.c:421 +#: plugins/sudoers/log_client.c:1473 plugins/sudoers/log_client.c:2101 msgid "error in event loop" msgstr "이벤트 루프 오류" -#: plugins/sudoers/log_client.c:205 +#: plugins/sudoers/log_client.c:214 #, c-format msgid "Creation of new SSL_CTX object failed: %s" msgstr "SSL_CTX 객체 만들기 실패: %s" -#: plugins/sudoers/log_client.c:230 +#: plugins/sudoers/log_client.c:239 #, c-format msgid "unable to load certificate authority bundle %s" msgstr "%s 인증서 인증 번들을 불러올 수 없습니다" -#: plugins/sudoers/log_client.c:252 +#: plugins/sudoers/log_client.c:261 #, c-format msgid "unable to load certificate %s" msgstr "%s 인증서를 불러올 수 없습니다" -#: plugins/sudoers/log_client.c:266 +#: plugins/sudoers/log_client.c:275 #, c-format msgid "unable to load private key %s" msgstr "%s 개인 키를 불러올 수 없습니다" -#: plugins/sudoers/log_client.c:275 +#: plugins/sudoers/log_client.c:284 #, c-format msgid "Unable to allocate ssl object: %s" msgstr "SSL 객체를 할당할 수 없습니다: %s" -#: plugins/sudoers/log_client.c:364 plugins/sudoers/log_client.c:369 +#: plugins/sudoers/log_client.c:373 plugins/sudoers/log_client.c:378 #, c-format msgid "TLS connection to %s:%s failed: %s" msgstr "%s:%s로의 TLS 연결 실패: %s" -#: plugins/sudoers/log_client.c:545 +#: plugins/sudoers/log_client.c:554 msgid "TLS initialization was unsuccessful" msgstr "TLS 초기화에 실패했습니다" -#: plugins/sudoers/log_client.c:555 +#: plugins/sudoers/log_client.c:564 msgid "TLS handshake was unsuccessful" msgstr "TLS 핸드셰이킹에 실패했습니다" -#: plugins/sudoers/log_client.c:1221 +#: plugins/sudoers/log_client.c:1244 #, c-format msgid "%s: internal error, invalid exit status %d" msgstr "%s: 내부 오류. 부적절한 종료 상태 %d" -#: plugins/sudoers/log_client.c:1757 plugins/sudoers/log_client.c:1782 +#: plugins/sudoers/log_client.c:1780 plugins/sudoers/log_client.c:1805 msgid "lost connection to log server" msgstr "로그 서버의 연결이 끊어졌습니다" -#: plugins/sudoers/log_client.c:1859 +#: plugins/sudoers/log_client.c:1882 msgid "missing write buffer" msgstr "기록 버퍼 빠짐" -#: plugins/sudoers/log_client.c:2015 +#: plugins/sudoers/log_client.c:2040 msgid "unable to connect to log server" msgstr "로그 서버에 연결할 수 없습니다" @@ -2948,42 +2960,55 @@ msgid "user NOT authorized on host" msgstr "사용자가 호스트에서 인증하지 않았습니다" #: plugins/sudoers/logging.c:299 +msgid "setid command rejected in intercept mode" +msgstr "가로채기 모드에서 setid 명령을 거부했습니다" + +#: plugins/sudoers/logging.c:301 msgid "command not allowed" msgstr "명령을 허용하지 않았습니다" -#: plugins/sudoers/logging.c:320 +#: plugins/sudoers/logging.c:322 #, c-format msgid "%s is not in the sudoers file.\n" msgstr "%s은(는) sudoers 파일에 없습니다.\n" -#: plugins/sudoers/logging.c:323 +#: plugins/sudoers/logging.c:325 #, c-format msgid "%s is not allowed to run sudo on %s.\n" msgstr "%s 사용자는 %s에서 sudo를 실행할 수 없습니다.\n" -#: plugins/sudoers/logging.c:326 +#: plugins/sudoers/logging.c:328 plugins/sudoers/parser_warnx.c:59 +#, c-format +msgid "%s: %s\n" +msgstr "%s: %s\n" + +#: plugins/sudoers/logging.c:329 +msgid "setid commands are not permitted in intercept mode" +msgstr "가로채기 모드에서 setid 명령을 허용하지 않습니다" + +#: plugins/sudoers/logging.c:331 #, c-format msgid "Sorry, user %s may not run sudo on %s.\n" msgstr "죄송하지만, %s 사용자는 %s에서 sudo를 실행하면 안됩니다.\n" -#: plugins/sudoers/logging.c:339 +#: plugins/sudoers/logging.c:344 #, c-format msgid "Sorry, user %s is not allowed to execute '%s%s%s%s' as %s%s%s on %s.\n" msgstr "죄송하지만 %1$s 사용자는 '%2$s%3$s%4$s%5$s'을(를) %9$s의 %6$s%7$s%8$s(으)로 실행하도록 허가받지 않았습니다.\n" -#: plugins/sudoers/logging.c:350 +#: plugins/sudoers/logging.c:358 msgid "This incident has been reported to the administrator.\n" msgstr "이번 시도는 관리자에게 보고했습니다.\n" -#: plugins/sudoers/logging.c:387 plugins/sudoers/sudoers.c:547 -#: plugins/sudoers/sudoers.c:549 plugins/sudoers/sudoers.c:551 -#: plugins/sudoers/sudoers.c:553 plugins/sudoers/sudoers.c:777 -#: plugins/sudoers/sudoers.c:779 +#: plugins/sudoers/logging.c:395 plugins/sudoers/sudoers.c:564 +#: plugins/sudoers/sudoers.c:566 plugins/sudoers/sudoers.c:568 +#: plugins/sudoers/sudoers.c:570 plugins/sudoers/sudoers.c:794 +#: plugins/sudoers/sudoers.c:796 #, c-format msgid "%s: command not found" msgstr "%s: 명령이 없습니다" -#: plugins/sudoers/logging.c:389 plugins/sudoers/sudoers.c:543 +#: plugins/sudoers/logging.c:397 plugins/sudoers/sudoers.c:560 #, c-format msgid "" "ignoring \"%s\" found in '.'\n" @@ -2992,30 +3017,30 @@ msgstr "" "'.'에 무시 중인 \"%1$s\" 요소가 있습니다.\n" "\"%3$s\" 명령을 실행하려면, \"sudo ./%2$s\" 명령을 사용하십시오." -#: plugins/sudoers/logging.c:409 +#: plugins/sudoers/logging.c:417 #, c-format msgid "%u incorrect password attempt" msgid_plural "%u incorrect password attempts" msgstr[0] "잘못된 암호 입력 시도 %u번" -#: plugins/sudoers/logging.c:500 +#: plugins/sudoers/logging.c:508 msgid "authentication failure" msgstr "인증 실패" -#: plugins/sudoers/logging.c:539 plugins/sudoers/logging.c:558 +#: plugins/sudoers/logging.c:552 plugins/sudoers/logging.c:571 msgid "a password is required" msgstr "암호가 필요합니다" -#: plugins/sudoers/logging.c:881 +#: plugins/sudoers/logging.c:889 msgid "problem parsing sudoers" msgstr "sudoers 해석 문제" -#: plugins/sudoers/logging.c:922 plugins/sudoers/logging.c:930 +#: plugins/sudoers/logging.c:930 plugins/sudoers/logging.c:938 #, c-format msgid "%s:%d:%d: %s" msgstr "%s:%d:%d: %s" -#: plugins/sudoers/logging.c:1108 +#: plugins/sudoers/logging.c:1119 #, c-format msgid "unable to write log file %s" msgstr "%s 로그 파일에 기록할 수 없습니다" @@ -3045,11 +3070,6 @@ msgstr "부적절한 LDIF 속성: %s" msgid "%s:%d:%d: %s\n" msgstr "%s:%d:%d: %s\n" -#: plugins/sudoers/parser_warnx.c:59 -#, c-format -msgid "%s: %s\n" -msgstr "%s: %s\n" - #: plugins/sudoers/pivot.c:71 msgid "unable to restore root directory" msgstr "루트 디렉터리를 복원할 수 없습니다" @@ -3063,59 +3083,59 @@ msgstr "현재 작업 디렉터리를 복원할 수 없습니다" msgid "invalid %.*s set by sudo front-end" msgstr "sudo 프론트엔드의 %.*s 설정이 잘못되었습니다" -#: plugins/sudoers/policy.c:364 plugins/sudoers/testsudoers.c:329 +#: plugins/sudoers/policy.c:347 plugins/sudoers/testsudoers.c:329 msgid "unable to parse network address list" msgstr "네트워크 주소 목록을 해석할 수 없습니다" -#: plugins/sudoers/policy.c:556 +#: plugins/sudoers/policy.c:555 msgid "user name not set by sudo front-end" msgstr "sudo 프론트엔드에서 사용자 이름을 설정하지 않았습니다" -#: plugins/sudoers/policy.c:560 +#: plugins/sudoers/policy.c:559 msgid "user-ID not set by sudo front-end" msgstr "sudo 프론트엔드에서 사용자 ID를 설정하지 않았습니다" -#: plugins/sudoers/policy.c:564 +#: plugins/sudoers/policy.c:563 msgid "group-ID not set by sudo front-end" msgstr "sudo 프론트엔드에서 그룹 ID를 지정하지 않았습니다" -#: plugins/sudoers/policy.c:568 +#: plugins/sudoers/policy.c:567 msgid "host name not set by sudo front-end" msgstr "sudo 프론트엔드에서 호스트 이름을 설정하지 않았습니다" -#: plugins/sudoers/policy.c:757 +#: plugins/sudoers/policy.c:765 #, c-format msgid "invalid working directory: %s" msgstr "부적절한 작업 디렉터리: %s" -#: plugins/sudoers/policy.c:944 +#: plugins/sudoers/policy.c:952 #, c-format msgid "invalid chroot directory: %s" msgstr "부적절한 루트 변경 디렉터리: %s" -#: plugins/sudoers/policy.c:1153 plugins/sudoers/visudo.c:919 +#: plugins/sudoers/policy.c:1163 plugins/sudoers/visudo.c:919 #: plugins/sudoers/visudo.c:1218 #, c-format msgid "unable to execute %s" msgstr "%s을(를) 실행할 수 없습니다" -#: plugins/sudoers/policy.c:1225 plugins/sudoers/policy.c:1260 -#: plugins/sudoers/policy.c:1282 plugins/sudoers/policy.c:1300 +#: plugins/sudoers/policy.c:1232 plugins/sudoers/policy.c:1267 +#: plugins/sudoers/policy.c:1289 plugins/sudoers/policy.c:1307 #, c-format msgid "%s: invalid mode flags from sudo front end: 0x%x" msgstr "%s: sudo 프론트엔드의 상태 플래그가 잘못되었습니다: 0x%x" -#: plugins/sudoers/policy.c:1323 +#: plugins/sudoers/policy.c:1330 #, c-format msgid "Sudoers policy plugin version %s\n" msgstr "Sudoers 정책 플러그인 버전 %s\n" -#: plugins/sudoers/policy.c:1325 +#: plugins/sudoers/policy.c:1332 #, c-format msgid "Sudoers file grammar version %d\n" msgstr "Sudoers 파일 문법 버전 %d\n" -#: plugins/sudoers/policy.c:1329 +#: plugins/sudoers/policy.c:1336 #, c-format msgid "" "\n" @@ -3124,27 +3144,27 @@ msgstr "" "\n" "Sudoers 경로: %s\n" -#: plugins/sudoers/policy.c:1332 +#: plugins/sudoers/policy.c:1339 #, c-format msgid "nsswitch path: %s\n" msgstr "nsswitch 경로: %s\n" -#: plugins/sudoers/policy.c:1335 +#: plugins/sudoers/policy.c:1342 #, c-format msgid "ldap.conf path: %s\n" msgstr "ldap.conf 경로: %s\n" -#: plugins/sudoers/policy.c:1337 +#: plugins/sudoers/policy.c:1344 #, c-format msgid "ldap.secret path: %s\n" msgstr "ldap.secret 경로: %s\n" -#: plugins/sudoers/policy.c:1370 +#: plugins/sudoers/policy.c:1377 #, c-format msgid "unable to register hook of type %d (version %d.%d)" msgstr "%d 형식의 후크를 등록할 수 없습니다(버전 %d.%d)" -#: plugins/sudoers/policy.c:1388 +#: plugins/sudoers/policy.c:1395 #, c-format msgid "unable to deregister hook of type %d (version %d.%d)" msgstr "%d 형식의 후크 등록을 해제할 수 없습니다(버전 %d.%d)" @@ -3191,24 +3211,24 @@ msgstr "%s 그룹을 캐시에 적재할 수 없습니다" msgid "unable to cache group %s, already exists" msgstr "%s 그룹을 캐시에 적재할 수 없습니다. 이미 존재합니다." -#: plugins/sudoers/pwutil.c:900 plugins/sudoers/pwutil.c:985 -#: plugins/sudoers/pwutil.c:1039 plugins/sudoers/pwutil.c:1095 +#: plugins/sudoers/pwutil.c:900 plugins/sudoers/pwutil.c:988 +#: plugins/sudoers/pwutil.c:1042 plugins/sudoers/pwutil.c:1101 #, c-format msgid "unable to cache group list for %s, already exists" msgstr "%s 그룹 목록을 캐시에 적재할 수 없습니다. 이미 존재합니다." -#: plugins/sudoers/pwutil.c:906 plugins/sudoers/pwutil.c:990 -#: plugins/sudoers/pwutil.c:1045 plugins/sudoers/pwutil.c:1100 +#: plugins/sudoers/pwutil.c:906 plugins/sudoers/pwutil.c:993 +#: plugins/sudoers/pwutil.c:1048 plugins/sudoers/pwutil.c:1106 #, c-format msgid "unable to cache group list for %s" msgstr "%s 그룹 목록을 캐시에 적재할 수 없습니다" -#: plugins/sudoers/pwutil.c:979 +#: plugins/sudoers/pwutil.c:982 #, c-format msgid "unable to parse groups for %s" msgstr "%s 그룹을 해석할 수 없습니다" -#: plugins/sudoers/pwutil.c:1089 +#: plugins/sudoers/pwutil.c:1095 #, c-format msgid "unable to parse gids for %s" msgstr "%s 그룹 ID를 해석할 수 없습니다" @@ -3337,82 +3357,82 @@ msgstr "%s 디렉터리로의 이동을 허용하지 않습니다" msgid "you are not permitted to use the -D option with %s" msgstr "-D 옵션과 %s 옵션의 병행 사용을 허가받지 않았습니다" -#: plugins/sudoers/sudoers.c:542 +#: plugins/sudoers/sudoers.c:559 msgid "command in current directory" msgstr "현재 디렉터리의 명령" -#: plugins/sudoers/sudoers.c:557 +#: plugins/sudoers/sudoers.c:574 msgid "\"cd\" is a shell built-in command, it cannot be run directly." msgstr "\"cd\"는 셸 내장 명령으로, 직접 실행할 수 없습니다." -#: plugins/sudoers/sudoers.c:559 +#: plugins/sudoers/sudoers.c:576 msgid "the -s option may be used to run a privileged shell." msgstr "-s 옵션은 별도 권한을 부여한 셸에서 실행할 때 사용합니다." -#: plugins/sudoers/sudoers.c:561 +#: plugins/sudoers/sudoers.c:578 msgid "the -D option may be used to run a command in a specific directory." msgstr "-D 옵션은 지정 디렉터리에서 명령을 실행할 때 사용합니다." -#: plugins/sudoers/sudoers.c:570 +#: plugins/sudoers/sudoers.c:587 msgid "user not allowed to set a command timeout" msgstr "사용자가 명령 처리 제한 시간을 설정하도록 허용하지 않았습니다" -#: plugins/sudoers/sudoers.c:572 +#: plugins/sudoers/sudoers.c:589 msgid "sorry, you are not allowed set a command timeout" msgstr "죄송하지만, 명령 처리 제한 시간을 설정할 수 없습니다" -#: plugins/sudoers/sudoers.c:580 +#: plugins/sudoers/sudoers.c:597 msgid "user not allowed to preserve the environment" msgstr "사용자가 환경 설정 값을 유지하도록 허용하지 않았습니다" -#: plugins/sudoers/sudoers.c:582 +#: plugins/sudoers/sudoers.c:599 msgid "sorry, you are not allowed to preserve the environment" msgstr "죄송하지만 이 환경 상태를 유지하도록 허가받지 않았습니다" -#: plugins/sudoers/sudoers.c:618 +#: plugins/sudoers/sudoers.c:635 msgid "no command specified" msgstr "지정한 명령이 없음" -#: plugins/sudoers/sudoers.c:759 +#: plugins/sudoers/sudoers.c:776 msgid "error setting user-specified environment variables" msgstr "사용자 지정 환경 변수 설정 오류" -#: plugins/sudoers/sudoers.c:1211 +#: plugins/sudoers/sudoers.c:1229 msgid "sudoedit doesn't need to be run via sudo" msgstr "sudoedit는 sudo로 실행할 필요가 없습니다" -#: plugins/sudoers/sudoers.c:1296 plugins/sudoers/sudoreplay.c:1613 -#: plugins/sudoers/tsdump.c:138 +#: plugins/sudoers/sudoers.c:1314 plugins/sudoers/sudoreplay.c:1615 +#: plugins/sudoers/tsdump.c:151 #, c-format msgid "unable to read %s" msgstr "%s을(를) 읽을 수 없습니다" -#: plugins/sudoers/sudoers.c:1321 plugins/sudoers/visudo.c:1123 +#: plugins/sudoers/sudoers.c:1339 plugins/sudoers/visudo.c:1123 #, c-format msgid "%s is not a regular file" msgstr "%s은(는) 일반 파일이 아닙니다" -#: plugins/sudoers/sudoers.c:1325 plugins/sudoers/timestamp.c:272 toke.l:1355 +#: plugins/sudoers/sudoers.c:1343 plugins/sudoers/timestamp.c:272 toke.l:1335 #, c-format msgid "%s is owned by uid %u, should be %u" msgstr "%s은(는) %u uid가 소유했지만, %u uid가 소유해야합니다" -#: plugins/sudoers/sudoers.c:1330 plugins/sudoers/timestamp.c:279 toke.l:1360 +#: plugins/sudoers/sudoers.c:1348 plugins/sudoers/timestamp.c:279 toke.l:1340 #, c-format msgid "%s is world writable" msgstr "%s에 모두가 기록할 수 있습니다" -#: plugins/sudoers/sudoers.c:1334 plugins/sudoers/timestamp.c:284 toke.l:1363 +#: plugins/sudoers/sudoers.c:1352 plugins/sudoers/timestamp.c:284 toke.l:1343 #, c-format msgid "%s is owned by gid %u, should be %u" msgstr "%s은(는) %u gid가 소유했지만, %u gid가 소유해야합니다" -#: plugins/sudoers/sudoers.c:1363 +#: plugins/sudoers/sudoers.c:1381 #, c-format msgid "only root can use \"-c %s\"" msgstr "루트만 \"-c %s\" 옵션을 사용할 수 있습니다" -#: plugins/sudoers/sudoers.c:1382 +#: plugins/sudoers/sudoers.c:1400 #, c-format msgid "unknown login class %s" msgstr "알 수 없는 로그인 클래스 %s" @@ -3457,75 +3477,75 @@ msgstr "%s/timing: %s" msgid "Replaying sudo session: %s" msgstr "sudo 세션 재현 중: %s" -#: plugins/sudoers/sudoreplay.c:634 +#: plugins/sudoers/sudoreplay.c:633 plugins/sudoers/sudoreplay.c:636 msgid "unable to set tty to raw mode" msgstr "RAW 모드로 tty를 설정할 수 없습니다" -#: plugins/sudoers/sudoreplay.c:685 +#: plugins/sudoers/sudoreplay.c:687 msgid "Warning: your terminal is too small to properly replay the log." msgstr "경고: 터미널 화면이 로그를 제대로 나타내기에 너무 작습니다." -#: plugins/sudoers/sudoreplay.c:686 +#: plugins/sudoers/sudoreplay.c:688 #, c-format msgid "Log geometry is %d x %d, your terminal's geometry is %d x %d." msgstr "로그 화면 크기는 %d x %d 이지만, 터미널 화면 크기는 %d x %d 입니다." -#: plugins/sudoers/sudoreplay.c:714 +#: plugins/sudoers/sudoreplay.c:716 msgid "Replay finished, press any key to restore the terminal." msgstr "재현에 끝났습니다. 터미널을 복원하려면 아무 키나 누르십시오." -#: plugins/sudoers/sudoreplay.c:1217 plugins/sudoers/sudoreplay.c:1247 +#: plugins/sudoers/sudoreplay.c:1219 plugins/sudoers/sudoreplay.c:1249 #, c-format msgid "ambiguous expression \"%s\"" msgstr "모호한 식 \"%s\"" -#: plugins/sudoers/sudoreplay.c:1269 +#: plugins/sudoers/sudoreplay.c:1271 msgid "unmatched ')' in expression" msgstr "수식에 일치하지 않는 ')'" -#: plugins/sudoers/sudoreplay.c:1273 +#: plugins/sudoers/sudoreplay.c:1275 #, c-format msgid "unknown search term \"%s\"" msgstr "알 수 없는 검색어 \"%s\"" -#: plugins/sudoers/sudoreplay.c:1288 +#: plugins/sudoers/sudoreplay.c:1290 #, c-format msgid "%s requires an argument" msgstr "%s에 인자가 필요합니다" -#: plugins/sudoers/sudoreplay.c:1298 +#: plugins/sudoers/sudoreplay.c:1300 #, c-format msgid "could not parse date \"%s\"" msgstr "\"%s\" 날짜를 해석할 수 없습니다" -#: plugins/sudoers/sudoreplay.c:1307 +#: plugins/sudoers/sudoreplay.c:1309 msgid "unmatched '(' in expression" msgstr "수식에 일치하지 않는 '('" -#: plugins/sudoers/sudoreplay.c:1309 +#: plugins/sudoers/sudoreplay.c:1311 msgid "illegal trailing \"or\"" msgstr "잘못된 후위 연산자 \"or\"" -#: plugins/sudoers/sudoreplay.c:1311 +#: plugins/sudoers/sudoreplay.c:1313 msgid "illegal trailing \"!\"" msgstr "잘못된 후위 문자 \"!\"" -#: plugins/sudoers/sudoreplay.c:1417 +#: plugins/sudoers/sudoreplay.c:1419 #, c-format msgid "unknown search type %d" msgstr "알 수 없는 검색 형식 %d" -#: plugins/sudoers/sudoreplay.c:1679 +#: plugins/sudoers/sudoreplay.c:1681 #, 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:1681 +#: plugins/sudoers/sudoreplay.c:1683 #, c-format msgid "usage: %s [-h] [-d dir] -l [search expression]\n" msgstr "사용법: %s [-h] [-d <디렉터리>] -l [<검색식>]\n" -#: plugins/sudoers/sudoreplay.c:1695 +#: plugins/sudoers/sudoreplay.c:1697 #, c-format msgid "" "%s - replay sudo session logs\n" @@ -3534,7 +3554,7 @@ msgstr "" "%s - sudo 세션 로그를 보여줍니다\n" "\n" -#: plugins/sudoers/sudoreplay.c:1697 +#: plugins/sudoers/sudoreplay.c:1699 msgid "" "\n" "Options:\n" @@ -3611,26 +3631,26 @@ msgstr "" "\n" "명령이 일치하지 않음" -#: plugins/sudoers/timestamp.c:364 plugins/sudoers/timestamp.c:711 +#: plugins/sudoers/timestamp.c:364 plugins/sudoers/timestamp.c:714 #, c-format msgid "unable to truncate time stamp file to %lld bytes" msgstr "타임스탬프 파일을 %lld 바이트로 자를 수 없습니다" -#: plugins/sudoers/timestamp.c:908 +#: plugins/sudoers/timestamp.c:911 msgid "ignoring time stamp from the future" msgstr "미래 타임스탬프 값 무시" -#: plugins/sudoers/timestamp.c:931 +#: plugins/sudoers/timestamp.c:934 #, c-format msgid "time stamp too far in the future: %20.20s" msgstr "타임스탬프 값이 미래 값으로 너무 밀려있습니다: %20.20s" -#: plugins/sudoers/timestamp.c:1067 +#: plugins/sudoers/timestamp.c:1070 #, c-format msgid "unable to lock time stamp file %s" msgstr "%s 타임스탬프 파일을 잠글 수 없습니다" -#: plugins/sudoers/timestamp.c:1114 +#: plugins/sudoers/timestamp.c:1117 #, c-format msgid "%s:%d:%d timestampowner: unknown user %s" msgstr "%s:%d:%d timestampowner: 알 수 없는 %s 사용자" @@ -3832,18 +3852,18 @@ msgstr "부적절한 연속 문자" msgid "invalid IPv6 address" msgstr "부적절한 IPv6 주소" -#: toke.l:863 +#: toke.l:843 msgid "unexpected line break in string" msgstr "예기치 않은 개행 문자 발견" -#: toke.l:982 +#: toke.l:962 msgid "ignoring editor backup file" msgstr "편집기 백업 파일 무시" -#: toke.l:985 +#: toke.l:965 msgid "ignoring file name containing '.'" msgstr "'.' 문자가 들어간 파일 이름 무시" -#: toke.l:1310 +#: toke.l:1290 msgid "too many levels of includes" msgstr "포함 레벨이 너무 많습니다" diff --git a/plugins/sudoers/po/pl.mo b/plugins/sudoers/po/pl.mo index 2f67b3008..bd7f0a142 100644 Binary files a/plugins/sudoers/po/pl.mo and b/plugins/sudoers/po/pl.mo differ diff --git a/plugins/sudoers/po/pl.po b/plugins/sudoers/po/pl.po index 7be3a1dbd..59a790e28 100644 --- a/plugins/sudoers/po/pl.po +++ b/plugins/sudoers/po/pl.po @@ -1,13 +1,13 @@ # Polish translation for sudo/sudoers. # This file is put in the public domain. -# Jakub Bogusz , 2011-2023. +# Jakub Bogusz , 2011-2024. # msgid "" msgstr "" -"Project-Id-Version: sudoers 1.9.15b1\n" +"Project-Id-Version: sudoers 1.9.16b1\n" "Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n" -"POT-Creation-Date: 2023-10-19 10:02-0600\n" -"PO-Revision-Date: 2023-10-21 17:45+0200\n" +"POT-Creation-Date: 2024-06-08 09:06-0600\n" +"PO-Revision-Date: 2024-06-16 18:13+0200\n" "Last-Translator: Jakub Bogusz \n" "Language-Team: Polish \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:1257 plugins/sudoers/logging.c:911 +#: confstr.sh:1 gram.y:1240 plugins/sudoers/logging.c:919 msgid "syntax error" msgstr "błąd składni" @@ -42,16 +42,16 @@ msgid "Sorry, try again." msgstr "Niestety, proszę spróbować ponownie." #: gram.y:238 gram.y:305 gram.y:314 gram.y:323 gram.y:333 gram.y:343 gram.y:367 -#: gram.y:394 gram.y:403 gram.y:411 gram.y:420 gram.y:429 gram.y:503 gram.y:513 -#: gram.y:525 gram.y:573 gram.y:582 gram.y:591 gram.y:600 gram.y:733 gram.y:742 -#: gram.y:757 gram.y:777 gram.y:796 gram.y:959 gram.y:964 gram.y:972 gram.y:986 -#: gram.y:992 gram.y:1004 gram.y:1010 gram.y:1135 gram.y:1144 gram.y:1152 -#: gram.y:1161 gram.y:1170 gram.y:1199 gram.y:1208 gram.y:1216 gram.y:1317 -#: gram.y:1447 gram.y:1829 gram.y:1840 gram.y:1922 lib/eventlog/eventlog.c:236 -#: lib/eventlog/eventlog.c:313 lib/eventlog/eventlog.c:765 -#: lib/eventlog/eventlog.c:842 lib/eventlog/eventlog.c:1175 -#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:484 -#: lib/eventlog/parse_json.c:514 lib/iolog/iolog_filter.c:142 +#: gram.y:394 gram.y:403 gram.y:411 gram.y:420 gram.y:429 gram.y:502 gram.y:512 +#: gram.y:524 gram.y:566 gram.y:575 gram.y:584 gram.y:593 gram.y:726 gram.y:735 +#: gram.y:750 gram.y:770 gram.y:789 gram.y:942 gram.y:947 gram.y:955 gram.y:969 +#: gram.y:975 gram.y:987 gram.y:993 gram.y:1118 gram.y:1127 gram.y:1135 +#: gram.y:1144 gram.y:1153 gram.y:1182 gram.y:1191 gram.y:1199 gram.y:1300 +#: gram.y:1430 gram.y:1811 gram.y:1822 gram.y:1898 lib/eventlog/eventlog.c:236 +#: lib/eventlog/eventlog.c:313 lib/eventlog/eventlog.c:778 +#: lib/eventlog/eventlog.c:855 lib/eventlog/eventlog.c:1189 +#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:501 +#: lib/eventlog/parse_json.c:531 lib/iolog/iolog_filter.c:142 #: lib/iolog/iolog_filter.c:202 lib/iolog/iolog_filter.c:233 #: lib/iolog/iolog_legacy.c:101 lib/iolog/iolog_legacy.c:112 #: lib/iolog/iolog_legacy.c:124 lib/iolog/iolog_legacy.c:134 @@ -62,13 +62,13 @@ msgstr "Niestety, proszę spróbować ponownie." #: logsrvd/iolog_writer.c:218 logsrvd/iolog_writer.c:228 #: logsrvd/iolog_writer.c:257 logsrvd/iolog_writer.c:278 #: logsrvd/iolog_writer.c:290 logsrvd/iolog_writer.c:300 -#: logsrvd/iolog_writer.c:310 logsrvd/iolog_writer.c:320 -#: logsrvd/iolog_writer.c:330 logsrvd/iolog_writer.c:342 -#: logsrvd/iolog_writer.c:377 logsrvd/iolog_writer.c:383 -#: logsrvd/iolog_writer.c:390 logsrvd/iolog_writer.c:396 -#: logsrvd/iolog_writer.c:580 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:323 -#: logsrvd/logsrvd.c:1057 logsrvd/logsrvd.c:1120 logsrvd/logsrvd.c:1589 -#: logsrvd/logsrvd.c:1594 logsrvd/logsrvd.c:1781 logsrvd/logsrvd.c:2003 +#: logsrvd/iolog_writer.c:318 logsrvd/iolog_writer.c:328 +#: logsrvd/iolog_writer.c:338 logsrvd/iolog_writer.c:350 +#: logsrvd/iolog_writer.c:385 logsrvd/iolog_writer.c:391 +#: logsrvd/iolog_writer.c:398 logsrvd/iolog_writer.c:404 +#: logsrvd/iolog_writer.c:588 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:324 +#: logsrvd/logsrvd.c:1058 logsrvd/logsrvd.c:1121 logsrvd/logsrvd.c:1599 +#: logsrvd/logsrvd.c:1604 logsrvd/logsrvd.c:1791 logsrvd/logsrvd.c:2046 #: 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 @@ -76,11 +76,11 @@ msgstr "Niestety, proszę spróbować ponownie." #: 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_conf.c:829 logsrvd/logsrvd_conf.c:1041 +#: logsrvd/logsrvd_conf.c:1058 logsrvd/logsrvd_conf.c:1453 +#: logsrvd/logsrvd_conf.c:1600 logsrvd/logsrvd_conf.c:1626 +#: logsrvd/logsrvd_conf.c:1638 logsrvd/logsrvd_conf.c:1645 +#: logsrvd/logsrvd_conf.c:1651 logsrvd/logsrvd_conf.c:1748 #: logsrvd/logsrvd_journal.c:76 logsrvd/logsrvd_journal.c:216 #: logsrvd/logsrvd_journal.c:217 logsrvd/logsrvd_journal.c:274 #: logsrvd/logsrvd_journal.c:279 logsrvd/logsrvd_journal.c:439 @@ -93,10 +93,10 @@ msgstr "Niestety, proszę spróbować ponownie." #: logsrvd/logsrvd_queue.c:266 logsrvd/logsrvd_relay.c:446 #: logsrvd/logsrvd_relay.c:748 logsrvd/logsrvd_relay.c:855 #: logsrvd/sendlog.c:256 logsrvd/sendlog.c:265 logsrvd/sendlog.c:297 -#: logsrvd/sendlog.c:303 logsrvd/sendlog.c:352 logsrvd/sendlog.c:630 -#: logsrvd/sendlog.c:1822 plugins/sudoers/audit.c:118 -#: plugins/sudoers/auth/bsdauth.c:154 plugins/sudoers/auth/kerb5.c:122 -#: plugins/sudoers/auth/kerb5.c:150 plugins/sudoers/auth/pam.c:697 +#: logsrvd/sendlog.c:303 logsrvd/sendlog.c:352 logsrvd/sendlog.c:651 +#: logsrvd/sendlog.c:1847 plugins/sudoers/audit.c:118 +#: plugins/sudoers/auth/bsdauth.c:154 plugins/sudoers/auth/kerb5.c:123 +#: plugins/sudoers/auth/kerb5.c:151 plugins/sudoers/auth/pam.c:697 #: plugins/sudoers/auth/rfc1938.c:112 plugins/sudoers/auth/sia.c:61 #: plugins/sudoers/canon_path.c:129 plugins/sudoers/canon_path.c:161 #: plugins/sudoers/check_aliases.c:128 plugins/sudoers/check_util.c:56 @@ -106,33 +106,30 @@ msgstr "Niestety, proszę spróbować ponownie." #: plugins/sudoers/cvtsudoers.c:379 plugins/sudoers/cvtsudoers.c:399 #: plugins/sudoers/cvtsudoers.c:545 plugins/sudoers/cvtsudoers.c:698 #: plugins/sudoers/cvtsudoers.c:716 plugins/sudoers/cvtsudoers.c:891 -#: plugins/sudoers/cvtsudoers.c:899 plugins/sudoers/cvtsudoers.c:1395 -#: plugins/sudoers/cvtsudoers.c:1399 plugins/sudoers/cvtsudoers.c:1501 -#: plugins/sudoers/cvtsudoers_csv.c:183 plugins/sudoers/cvtsudoers_csv.c:247 -#: plugins/sudoers/cvtsudoers_json.c:76 plugins/sudoers/cvtsudoers_ldif.c:152 -#: plugins/sudoers/cvtsudoers_ldif.c:195 plugins/sudoers/cvtsudoers_ldif.c:236 -#: plugins/sudoers/cvtsudoers_ldif.c:302 plugins/sudoers/cvtsudoers_ldif.c:378 -#: plugins/sudoers/cvtsudoers_ldif.c:432 plugins/sudoers/cvtsudoers_ldif.c:440 -#: plugins/sudoers/cvtsudoers_ldif.c:451 plugins/sudoers/cvtsudoers_ldif.c:458 -#: plugins/sudoers/cvtsudoers_ldif.c:470 plugins/sudoers/cvtsudoers_ldif.c:483 -#: plugins/sudoers/cvtsudoers_ldif.c:491 plugins/sudoers/cvtsudoers_ldif.c:638 -#: 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:455 -#: plugins/sudoers/defaults.c:689 plugins/sudoers/defaults.c:1051 -#: plugins/sudoers/defaults.c:1235 plugins/sudoers/editor.c:198 -#: plugins/sudoers/env.c:263 plugins/sudoers/exptilde.c:92 +#: plugins/sudoers/cvtsudoers.c:899 plugins/sudoers/cvtsudoers.c:1393 +#: plugins/sudoers/cvtsudoers.c:1397 plugins/sudoers/cvtsudoers.c:1497 +#: plugins/sudoers/cvtsudoers_csv.c:182 plugins/sudoers/cvtsudoers_csv.c:255 +#: plugins/sudoers/cvtsudoers_json.c:604 plugins/sudoers/cvtsudoers_json.c:639 +#: plugins/sudoers/cvtsudoers_json.c:1016 +#: plugins/sudoers/cvtsudoers_json.c:1041 plugins/sudoers/cvtsudoers_ldif.c:112 +#: plugins/sudoers/cvtsudoers_ldif.c:144 plugins/sudoers/cvtsudoers_ldif.c:260 +#: plugins/sudoers/cvtsudoers_ldif.c:573 plugins/sudoers/cvtsudoers_ldif.c:586 +#: plugins/sudoers/cvtsudoers_ldif.c:591 plugins/sudoers/cvtsudoers_ldif.c:761 +#: plugins/sudoers/cvtsudoers_merge.c:57 plugins/sudoers/cvtsudoers_merge.c:357 +#: plugins/sudoers/cvtsudoers_merge.c:405 +#: plugins/sudoers/cvtsudoers_merge.c:454 +#: plugins/sudoers/cvtsudoers_merge.c:476 +#: plugins/sudoers/cvtsudoers_merge.c:588 +#: plugins/sudoers/cvtsudoers_merge.c:664 +#: plugins/sudoers/cvtsudoers_merge.c:1197 +#: plugins/sudoers/cvtsudoers_merge.c:1281 plugins/sudoers/defaults.c:455 +#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1062 +#: plugins/sudoers/defaults.c:1248 plugins/sudoers/editor.c:198 +#: plugins/sudoers/env.c:280 plugins/sudoers/exptilde.c:92 #: plugins/sudoers/filedigest.c:66 plugins/sudoers/filedigest.c:70 #: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:212 -#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268 -#: plugins/sudoers/iolog.c:675 plugins/sudoers/iolog.c:703 +#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:270 +#: plugins/sudoers/iolog.c:683 plugins/sudoers/iolog.c:711 #: plugins/sudoers/ldap.c:161 plugins/sudoers/ldap.c:448 #: plugins/sudoers/ldap.c:625 plugins/sudoers/ldap.c:789 #: plugins/sudoers/ldap.c:1214 plugins/sudoers/ldap.c:1642 @@ -142,23 +139,23 @@ msgstr "Niestety, proszę spróbować ponownie." #: plugins/sudoers/ldap_conf.c:299 plugins/sudoers/ldap_conf.c:335 #: plugins/sudoers/ldap_conf.c:441 plugins/sudoers/ldap_conf.c:456 #: plugins/sudoers/ldap_conf.c:565 plugins/sudoers/ldap_conf.c:598 -#: plugins/sudoers/ldap_conf.c:694 plugins/sudoers/ldap_conf.c:776 +#: plugins/sudoers/ldap_conf.c:696 plugins/sudoers/ldap_conf.c:778 #: 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:717 plugins/sudoers/log_client.c:739 -#: plugins/sudoers/log_client.c:744 plugins/sudoers/log_client.c:1426 -#: plugins/sudoers/log_client.c:1547 plugins/sudoers/log_client.c:1670 -#: plugins/sudoers/log_client.c:1993 plugins/sudoers/log_client.c:2052 +#: plugins/sudoers/ldap_util.c:615 plugins/sudoers/linux_audit.c:86 +#: plugins/sudoers/log_client.c:117 plugins/sudoers/log_client.c:411 +#: plugins/sudoers/log_client.c:726 plugins/sudoers/log_client.c:748 +#: plugins/sudoers/log_client.c:753 plugins/sudoers/log_client.c:1449 +#: plugins/sudoers/log_client.c:1570 plugins/sudoers/log_client.c:1693 +#: plugins/sudoers/log_client.c:2018 plugins/sudoers/log_client.c:2077 #: plugins/sudoers/logging.c:110 plugins/sudoers/logging.c:190 -#: plugins/sudoers/logging.c:475 plugins/sudoers/logging.c:711 -#: plugins/sudoers/logging.c:872 plugins/sudoers/lookup.c:338 -#: plugins/sudoers/lookup.c:355 plugins/sudoers/lookup.c:374 -#: plugins/sudoers/lookup.c:393 plugins/sudoers/lookup.c:410 -#: plugins/sudoers/lookup.c:433 plugins/sudoers/lookup.c:444 -#: plugins/sudoers/match_command.c:302 plugins/sudoers/match_command.c:574 -#: plugins/sudoers/match_command.c:641 plugins/sudoers/match_command.c:737 -#: plugins/sudoers/match_command.c:785 plugins/sudoers/match_digest.c:88 +#: plugins/sudoers/logging.c:483 plugins/sudoers/logging.c:723 +#: plugins/sudoers/logging.c:880 plugins/sudoers/lookup.c:331 +#: plugins/sudoers/lookup.c:348 plugins/sudoers/lookup.c:366 +#: plugins/sudoers/lookup.c:384 plugins/sudoers/lookup.c:401 +#: plugins/sudoers/lookup.c:423 plugins/sudoers/lookup.c:434 +#: plugins/sudoers/match_command.c:280 plugins/sudoers/match_command.c:544 +#: plugins/sudoers/match_command.c:608 plugins/sudoers/match_command.c:702 +#: plugins/sudoers/match_command.c:750 plugins/sudoers/match_digest.c:88 #: 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 @@ -169,107 +166,107 @@ msgstr "Niestety, proszę spróbować ponownie." #: 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:646 plugins/sudoers/policy.c:1061 +#: plugins/sudoers/policy.c:654 plugins/sudoers/policy.c:1071 #: plugins/sudoers/prompt.c:94 plugins/sudoers/pwutil.c:219 #: plugins/sudoers/pwutil.c:290 plugins/sudoers/pwutil.c:368 #: plugins/sudoers/pwutil.c:542 plugins/sudoers/pwutil.c:607 #: plugins/sudoers/pwutil.c:679 plugins/sudoers/pwutil.c:877 -#: plugins/sudoers/pwutil.c:967 plugins/sudoers/pwutil.c:1015 -#: plugins/sudoers/pwutil.c:1076 plugins/sudoers/sethost.c:85 +#: plugins/sudoers/pwutil.c:970 plugins/sudoers/pwutil.c:1018 +#: plugins/sudoers/pwutil.c:1082 plugins/sudoers/sethost.c:89 #: plugins/sudoers/sssd.c:145 plugins/sudoers/sssd.c:186 #: plugins/sudoers/sssd.c:415 plugins/sudoers/sssd.c:480 #: plugins/sudoers/sssd.c:507 plugins/sudoers/sssd.c:570 #: plugins/sudoers/sssd.c:765 plugins/sudoers/strvec_join.c:53 #: plugins/sudoers/sudoers.c:405 plugins/sudoers/sudoers.c:412 -#: plugins/sudoers/sudoers.c:656 plugins/sudoers/sudoers.c:666 -#: plugins/sudoers/sudoers.c:811 plugins/sudoers/sudoers.c:877 -#: plugins/sudoers/sudoers.c:936 plugins/sudoers/sudoers.c:985 -#: plugins/sudoers/sudoers.c:1144 plugins/sudoers/sudoers.c:1213 -#: plugins/sudoers/sudoers.c:1307 plugins/sudoers/sudoers_cb.c:150 +#: plugins/sudoers/sudoers.c:673 plugins/sudoers/sudoers.c:683 +#: plugins/sudoers/sudoers.c:828 plugins/sudoers/sudoers.c:894 +#: plugins/sudoers/sudoers.c:953 plugins/sudoers/sudoers.c:1002 +#: plugins/sudoers/sudoers.c:1162 plugins/sudoers/sudoers.c:1231 +#: plugins/sudoers/sudoers.c:1325 plugins/sudoers/sudoers_cb.c:150 #: plugins/sudoers/sudoreplay.c:559 plugins/sudoers/sudoreplay.c:562 -#: plugins/sudoers/sudoreplay.c:1279 plugins/sudoers/sudoreplay.c:1335 -#: plugins/sudoers/sudoreplay.c:1531 plugins/sudoers/sudoreplay.c:1535 +#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1337 +#: plugins/sudoers/sudoreplay.c:1533 plugins/sudoers/sudoreplay.c:1537 #: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:256 #: plugins/sudoers/testsudoers.c:265 plugins/sudoers/testsudoers.c:275 #: plugins/sudoers/testsudoers.c:282 plugins/sudoers/testsudoers.c:302 -#: plugins/sudoers/testsudoers.c:758 plugins/sudoers/timestamp.c:469 -#: plugins/sudoers/timestamp.c:513 plugins/sudoers/timestamp.c:1042 -#: plugins/sudoers/timestamp.c:1216 plugins/sudoers/toke_util.c:79 +#: plugins/sudoers/testsudoers.c:756 plugins/sudoers/timestamp.c:468 +#: plugins/sudoers/timestamp.c:514 plugins/sudoers/timestamp.c:1045 +#: plugins/sudoers/timestamp.c:1248 plugins/sudoers/toke_util.c:79 #: plugins/sudoers/toke_util.c:108 plugins/sudoers/toke_util.c:134 #: plugins/sudoers/toke_util.c:164 plugins/sudoers/toke_util.c:204 -#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:151 +#: plugins/sudoers/tsdump.c:136 plugins/sudoers/visudo.c:151 #: plugins/sudoers/visudo.c:258 plugins/sudoers/visudo.c:383 #: plugins/sudoers/visudo.c:389 plugins/sudoers/visudo.c:501 #: plugins/sudoers/visudo.c:1073 plugins/sudoers/visudo.c:1095 -#: plugins/sudoers/visudo.c:1189 toke.l:1031 toke.l:1194 toke.l:1213 -#: toke.l:1240 toke.l:1320 +#: plugins/sudoers/visudo.c:1189 toke.l:1011 toke.l:1174 toke.l:1193 +#: toke.l:1220 toke.l:1300 msgid "unable to allocate memory" msgstr "nie udało się przydzielić pamięci" -#: gram.y:624 +#: gram.y:617 msgid "a digest requires a path name" msgstr "skrót wymaga nazwy pliku" -#: gram.y:646 +#: gram.y:639 msgid "values for \"CWD\" must start with a '/', '~', or '*'" msgstr "wartości \"CWD\" muszą zaczynać się od '/', '~' lub '*'" -#: gram.y:652 +#: gram.y:645 msgid "\"CWD\" path too long" msgstr "ścieżka \"CWD\" zbyt długa" -#: gram.y:662 +#: gram.y:655 msgid "values for \"CHROOT\" must start with a '/', '~', or '*'" msgstr "wartości \"CHROOT\" muszą zaczynać się od '/', '~' lub '*'" -#: gram.y:668 +#: gram.y:661 msgid "\"CHROOT\" path too long" msgstr "ścieżka \"CHROOT\" zbyt długa" -#: gram.y:817 +#: gram.y:810 #, 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:840 +#: gram.y:833 msgid "invalid notbefore value" msgstr "błędna wartość notbefore" -#: gram.y:849 +#: gram.y:842 msgid "invalid notafter value" msgstr "błędna wartość notafter" -#: gram.y:859 plugins/sudoers/policy.c:390 +#: gram.y:852 plugins/sudoers/policy.c:373 msgid "timeout value too large" msgstr "wartość limitu czasu zbyt duża" -#: gram.y:861 plugins/sudoers/policy.c:392 +#: gram.y:854 plugins/sudoers/policy.c:375 msgid "invalid timeout value" msgstr "błędna wartość limitu czasu" -#: gram.y:982 plugins/sudoers/sudoers.c:1162 +#: gram.y:965 plugins/sudoers/sudoers.c:1180 msgid "command too long" msgstr "polecenie zbyt długie" -#: gram.y:1016 +#: gram.y:999 msgid "expected a fully-qualified path name" msgstr "oczekiwano pełnej ścieżki" -#: gram.y:1261 +#: gram.y:1244 #, c-format msgid "%s:%d:%zu: %s\n" msgstr "%s:%d:%zu: %s\n" -#: gram.y:1315 +#: gram.y:1298 #, c-format msgid "Alias \"%s\" already defined" msgstr "Alias \"%s\" jest już zdefiniowany" -#: gram.y:1829 gram.y:1840 gram.y:1922 lib/eventlog/eventlog.c:236 -#: lib/eventlog/eventlog.c:765 lib/eventlog/eventlog.c:838 -#: lib/eventlog/eventlog.c:841 lib/eventlog/eventlog.c:1175 -#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:483 -#: lib/eventlog/parse_json.c:514 lib/iolog/iolog_filter.c:142 +#: gram.y:1811 gram.y:1822 gram.y:1898 lib/eventlog/eventlog.c:236 +#: lib/eventlog/eventlog.c:778 lib/eventlog/eventlog.c:851 +#: lib/eventlog/eventlog.c:854 lib/eventlog/eventlog.c:1189 +#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:500 +#: lib/eventlog/parse_json.c:531 lib/iolog/iolog_filter.c:142 #: lib/iolog/iolog_filter.c:202 lib/iolog/iolog_filter.c:232 #: lib/iolog/iolog_legacy.c:101 lib/iolog/iolog_legacy.c:112 #: lib/iolog/iolog_legacy.c:124 lib/iolog/iolog_legacy.c:134 @@ -282,16 +279,16 @@ msgstr "Alias \"%s\" jest już zdefiniowany" #: logsrvd/iolog_writer.c:246 logsrvd/iolog_writer.c:256 #: logsrvd/iolog_writer.c:267 logsrvd/iolog_writer.c:277 #: logsrvd/iolog_writer.c:289 logsrvd/iolog_writer.c:299 -#: logsrvd/iolog_writer.c:309 logsrvd/iolog_writer.c:319 -#: logsrvd/iolog_writer.c:329 logsrvd/iolog_writer.c:341 -#: logsrvd/iolog_writer.c:377 logsrvd/iolog_writer.c:383 -#: logsrvd/iolog_writer.c:390 logsrvd/iolog_writer.c:396 -#: logsrvd/iolog_writer.c:580 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:323 -#: logsrvd/logsrvd.c:461 logsrvd/logsrvd.c:498 logsrvd/logsrvd.c:530 -#: logsrvd/logsrvd.c:584 logsrvd/logsrvd.c:619 logsrvd/logsrvd.c:668 -#: logsrvd/logsrvd.c:704 logsrvd/logsrvd.c:740 logsrvd/logsrvd.c:1131 -#: logsrvd/logsrvd.c:1446 logsrvd/logsrvd.c:1453 logsrvd/logsrvd.c:1589 -#: logsrvd/logsrvd.c:1594 logsrvd/logsrvd.c:1781 logsrvd/logsrvd.c:2003 +#: logsrvd/iolog_writer.c:317 logsrvd/iolog_writer.c:327 +#: logsrvd/iolog_writer.c:337 logsrvd/iolog_writer.c:349 +#: logsrvd/iolog_writer.c:385 logsrvd/iolog_writer.c:391 +#: logsrvd/iolog_writer.c:398 logsrvd/iolog_writer.c:404 +#: logsrvd/iolog_writer.c:588 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:324 +#: logsrvd/logsrvd.c:462 logsrvd/logsrvd.c:499 logsrvd/logsrvd.c:531 +#: logsrvd/logsrvd.c:585 logsrvd/logsrvd.c:620 logsrvd/logsrvd.c:669 +#: logsrvd/logsrvd.c:705 logsrvd/logsrvd.c:741 logsrvd/logsrvd.c:1132 +#: logsrvd/logsrvd.c:1456 logsrvd/logsrvd.c:1463 logsrvd/logsrvd.c:1599 +#: logsrvd/logsrvd.c:1604 logsrvd/logsrvd.c:1791 logsrvd/logsrvd.c:2046 #: 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 @@ -299,11 +296,11 @@ msgstr "Alias \"%s\" jest już zdefiniowany" #: 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_conf.c:829 logsrvd/logsrvd_conf.c:1041 +#: logsrvd/logsrvd_conf.c:1058 logsrvd/logsrvd_conf.c:1453 +#: logsrvd/logsrvd_conf.c:1600 logsrvd/logsrvd_conf.c:1626 +#: logsrvd/logsrvd_conf.c:1638 logsrvd/logsrvd_conf.c:1645 +#: logsrvd/logsrvd_conf.c:1651 logsrvd/logsrvd_conf.c:1747 #: logsrvd/logsrvd_journal.c:76 logsrvd/logsrvd_journal.c:125 #: logsrvd/logsrvd_journal.c:216 logsrvd/logsrvd_journal.c:246 #: logsrvd/logsrvd_journal.c:250 logsrvd/logsrvd_journal.c:258 @@ -314,8 +311,8 @@ msgstr "Alias \"%s\" jest już zdefiniowany" #: logsrvd/logsrvd_queue.c:158 logsrvd/logsrvd_queue.c:189 #: logsrvd/logsrvd_queue.c:266 logsrvd/sendlog.c:256 logsrvd/sendlog.c:265 #: logsrvd/sendlog.c:297 logsrvd/sendlog.c:303 logsrvd/sendlog.c:352 -#: logsrvd/sendlog.c:630 logsrvd/sendlog.c:1523 logsrvd/sendlog.c:1530 -#: logsrvd/sendlog.c:1753 logsrvd/sendlog.c:1822 logsrvd/tls_init.c:305 +#: logsrvd/sendlog.c:651 logsrvd/sendlog.c:1548 logsrvd/sendlog.c:1555 +#: logsrvd/sendlog.c:1778 logsrvd/sendlog.c:1847 logsrvd/tls_init.c:305 #: logsrvd/tls_init.c:329 logsrvd/tls_init.c:340 plugins/sudoers/audit.c:118 #: plugins/sudoers/auth/pam.c:518 plugins/sudoers/auth/pam.c:697 #: plugins/sudoers/auth/rfc1938.c:112 plugins/sudoers/canon_path.c:129 @@ -326,34 +323,31 @@ msgstr "Alias \"%s\" jest już zdefiniowany" #: plugins/sudoers/cvtsudoers.c:337 plugins/sudoers/cvtsudoers.c:544 #: plugins/sudoers/cvtsudoers.c:697 plugins/sudoers/cvtsudoers.c:715 #: plugins/sudoers/cvtsudoers.c:891 plugins/sudoers/cvtsudoers.c:898 -#: plugins/sudoers/cvtsudoers.c:1395 plugins/sudoers/cvtsudoers.c:1399 -#: plugins/sudoers/cvtsudoers.c:1501 plugins/sudoers/cvtsudoers_csv.c:182 -#: plugins/sudoers/cvtsudoers_csv.c:246 plugins/sudoers/cvtsudoers_json.c:75 -#: plugins/sudoers/cvtsudoers_ldif.c:151 plugins/sudoers/cvtsudoers_ldif.c:194 -#: plugins/sudoers/cvtsudoers_ldif.c:235 plugins/sudoers/cvtsudoers_ldif.c:301 -#: plugins/sudoers/cvtsudoers_ldif.c:377 plugins/sudoers/cvtsudoers_ldif.c:431 -#: plugins/sudoers/cvtsudoers_ldif.c:439 plugins/sudoers/cvtsudoers_ldif.c:450 -#: plugins/sudoers/cvtsudoers_ldif.c:457 plugins/sudoers/cvtsudoers_ldif.c:469 -#: plugins/sudoers/cvtsudoers_ldif.c:482 plugins/sudoers/cvtsudoers_ldif.c:490 -#: plugins/sudoers/cvtsudoers_ldif.c:637 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:455 -#: plugins/sudoers/defaults.c:689 plugins/sudoers/defaults.c:1051 -#: plugins/sudoers/defaults.c:1235 plugins/sudoers/editor.c:198 -#: plugins/sudoers/env.c:263 plugins/sudoers/exptilde.c:92 +#: plugins/sudoers/cvtsudoers.c:1393 plugins/sudoers/cvtsudoers.c:1397 +#: plugins/sudoers/cvtsudoers.c:1497 plugins/sudoers/cvtsudoers_csv.c:182 +#: plugins/sudoers/cvtsudoers_csv.c:255 plugins/sudoers/cvtsudoers_json.c:604 +#: plugins/sudoers/cvtsudoers_json.c:639 plugins/sudoers/cvtsudoers_json.c:1016 +#: plugins/sudoers/cvtsudoers_json.c:1041 plugins/sudoers/cvtsudoers_ldif.c:112 +#: plugins/sudoers/cvtsudoers_ldif.c:144 plugins/sudoers/cvtsudoers_ldif.c:260 +#: plugins/sudoers/cvtsudoers_ldif.c:573 plugins/sudoers/cvtsudoers_ldif.c:586 +#: plugins/sudoers/cvtsudoers_ldif.c:591 plugins/sudoers/cvtsudoers_ldif.c:761 +#: plugins/sudoers/cvtsudoers_merge.c:57 plugins/sudoers/cvtsudoers_merge.c:357 +#: plugins/sudoers/cvtsudoers_merge.c:405 +#: plugins/sudoers/cvtsudoers_merge.c:453 +#: plugins/sudoers/cvtsudoers_merge.c:475 +#: plugins/sudoers/cvtsudoers_merge.c:583 +#: plugins/sudoers/cvtsudoers_merge.c:588 +#: plugins/sudoers/cvtsudoers_merge.c:661 +#: plugins/sudoers/cvtsudoers_merge.c:664 +#: plugins/sudoers/cvtsudoers_merge.c:1196 +#: plugins/sudoers/cvtsudoers_merge.c:1281 plugins/sudoers/defaults.c:455 +#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1062 +#: plugins/sudoers/defaults.c:1248 plugins/sudoers/editor.c:198 +#: plugins/sudoers/env.c:280 plugins/sudoers/exptilde.c:92 #: plugins/sudoers/filedigest.c:66 plugins/sudoers/filedigest.c:70 #: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:211 -#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268 -#: plugins/sudoers/iolog.c:675 plugins/sudoers/iolog.c:703 +#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:270 +#: plugins/sudoers/iolog.c:683 plugins/sudoers/iolog.c:711 #: plugins/sudoers/ldap.c:161 plugins/sudoers/ldap.c:448 #: plugins/sudoers/ldap.c:625 plugins/sudoers/ldap.c:789 #: plugins/sudoers/ldap.c:1214 plugins/sudoers/ldap.c:1642 @@ -363,26 +357,26 @@ msgstr "Alias \"%s\" jest już zdefiniowany" #: plugins/sudoers/ldap_conf.c:299 plugins/sudoers/ldap_conf.c:335 #: plugins/sudoers/ldap_conf.c:441 plugins/sudoers/ldap_conf.c:456 #: plugins/sudoers/ldap_conf.c:565 plugins/sudoers/ldap_conf.c:598 -#: plugins/sudoers/ldap_conf.c:693 plugins/sudoers/ldap_conf.c:776 +#: plugins/sudoers/ldap_conf.c:695 plugins/sudoers/ldap_conf.c:778 #: 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:717 -#: plugins/sudoers/log_client.c:739 plugins/sudoers/log_client.c:744 -#: plugins/sudoers/log_client.c:1426 plugins/sudoers/log_client.c:1547 -#: plugins/sudoers/log_client.c:1670 plugins/sudoers/log_client.c:1993 -#: plugins/sudoers/log_client.c:2052 plugins/sudoers/logging.c:110 +#: plugins/sudoers/ldap_util.c:615 plugins/sudoers/linux_audit.c:86 +#: plugins/sudoers/log_client.c:117 plugins/sudoers/log_client.c:237 +#: plugins/sudoers/log_client.c:259 plugins/sudoers/log_client.c:273 +#: plugins/sudoers/log_client.c:411 plugins/sudoers/log_client.c:726 +#: plugins/sudoers/log_client.c:748 plugins/sudoers/log_client.c:753 +#: plugins/sudoers/log_client.c:1449 plugins/sudoers/log_client.c:1570 +#: plugins/sudoers/log_client.c:1693 plugins/sudoers/log_client.c:2018 +#: plugins/sudoers/log_client.c:2077 plugins/sudoers/logging.c:110 #: plugins/sudoers/logging.c:189 plugins/sudoers/logging.c:190 -#: plugins/sudoers/logging.c:475 plugins/sudoers/logging.c:711 -#: plugins/sudoers/logging.c:755 plugins/sudoers/logging.c:872 -#: plugins/sudoers/logging.c:925 plugins/sudoers/logging.c:932 -#: plugins/sudoers/lookup.c:337 plugins/sudoers/lookup.c:354 -#: plugins/sudoers/lookup.c:373 plugins/sudoers/lookup.c:392 -#: plugins/sudoers/lookup.c:409 plugins/sudoers/lookup.c:432 -#: plugins/sudoers/lookup.c:443 plugins/sudoers/match_command.c:301 -#: plugins/sudoers/match_command.c:573 plugins/sudoers/match_command.c:640 -#: plugins/sudoers/match_command.c:737 plugins/sudoers/match_command.c:784 +#: plugins/sudoers/logging.c:483 plugins/sudoers/logging.c:723 +#: plugins/sudoers/logging.c:763 plugins/sudoers/logging.c:880 +#: plugins/sudoers/logging.c:933 plugins/sudoers/logging.c:940 +#: plugins/sudoers/lookup.c:330 plugins/sudoers/lookup.c:347 +#: plugins/sudoers/lookup.c:365 plugins/sudoers/lookup.c:383 +#: plugins/sudoers/lookup.c:400 plugins/sudoers/lookup.c:422 +#: plugins/sudoers/lookup.c:433 plugins/sudoers/match_command.c:279 +#: plugins/sudoers/match_command.c:543 plugins/sudoers/match_command.c:607 +#: plugins/sudoers/match_command.c:702 plugins/sudoers/match_command.c:749 #: plugins/sudoers/match_digest.c:88 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 @@ -393,52 +387,52 @@ msgstr "Alias \"%s\" jest już zdefiniowany" #: plugins/sudoers/parse_ldif.c:595 plugins/sudoers/parse_ldif.c:624 #: plugins/sudoers/parse_ldif.c:649 plugins/sudoers/parse_ldif.c:707 #: plugins/sudoers/parse_ldif.c:724 plugins/sudoers/parse_ldif.c:752 -#: plugins/sudoers/parse_ldif.c:759 plugins/sudoers/policy.c:157 -#: plugins/sudoers/policy.c:166 plugins/sudoers/policy.c:175 -#: plugins/sudoers/policy.c:204 plugins/sudoers/policy.c:374 -#: plugins/sudoers/policy.c:390 plugins/sudoers/policy.c:392 -#: plugins/sudoers/policy.c:430 plugins/sudoers/policy.c:439 -#: plugins/sudoers/policy.c:448 plugins/sudoers/policy.c:457 -#: plugins/sudoers/policy.c:493 plugins/sudoers/policy.c:502 -#: plugins/sudoers/policy.c:511 plugins/sudoers/policy.c:520 -#: plugins/sudoers/policy.c:529 plugins/sudoers/policy.c:538 -#: plugins/sudoers/policy.c:547 plugins/sudoers/policy.c:646 -#: plugins/sudoers/policy.c:1061 plugins/sudoers/prompt.c:94 +#: plugins/sudoers/parse_ldif.c:759 plugins/sudoers/policy.c:152 +#: plugins/sudoers/policy.c:161 plugins/sudoers/policy.c:170 +#: plugins/sudoers/policy.c:199 plugins/sudoers/policy.c:357 +#: plugins/sudoers/policy.c:373 plugins/sudoers/policy.c:375 +#: plugins/sudoers/policy.c:414 plugins/sudoers/policy.c:423 +#: plugins/sudoers/policy.c:432 plugins/sudoers/policy.c:441 +#: plugins/sudoers/policy.c:492 plugins/sudoers/policy.c:501 +#: plugins/sudoers/policy.c:510 plugins/sudoers/policy.c:519 +#: plugins/sudoers/policy.c:528 plugins/sudoers/policy.c:537 +#: plugins/sudoers/policy.c:546 plugins/sudoers/policy.c:654 +#: plugins/sudoers/policy.c:1071 plugins/sudoers/prompt.c:94 #: plugins/sudoers/pwutil.c:219 plugins/sudoers/pwutil.c:290 #: plugins/sudoers/pwutil.c:368 plugins/sudoers/pwutil.c:542 #: plugins/sudoers/pwutil.c:607 plugins/sudoers/pwutil.c:679 -#: plugins/sudoers/pwutil.c:877 plugins/sudoers/pwutil.c:967 -#: plugins/sudoers/pwutil.c:1015 plugins/sudoers/pwutil.c:1076 +#: plugins/sudoers/pwutil.c:877 plugins/sudoers/pwutil.c:970 +#: plugins/sudoers/pwutil.c:1018 plugins/sudoers/pwutil.c:1082 #: plugins/sudoers/set_perms.c:374 plugins/sudoers/set_perms.c:723 #: plugins/sudoers/set_perms.c:1096 plugins/sudoers/set_perms.c:1409 -#: plugins/sudoers/set_perms.c:1579 plugins/sudoers/sethost.c:85 +#: plugins/sudoers/set_perms.c:1579 plugins/sudoers/sethost.c:89 #: plugins/sudoers/sssd.c:144 plugins/sudoers/sssd.c:186 #: plugins/sudoers/sssd.c:415 plugins/sudoers/sssd.c:480 #: plugins/sudoers/sssd.c:507 plugins/sudoers/sssd.c:570 #: plugins/sudoers/sssd.c:765 plugins/sudoers/strvec_join.c:53 #: plugins/sudoers/sudoers.c:405 plugins/sudoers/sudoers.c:412 -#: plugins/sudoers/sudoers.c:656 plugins/sudoers/sudoers.c:666 -#: plugins/sudoers/sudoers.c:811 plugins/sudoers/sudoers.c:877 -#: plugins/sudoers/sudoers.c:936 plugins/sudoers/sudoers.c:985 -#: plugins/sudoers/sudoers.c:1144 plugins/sudoers/sudoers.c:1213 -#: plugins/sudoers/sudoers.c:1306 plugins/sudoers/sudoers_cb.c:150 +#: plugins/sudoers/sudoers.c:673 plugins/sudoers/sudoers.c:683 +#: plugins/sudoers/sudoers.c:828 plugins/sudoers/sudoers.c:894 +#: plugins/sudoers/sudoers.c:953 plugins/sudoers/sudoers.c:1002 +#: plugins/sudoers/sudoers.c:1162 plugins/sudoers/sudoers.c:1231 +#: plugins/sudoers/sudoers.c:1324 plugins/sudoers/sudoers_cb.c:150 #: plugins/sudoers/sudoreplay.c:559 plugins/sudoers/sudoreplay.c:562 -#: plugins/sudoers/sudoreplay.c:1279 plugins/sudoers/sudoreplay.c:1335 -#: plugins/sudoers/sudoreplay.c:1531 plugins/sudoers/sudoreplay.c:1535 +#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1337 +#: plugins/sudoers/sudoreplay.c:1533 plugins/sudoers/sudoreplay.c:1537 #: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:255 #: plugins/sudoers/testsudoers.c:264 plugins/sudoers/testsudoers.c:275 #: plugins/sudoers/testsudoers.c:282 plugins/sudoers/testsudoers.c:302 -#: plugins/sudoers/testsudoers.c:758 plugins/sudoers/timestamp.c:469 -#: plugins/sudoers/timestamp.c:513 plugins/sudoers/timestamp.c:1042 -#: plugins/sudoers/timestamp.c:1216 plugins/sudoers/toke_util.c:79 +#: plugins/sudoers/testsudoers.c:756 plugins/sudoers/timestamp.c:468 +#: plugins/sudoers/timestamp.c:514 plugins/sudoers/timestamp.c:1045 +#: plugins/sudoers/timestamp.c:1248 plugins/sudoers/toke_util.c:79 #: plugins/sudoers/toke_util.c:108 plugins/sudoers/toke_util.c:134 #: plugins/sudoers/toke_util.c:163 plugins/sudoers/toke_util.c:204 -#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:151 +#: plugins/sudoers/tsdump.c:136 plugins/sudoers/visudo.c:151 #: plugins/sudoers/visudo.c:258 plugins/sudoers/visudo.c:383 #: plugins/sudoers/visudo.c:389 plugins/sudoers/visudo.c:501 #: plugins/sudoers/visudo.c:1073 plugins/sudoers/visudo.c:1094 -#: plugins/sudoers/visudo.c:1189 toke.l:1031 toke.l:1194 toke.l:1213 -#: toke.l:1240 toke.l:1309 toke.l:1320 +#: plugins/sudoers/visudo.c:1189 toke.l:1011 toke.l:1174 toke.l:1193 +#: toke.l:1220 toke.l:1289 toke.l:1300 #, c-format msgid "%s: %s" msgstr "%s: %s" @@ -467,12 +461,12 @@ msgstr "nie udało się wykonać fork: %m" msgid "unable to open pipe: %m" msgstr "nie udało się otworzyć potoku: %m" -#: lib/eventlog/eventlog.c:1000 +#: lib/eventlog/eventlog.c:1013 #, c-format msgid "%8s : %s" msgstr "%8s : %s" -#: lib/eventlog/eventlog.c:1029 +#: lib/eventlog/eventlog.c:1042 #, c-format msgid "%8s : (command continued) %s" msgstr "%8s : (kontynuacja polecenia) %s" @@ -486,73 +480,73 @@ msgstr "nieoczekiwany JSON_STRING, otrzymano %d" msgid "JSON_ARRAY too large" msgstr "JSON_ARRAY zbyt duża" -#: lib/eventlog/parse_json.c:506 +#: lib/eventlog/parse_json.c:523 msgid "missing double quote in name" msgstr "brak podwójnego cudzysłowu w nazwie" -#: lib/eventlog/parse_json.c:624 +#: lib/eventlog/parse_json.c:641 msgid "missing JSON_OBJECT" msgstr "brakujący JSON_OBJECT" -#: lib/eventlog/parse_json.c:628 +#: lib/eventlog/parse_json.c:645 #, c-format msgid "expected JSON_OBJECT, got %d" msgstr "oczekiwany JSON_OBJECT, otrzymano %d" -#: lib/eventlog/parse_json.c:762 +#: lib/eventlog/parse_json.c:779 #, c-format msgid "json stack exhausted (max %u frames)" msgstr "stos json wyczerpany (maksimum %u ramek)" -#: lib/eventlog/parse_json.c:840 +#: lib/eventlog/parse_json.c:857 msgid "objects must consist of name:value pairs" msgstr "obiekty muszą składać się z kluczy nazwa:wartość" -#: lib/eventlog/parse_json.c:845 lib/eventlog/parse_json.c:876 -#: lib/eventlog/parse_json.c:920 lib/eventlog/parse_json.c:942 -#: lib/eventlog/parse_json.c:964 lib/eventlog/parse_json.c:986 -#: lib/eventlog/parse_json.c:1008 +#: lib/eventlog/parse_json.c:862 lib/eventlog/parse_json.c:893 +#: lib/eventlog/parse_json.c:937 lib/eventlog/parse_json.c:959 +#: lib/eventlog/parse_json.c:981 lib/eventlog/parse_json.c:1003 +#: lib/eventlog/parse_json.c:1025 msgid "missing separator between values" msgstr "brak separatora między wartościami" -#: lib/eventlog/parse_json.c:860 lib/eventlog/parse_json.c:1034 +#: lib/eventlog/parse_json.c:877 lib/eventlog/parse_json.c:1051 msgid "unmatched close brace" msgstr "brak klamry zamykającej" -#: lib/eventlog/parse_json.c:871 +#: lib/eventlog/parse_json.c:888 msgid "unexpected array" msgstr "nieoczekiwana tablica" -#: lib/eventlog/parse_json.c:891 lib/eventlog/parse_json.c:1037 +#: lib/eventlog/parse_json.c:908 lib/eventlog/parse_json.c:1054 msgid "unmatched close bracket" msgstr "brak nawiasu zamykającego" -#: lib/eventlog/parse_json.c:902 +#: lib/eventlog/parse_json.c:919 msgid "unexpected string" msgstr "nieoczekiwany łańcuch" -#: lib/eventlog/parse_json.c:913 +#: lib/eventlog/parse_json.c:930 msgid "missing colon after name" msgstr "brak dwukropka po nazwie" -#: lib/eventlog/parse_json.c:934 lib/eventlog/parse_json.c:956 +#: lib/eventlog/parse_json.c:951 lib/eventlog/parse_json.c:973 msgid "unexpected boolean" msgstr "nieoczekiwana wartość logiczna" -#: lib/eventlog/parse_json.c:978 +#: lib/eventlog/parse_json.c:995 msgid "unexpected null" msgstr "nieoczekiwana wartość pusta" -#: lib/eventlog/parse_json.c:999 +#: lib/eventlog/parse_json.c:1016 msgid "unexpected number" msgstr "nieoczekiwana liczba" -#: lib/eventlog/parse_json.c:1045 +#: lib/eventlog/parse_json.c:1062 msgid "parse error" msgstr "błąd składni" -#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1290 -#: plugins/sudoers/sudoreplay.c:1291 plugins/sudoers/sudoreplay.c:1587 +#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1303 +#: plugins/sudoers/sudoreplay.c:1293 plugins/sudoers/sudoreplay.c:1589 #, c-format msgid "invalid regular expression \"%s\": %s" msgstr "błędne wyrażenie regularne \"%s\": %s" @@ -592,8 +586,8 @@ 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:124 lib/iolog/iolog_mkdtemp.c:80 -#: logsrvd/iolog_writer.c:795 plugins/sudoers/timestamp.c:218 +#: lib/iolog/iolog_mkdirs.c:125 lib/iolog/iolog_mkdtemp.c:80 +#: logsrvd/iolog_writer.c:803 plugins/sudoers/timestamp.c:218 #, c-format msgid "unable to mkdir %s" msgstr "nie udało się wykonać mkdir %s" @@ -631,90 +625,90 @@ msgstr "%s: błąd protokołu: niewłaściwy typ dla %s" 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:1024 -#: plugins/sudoers/policy.c:613 +#: logsrvd/iolog_writer.c:141 plugins/sudoers/logging.c:1035 +#: plugins/sudoers/policy.c:621 msgid "unable to generate UUID" msgstr "nie udało się wygenerować UUID-a" -#: logsrvd/iolog_writer.c:354 logsrvd/iolog_writer.c:359 -#: logsrvd/iolog_writer.c:364 logsrvd/iolog_writer.c:369 +#: logsrvd/iolog_writer.c:362 logsrvd/iolog_writer.c:367 +#: logsrvd/iolog_writer.c:372 logsrvd/iolog_writer.c:377 #, c-format msgid "%s: protocol error: %s missing from AcceptMessage" msgstr "%s: błąd protokołu: brak %s w AcceptMessage" -#: logsrvd/iolog_writer.c:430 +#: logsrvd/iolog_writer.c:438 #, c-format msgid "%s: unable to format session id" msgstr "%s: nie udało się sformatować id sesji" -#: logsrvd/iolog_writer.c:444 logsrvd/iolog_writer.c:458 -#: logsrvd/iolog_writer.c:472 logsrvd/iolog_writer.c:487 -#: logsrvd/iolog_writer.c:501 logsrvd/iolog_writer.c:515 +#: logsrvd/iolog_writer.c:452 logsrvd/iolog_writer.c:466 +#: logsrvd/iolog_writer.c:480 logsrvd/iolog_writer.c:495 +#: logsrvd/iolog_writer.c:509 logsrvd/iolog_writer.c:523 #, c-format msgid "%s: %s is not set" msgstr "%s: %s nie jest ustawiony" -#: logsrvd/iolog_writer.c:551 logsrvd/iolog_writer.c:558 +#: logsrvd/iolog_writer.c:559 logsrvd/iolog_writer.c:566 #, c-format msgid "unable to expand iolog path %s" msgstr "nie udało się rozwinąć ścieżki iologu %s" -#: logsrvd/iolog_writer.c:576 +#: logsrvd/iolog_writer.c:584 #, c-format msgid "unable to create iolog path %s" msgstr "nie udało się utworzyć ścieżki iologu %s" -#: logsrvd/iolog_writer.c:606 +#: logsrvd/iolog_writer.c:614 #, c-format msgid "invalid iofd %d" msgstr "błędny iofd %d" -#: logsrvd/iolog_writer.c:626 +#: logsrvd/iolog_writer.c:634 #, c-format msgid "error closing iofd %u: %s" msgstr "błąd zamykania iofd %u: %s" -#: logsrvd/iolog_writer.c:647 +#: logsrvd/iolog_writer.c:655 #, c-format msgid "error flushing iofd %u: %s" msgstr "błąd opróżniania bufora iofd %u: %s" -#: logsrvd/iolog_writer.c:765 +#: logsrvd/iolog_writer.c:773 #, 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:777 logsrvd/logsrvd_journal.c:391 +#: logsrvd/iolog_writer.c:785 logsrvd/logsrvd_journal.c:391 #, 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:799 logsrvd/logsrvd_journal.c:434 +#: logsrvd/iolog_writer.c:807 logsrvd/logsrvd_journal.c:434 #: logsrvd/logsrvd_queue.c:115 logsrvd/tls_init.c:256 -#: plugins/sudoers/check.c:285 plugins/sudoers/cvtsudoers.c:758 -#: plugins/sudoers/cvtsudoers.c:780 plugins/sudoers/cvtsudoers.c:1461 -#: plugins/sudoers/cvtsudoers_csv.c:697 plugins/sudoers/cvtsudoers_json.c:902 -#: plugins/sudoers/cvtsudoers_ldif.c:711 plugins/sudoers/sudoers.c:1291 -#: plugins/sudoers/sudoers.c:1317 plugins/sudoers/sudoreplay.c:1497 -#: plugins/sudoers/timestamp.c:478 plugins/sudoers/tsdump.c:128 +#: plugins/sudoers/check.c:278 plugins/sudoers/cvtsudoers.c:758 +#: plugins/sudoers/cvtsudoers.c:780 plugins/sudoers/cvtsudoers.c:1457 +#: plugins/sudoers/cvtsudoers_csv.c:722 plugins/sudoers/cvtsudoers_json.c:1034 +#: plugins/sudoers/cvtsudoers_ldif.c:753 plugins/sudoers/sudoers.c:1309 +#: plugins/sudoers/sudoers.c:1335 plugins/sudoers/sudoreplay.c:1499 +#: plugins/sudoers/timestamp.c:477 plugins/sudoers/tsdump.c:141 #: plugins/sudoers/visudo.c:990 #, c-format msgid "unable to open %s" msgstr "nie udało się otworzyć %s" -#: logsrvd/iolog_writer.c:811 logsrvd/logsrv_util.c:111 +#: logsrvd/iolog_writer.c:819 logsrvd/logsrv_util.c:111 #: logsrvd/logsrv_util.c:118 plugins/sudoers/sudoreplay.c:355 #: plugins/sudoers/sudoreplay.c:361 #, c-format msgid "unable to open %s/%s" msgstr "nie udało się otworzyć %s/%s" -#: logsrvd/iolog_writer.c:824 +#: logsrvd/iolog_writer.c:832 #, 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:853 logsrvd/logsrvd_journal.c:198 +#: logsrvd/iolog_writer.c:861 logsrvd/logsrvd_journal.c:198 #, c-format msgid "unable to rename %s to %s" msgstr "nie udało się zmienić nazwy %s na %s" @@ -734,209 +728,209 @@ msgstr "brak pliku logu we/wy %s/%s" msgid "%s/%s: unable to seek forward %zu" msgstr "%s/%s: nie udało przesunąć %zu w przód" -#: logsrvd/logsrvd.c:271 logsrvd/logsrvd_queue.c:135 +#: logsrvd/logsrvd.c:272 logsrvd/logsrvd_queue.c:135 msgid "unable to connect to relay" msgstr "nie udało się połączyć z przekaźnikiem" -#: logsrvd/logsrvd.c:338 logsrvd/logsrvd_relay.c:847 +#: logsrvd/logsrvd.c:339 logsrvd/logsrvd_relay.c:847 #, c-format msgid "server message too large: %zu" msgstr "komunikat serwera zbyt duży: %zu" -#: logsrvd/logsrvd.c:430 logsrvd/logsrvd.c:553 logsrvd/logsrvd.c:639 -#: logsrvd/logsrvd.c:881 logsrvd/logsrvd.c:895 logsrvd/logsrvd.c:1056 -#: logsrvd/logsrvd.c:1181 logsrvd/logsrvd.c:1354 logsrvd/logsrvd.c:1372 -#: logsrvd/logsrvd.c:1471 logsrvd/logsrvd.c:1596 logsrvd/logsrvd.c:1783 +#: logsrvd/logsrvd.c:431 logsrvd/logsrvd.c:554 logsrvd/logsrvd.c:640 +#: logsrvd/logsrvd.c:882 logsrvd/logsrvd.c:896 logsrvd/logsrvd.c:1057 +#: logsrvd/logsrvd.c:1182 logsrvd/logsrvd.c:1364 logsrvd/logsrvd.c:1382 +#: logsrvd/logsrvd.c:1481 logsrvd/logsrvd.c:1606 logsrvd/logsrvd.c:1793 #: logsrvd/logsrvd_journal.c:503 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:391 logsrvd/logsrvd_relay.c:583 #: logsrvd/logsrvd_relay.c:747 logsrvd/logsrvd_relay.c:1137 -#: logsrvd/sendlog.c:1308 logsrvd/tls_client.c:136 logsrvd/tls_client.c:152 -#: logsrvd/tls_client.c:216 plugins/sudoers/audit.c:281 -#: plugins/sudoers/iolog.c:1041 plugins/sudoers/iolog.c:1175 -#: plugins/sudoers/iolog.c:1274 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:613 -#: plugins/sudoers/log_client.c:620 plugins/sudoers/log_client.c:1114 -#: plugins/sudoers/log_client.c:1395 plugins/sudoers/log_client.c:1436 -#: plugins/sudoers/log_client.c:1444 plugins/sudoers/log_client.c:1603 -#: plugins/sudoers/log_client.c:1728 plugins/sudoers/log_client.c:2060 -#: plugins/sudoers/log_client.c:2068 plugins/sudoers/logging.c:148 +#: logsrvd/sendlog.c:1333 logsrvd/tls_client.c:145 logsrvd/tls_client.c:161 +#: logsrvd/tls_client.c:225 plugins/sudoers/audit.c:281 +#: plugins/sudoers/iolog.c:1049 plugins/sudoers/iolog.c:1183 +#: plugins/sudoers/iolog.c:1282 plugins/sudoers/log_client.c:121 +#: plugins/sudoers/log_client.c:352 plugins/sudoers/log_client.c:368 +#: plugins/sudoers/log_client.c:416 plugins/sudoers/log_client.c:622 +#: plugins/sudoers/log_client.c:629 plugins/sudoers/log_client.c:1137 +#: plugins/sudoers/log_client.c:1418 plugins/sudoers/log_client.c:1459 +#: plugins/sudoers/log_client.c:1467 plugins/sudoers/log_client.c:1626 +#: plugins/sudoers/log_client.c:1751 plugins/sudoers/log_client.c:2085 +#: plugins/sudoers/log_client.c:2093 plugins/sudoers/logging.c:148 #: plugins/sudoers/logging.c:206 plugins/sudoers/sudoreplay.c:519 -#: plugins/sudoers/sudoreplay.c:566 plugins/sudoers/sudoreplay.c:808 -#: plugins/sudoers/sudoreplay.c:920 plugins/sudoers/sudoreplay.c:1011 -#: plugins/sudoers/sudoreplay.c:1026 plugins/sudoers/sudoreplay.c:1033 -#: plugins/sudoers/sudoreplay.c:1040 plugins/sudoers/sudoreplay.c:1047 -#: plugins/sudoers/sudoreplay.c:1054 plugins/sudoers/sudoreplay.c:1182 +#: plugins/sudoers/sudoreplay.c:566 plugins/sudoers/sudoreplay.c:810 +#: plugins/sudoers/sudoreplay.c:922 plugins/sudoers/sudoreplay.c:1013 +#: plugins/sudoers/sudoreplay.c:1028 plugins/sudoers/sudoreplay.c:1035 +#: plugins/sudoers/sudoreplay.c:1042 plugins/sudoers/sudoreplay.c:1049 +#: plugins/sudoers/sudoreplay.c:1056 plugins/sudoers/sudoreplay.c:1184 msgid "unable to add event to queue" msgstr "nie udało się dodać zdarzenia do kolejki" -#: logsrvd/logsrvd.c:454 logsrvd/logsrvd.c:491 logsrvd/logsrvd.c:523 -#: logsrvd/logsrvd.c:577 logsrvd/logsrvd.c:656 logsrvd/logsrvd.c:692 -#: logsrvd/logsrvd.c:728 logsrvd/logsrvd.c:764 logsrvd/logsrvd_relay.c:512 +#: logsrvd/logsrvd.c:455 logsrvd/logsrvd.c:492 logsrvd/logsrvd.c:524 +#: logsrvd/logsrvd.c:578 logsrvd/logsrvd.c:657 logsrvd/logsrvd.c:693 +#: logsrvd/logsrvd.c:729 logsrvd/logsrvd.c:765 logsrvd/logsrvd_relay.c:512 #: logsrvd/logsrvd_relay.c:545 #, c-format msgid "unexpected state %d for %s" msgstr "nieoczekiwany stan %d dla %s" -#: logsrvd/logsrvd.c:455 logsrvd/logsrvd.c:492 logsrvd/logsrvd.c:524 -#: logsrvd/logsrvd.c:578 logsrvd/logsrvd.c:657 logsrvd/logsrvd.c:693 -#: logsrvd/logsrvd.c:729 logsrvd/logsrvd.c:765 logsrvd/logsrvd_relay.c:514 +#: logsrvd/logsrvd.c:456 logsrvd/logsrvd.c:493 logsrvd/logsrvd.c:525 +#: logsrvd/logsrvd.c:579 logsrvd/logsrvd.c:658 logsrvd/logsrvd.c:694 +#: logsrvd/logsrvd.c:730 logsrvd/logsrvd.c:766 logsrvd/logsrvd_relay.c:514 #: logsrvd/logsrvd_relay.c:547 msgid "state machine error" msgstr "błąd maszyny stanów" -#: logsrvd/logsrvd.c:461 logsrvd/logsrvd.c:462 +#: logsrvd/logsrvd.c:462 logsrvd/logsrvd.c:463 msgid "invalid AcceptMessage" msgstr "błędny AcceptMessage" -#: logsrvd/logsrvd.c:498 logsrvd/logsrvd.c:499 +#: logsrvd/logsrvd.c:499 logsrvd/logsrvd.c:500 msgid "invalid RejectMessage" msgstr "błędny RejectMessage" -#: logsrvd/logsrvd.c:530 logsrvd/logsrvd.c:531 +#: logsrvd/logsrvd.c:531 logsrvd/logsrvd.c:532 msgid "invalid ExitMessage" msgstr "błędny ExitMessage" -#: logsrvd/logsrvd.c:584 logsrvd/logsrvd.c:585 +#: logsrvd/logsrvd.c:585 logsrvd/logsrvd.c:586 msgid "invalid RestartMessage" msgstr "błędny RestartMessage" -#: logsrvd/logsrvd.c:619 logsrvd/logsrvd.c:620 +#: logsrvd/logsrvd.c:620 logsrvd/logsrvd.c:621 msgid "invalid AlertMessage" msgstr "błędny AlertMessage" -#: logsrvd/logsrvd.c:661 logsrvd/logsrvd.c:697 logsrvd/logsrvd.c:733 +#: logsrvd/logsrvd.c:662 logsrvd/logsrvd.c:698 logsrvd/logsrvd.c:734 #, c-format msgid "%s: unexpected IoBuffer" msgstr "%s: nieoczekiwany IoBuffer" -#: logsrvd/logsrvd.c:662 logsrvd/logsrvd.c:698 logsrvd/logsrvd.c:734 +#: logsrvd/logsrvd.c:663 logsrvd/logsrvd.c:699 logsrvd/logsrvd.c:735 msgid "protocol error" msgstr "błąd protokołu" -#: logsrvd/logsrvd.c:668 logsrvd/logsrvd.c:669 +#: logsrvd/logsrvd.c:669 logsrvd/logsrvd.c:670 msgid "invalid IoBuffer" msgstr "błędny IoBuffer" -#: logsrvd/logsrvd.c:704 logsrvd/logsrvd.c:705 +#: logsrvd/logsrvd.c:705 logsrvd/logsrvd.c:706 msgid "invalid ChangeWindowSize" msgstr "błędny ChangeWindowSize" -#: logsrvd/logsrvd.c:740 logsrvd/logsrvd.c:741 +#: logsrvd/logsrvd.c:741 logsrvd/logsrvd.c:742 msgid "invalid CommandSuspend" msgstr "błędny CommandSuspend" -#: logsrvd/logsrvd.c:790 logsrvd/logsrvd_journal.c:302 -#: logsrvd/logsrvd_relay.c:654 logsrvd/sendlog.c:1207 -#: plugins/sudoers/log_client.c:1593 +#: logsrvd/logsrvd.c:791 logsrvd/logsrvd_journal.c:302 +#: logsrvd/logsrvd_relay.c:654 logsrvd/sendlog.c:1232 +#: plugins/sudoers/log_client.c:1616 #, c-format msgid "unable to unpack %s size %zu" msgstr "nie udało się rozpakować %s, rozmiar %zu" -#: logsrvd/logsrvd.c:835 logsrvd/logsrvd_journal.c:376 +#: logsrvd/logsrvd.c:836 logsrvd/logsrvd_journal.c:376 #: logsrvd/logsrvd_relay.c:678 #, 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:837 +#: logsrvd/logsrvd.c:838 msgid "unrecognized ClientMessage type" msgstr "nie rozpoznany typ ClientMessage" -#: logsrvd/logsrvd.c:927 +#: logsrvd/logsrvd.c:928 #, c-format msgid "timed out writing to client %s" msgstr "przekroczony limit czasu przy pisaniu do klienta %s" -#: logsrvd/logsrvd.c:932 logsrvd/logsrvd_relay.c:919 logsrvd/sendlog.c:1413 +#: logsrvd/logsrvd.c:933 logsrvd/logsrvd_relay.c:919 logsrvd/sendlog.c:1438 #, c-format msgid "missing write buffer for client %s" msgstr "brak bufora zapisu dla klienta %s" -#: logsrvd/logsrvd.c:1027 +#: logsrvd/logsrvd.c:1028 #, c-format msgid "timed out reading from client %s" msgstr "przekroczony limit czasu przy czytaniu od klienta %s" -#: logsrvd/logsrvd.c:1068 logsrvd/logsrvd_relay.c:782 +#: logsrvd/logsrvd.c:1069 logsrvd/logsrvd_relay.c:782 #, 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:1112 logsrvd/logsrvd_relay.c:205 logsrvd/sendlog.c:336 -#: plugins/sudoers/log_client.c:723 +#: logsrvd/logsrvd.c:1113 logsrvd/logsrvd_relay.c:205 logsrvd/sendlog.c:336 +#: plugins/sudoers/log_client.c:732 #, c-format msgid "client message too large: %zu" msgstr "komunikat klienta zbyt duży %zu" -#: logsrvd/logsrvd.c:1113 logsrvd/logsrvd_journal.c:259 +#: logsrvd/logsrvd.c:1114 logsrvd/logsrvd_journal.c:259 #: logsrvd/logsrvd_journal.c:260 msgid "client message too large" msgstr "komunikat klienta zbyt duży" -#: logsrvd/logsrvd.c:1131 logsrvd/logsrvd.c:1132 +#: logsrvd/logsrvd.c:1132 logsrvd/logsrvd.c:1133 msgid "invalid ClientMessage" msgstr "błędny ClientMessage" -#: logsrvd/logsrvd.c:1432 +#: logsrvd/logsrvd.c:1442 msgid "unable to get remote IP addr" msgstr "nie udało się uzyskać zdalnego adresu IP" -#: logsrvd/logsrvd.c:1463 logsrvd/tls_client.c:203 -#: plugins/sudoers/log_client.c:281 +#: logsrvd/logsrvd.c:1473 logsrvd/tls_client.c:212 +#: plugins/sudoers/log_client.c:290 #, 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:1646 logsrvd/logsrvd.c:2007 +#: logsrvd/logsrvd.c:1656 logsrvd/logsrvd.c:2050 msgid "unable to setup listen socket" msgstr "nie udało się ustanowić gniazda nasłuchującego" -#: logsrvd/logsrvd.c:1766 +#: logsrvd/logsrvd.c:1776 #, c-format msgid "unexpected signal %d" msgstr "nieoczekiwany sygnał %d" -#: logsrvd/logsrvd.c:1909 +#: logsrvd/logsrvd.c:1949 msgid "sudo log server" msgstr "serwer logów sudo" -#: logsrvd/logsrvd.c:1911 logsrvd/sendlog.c:126 +#: logsrvd/logsrvd.c:1951 logsrvd/sendlog.c:126 msgid "Options:" msgstr "Opcje:" -#: logsrvd/logsrvd.c:1913 +#: logsrvd/logsrvd.c:1953 msgid "path to configuration file" msgstr "ścieżka do pliku konfiguracyjnego" -#: logsrvd/logsrvd.c:1915 logsrvd/sendlog.c:128 +#: logsrvd/logsrvd.c:1955 logsrvd/sendlog.c:128 msgid "display help message and exit" msgstr "wyświetlenie pomocy i zakończenie" -#: logsrvd/logsrvd.c:1917 +#: logsrvd/logsrvd.c:1957 msgid "do not fork, run in the foreground" msgstr "bez wykonywania fork, działanie na pierwszym planie" -#: logsrvd/logsrvd.c:1919 +#: logsrvd/logsrvd.c:1959 msgid "percent chance connections will drop" msgstr "procentowe prawdopodobieństwo odrzucenia połączenia" -#: logsrvd/logsrvd.c:1921 logsrvd/sendlog.c:158 +#: logsrvd/logsrvd.c:1961 logsrvd/sendlog.c:158 msgid "display version information and exit" msgstr "wyświetlenie informacji o wersji i zakończenie" -#: logsrvd/logsrvd.c:1971 logsrvd/sendlog.c:1722 +#: logsrvd/logsrvd.c:2011 logsrvd/sendlog.c:1747 msgid "Protobuf-C version 1.3 or higher required" msgstr "Wymagany Protobuf-C w wersji 1.3 lub wyższej" -#: logsrvd/logsrvd.c:1987 +#: logsrvd/logsrvd.c:2027 #, c-format msgid "invalid random drop value: %s" msgstr "błędna wartość losowego gubienia: %s" -#: logsrvd/logsrvd.c:1990 logsrvd/sendlog.c:1776 +#: logsrvd/logsrvd.c:2030 logsrvd/sendlog.c:1801 #: plugins/sudoers/cvtsudoers.c:250 plugins/sudoers/sudoreplay.c:294 #: plugins/sudoers/visudo.c:181 #, c-format @@ -945,16 +939,16 @@ msgstr "%s wersja %s\n" #: logsrvd/logsrvd_conf.c:422 plugins/sudoers/check.c:69 #: plugins/sudoers/exptilde.c:85 plugins/sudoers/iolog.c:122 -#: plugins/sudoers/sudoers.c:419 plugins/sudoers/sudoers.c:929 -#: plugins/sudoers/sudoers.c:1034 plugins/sudoers/sudoers.c:1424 +#: plugins/sudoers/sudoers.c:419 plugins/sudoers/sudoers.c:946 +#: plugins/sudoers/sudoers.c:1052 plugins/sudoers/sudoers.c:1442 #: plugins/sudoers/testsudoers.c:169 plugins/sudoers/testsudoers.c:285 -#: plugins/sudoers/testsudoers.c:459 +#: plugins/sudoers/testsudoers.c:459 plugins/sudoers/tsdump.c:131 #, c-format msgid "unknown user %s" msgstr "nieznany użytkownik %s" #: logsrvd/logsrvd_conf.c:439 plugins/sudoers/iolog.c:148 -#: plugins/sudoers/sudoers.c:425 plugins/sudoers/sudoers.c:1458 +#: plugins/sudoers/sudoers.c:425 plugins/sudoers/sudoers.c:1476 #: plugins/sudoers/testsudoers.c:483 #, c-format msgid "unknown group %s" @@ -965,7 +959,7 @@ msgstr "nieznana grupa %s" msgid "unable to parse iolog mode %s" msgstr "nie udało się przeanalizować uprawnień iologu %s" -#: logsrvd/logsrvd_conf.c:474 logsrvd/logsrvd_conf.c:1243 +#: logsrvd/logsrvd_conf.c:474 logsrvd/logsrvd_conf.c:1248 #, c-format msgid "invalid value for %s: %s" msgstr "błędna wartość %s: %s" @@ -979,65 +973,65 @@ msgstr "TLS nie jest obsługiwany" msgid "%s:%s" msgstr "%s:%s" -#: logsrvd/logsrvd_conf.c:622 logsrvd/logsrvd_conf.c:1032 +#: logsrvd/logsrvd_conf.c:622 logsrvd/logsrvd_conf.c:1037 #, c-format msgid "%s: not a fully qualified path" msgstr "%s: nie jest pełną ścieżką" -#: logsrvd/logsrvd_conf.c:951 logsrvd/logsrvd_conf.c:967 -#: logsrvd/logsrvd_conf.c:1676 +#: logsrvd/logsrvd_conf.c:956 logsrvd/logsrvd_conf.c:972 +#: logsrvd/logsrvd_conf.c:1681 #, c-format msgid "unknown syslog facility %s" msgstr "nieznana wartość facility sysloga %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 +#: logsrvd/logsrvd_conf.c:988 logsrvd/logsrvd_conf.c:1004 +#: logsrvd/logsrvd_conf.c:1020 logsrvd/logsrvd_conf.c:1685 +#: logsrvd/logsrvd_conf.c:1689 logsrvd/logsrvd_conf.c:1693 #, c-format msgid "unknown syslog priority %s" msgstr "nieznany priorytet sysloga %s" -#: logsrvd/logsrvd_conf.c:1197 +#: logsrvd/logsrvd_conf.c:1202 #, c-format msgid "%s:%d unmatched '[': %s" msgstr "%s:%d niedopasowany '[': %s" -#: logsrvd/logsrvd_conf.c:1203 +#: logsrvd/logsrvd_conf.c:1208 #, c-format msgid "%s:%d garbage after ']': %s" msgstr "%s:%d śmieci po ']': %s" -#: logsrvd/logsrvd_conf.c:1215 +#: logsrvd/logsrvd_conf.c:1220 #, c-format msgid "%s:%d invalid config section: %s" msgstr "%s: %d błędna sekcja konfiguracji: %s" -#: logsrvd/logsrvd_conf.c:1223 +#: logsrvd/logsrvd_conf.c:1228 #, c-format msgid "%s:%d invalid configuration line: %s" msgstr "%s:%d błędna linia konfiguracji: %s" -#: logsrvd/logsrvd_conf.c:1229 +#: logsrvd/logsrvd_conf.c:1234 #, c-format msgid "%s:%d expected section name: %s" msgstr "%s:%d oczekiwano nazwy sekcji: %s" -#: logsrvd/logsrvd_conf.c:1251 +#: logsrvd/logsrvd_conf.c:1256 #, c-format msgid "%s:%d [%s] illegal key: %s" msgstr "%s:%d [%s] niedozwolony klucz: %s" -#: logsrvd/logsrvd_conf.c:1281 plugins/sudoers/cvtsudoers.c:273 -#: plugins/sudoers/logging.c:1076 +#: logsrvd/logsrvd_conf.c:1286 plugins/sudoers/cvtsudoers.c:273 +#: plugins/sudoers/logging.c:1087 #, c-format msgid "unable to open log file %s" msgstr "nie udało się otworzyć pliku logu %s" -#: logsrvd/logsrvd_conf.c:1763 +#: logsrvd/logsrvd_conf.c:1768 msgid "unable to initialize server TLS context" msgstr "nie udało się zainicjować kontekstu serwera TLS" -#: logsrvd/logsrvd_conf.c:1783 +#: logsrvd/logsrvd_conf.c:1788 msgid "unable to initialize relay TLS context" msgstr "nie udało się zainicjować kontekstu przekaźnika TLS" @@ -1141,7 +1135,7 @@ msgstr "nie udało się sformatować bufora czasu, długość %d" #: logsrvd/logsrvd_local.c:601 logsrvd/logsrvd_local.c:609 #: logsrvd/logsrvd_local.c:657 logsrvd/logsrvd_local.c:692 -#: plugins/sudoers/sudoreplay.c:344 toke.l:981 toke.l:984 +#: plugins/sudoers/sudoreplay.c:344 toke.l:961 toke.l:964 #, c-format msgid "%s/%s: %s" msgstr "%s/%s: %s" @@ -1175,8 +1169,8 @@ msgstr "nie udało się połączyć z hostem przekaźnika" msgid "%s: invalid ServerHello, missing server_id" msgstr "%s: błędne ServerHello, brak server_id" -#: logsrvd/logsrvd_relay.c:522 logsrvd/sendlog.c:1111 -#: plugins/sudoers/log_client.c:1479 +#: logsrvd/logsrvd_relay.c:522 logsrvd/sendlog.c:1136 +#: plugins/sudoers/log_client.c:1502 msgid "invalid ServerHello" msgstr "błędne ServerHello" @@ -1280,7 +1274,7 @@ msgstr "zakończenie przesyłania po osiągnięciu tego czasu" 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:181 plugins/sudoers/log_client.c:453 +#: logsrvd/sendlog.c:181 plugins/sudoers/log_client.c:462 #, c-format msgid "unable to look up %s:%s: %s" msgstr "nie udało się wyszukać %s:%s: %s" @@ -1289,108 +1283,108 @@ msgstr "nie udało się wyszukać %s:%s: %s" msgid "unable to get server IP addr" msgstr "nie udało się uzyskać adresu IP serwera" -#: logsrvd/sendlog.c:314 plugins/sudoers/sudoreplay.c:868 +#: logsrvd/sendlog.c:314 plugins/sudoers/sudoreplay.c:870 #, c-format msgid "unable to read %s/%s: %s" msgstr "nie udało się odczytać %s/%s: %s" -#: logsrvd/sendlog.c:1035 plugins/sudoers/iolog.c:959 -#: plugins/sudoers/iolog.c:1034 +#: logsrvd/sendlog.c:1060 plugins/sudoers/iolog.c:967 +#: plugins/sudoers/iolog.c:1042 #, c-format msgid "unexpected I/O event %d" msgstr "nieoczekiwane zdarzenie we/wy %d" -#: logsrvd/sendlog.c:1088 logsrvd/sendlog.c:1105 logsrvd/sendlog.c:1139 -#: plugins/sudoers/log_client.c:1129 plugins/sudoers/log_client.c:1405 -#: plugins/sudoers/log_client.c:1473 plugins/sudoers/log_client.c:1512 +#: logsrvd/sendlog.c:1113 logsrvd/sendlog.c:1130 logsrvd/sendlog.c:1164 +#: plugins/sudoers/log_client.c:1152 plugins/sudoers/log_client.c:1428 +#: plugins/sudoers/log_client.c:1496 plugins/sudoers/log_client.c:1535 #, c-format msgid "%s: unexpected state %d" msgstr "%s: nieoczekiwany stan %d" -#: logsrvd/sendlog.c:1175 plugins/sudoers/log_client.c:1561 +#: logsrvd/sendlog.c:1200 plugins/sudoers/log_client.c:1584 #, c-format msgid "error message received from server: %s" msgstr "odebrano od serwera komunikat błędu: %s" -#: logsrvd/sendlog.c:1188 plugins/sudoers/log_client.c:1574 +#: logsrvd/sendlog.c:1213 plugins/sudoers/log_client.c:1597 #, c-format msgid "abort message received from server: %s" msgstr "odebrano od serwera komunikat zerwania: %s" -#: logsrvd/sendlog.c:1247 plugins/sudoers/log_client.c:1624 +#: logsrvd/sendlog.c:1272 plugins/sudoers/log_client.c:1647 #, c-format msgid "%s: unexpected type_case value %d" msgstr "%s: nieoczekiwana wartość type_case %d" -#: logsrvd/sendlog.c:1276 +#: logsrvd/sendlog.c:1301 msgid "timeout reading from server" msgstr "przekroczony limit czasu przy czytaniu z serwera" -#: logsrvd/sendlog.c:1327 plugins/sudoers/log_client.c:1747 +#: logsrvd/sendlog.c:1352 plugins/sudoers/log_client.c:1770 msgid "host name does not match certificate" msgstr "nazwa hosta nie pasuje do certyfikatu" -#: logsrvd/sendlog.c:1361 +#: logsrvd/sendlog.c:1386 msgid "premature EOF" msgstr "przedwczesny EOF" -#: logsrvd/sendlog.c:1374 plugins/sudoers/log_client.c:1795 +#: logsrvd/sendlog.c:1399 plugins/sudoers/log_client.c:1818 #, c-format msgid "server message too large: %u" msgstr "komunikat serwera zbyt duży: %u" -#: logsrvd/sendlog.c:1430 +#: logsrvd/sendlog.c:1455 msgid "timeout writing to server" msgstr "przekroczony limit czasu przy pisaniu do serwera" -#: logsrvd/sendlog.c:1800 +#: logsrvd/sendlog.c:1825 msgid "both restart point and iolog ID must be specified" msgstr "muszą być podane jednocześnie punkt wznowienia i ID iolog" -#: logsrvd/sendlog.c:1804 +#: logsrvd/sendlog.c:1829 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:1880 +#: logsrvd/sendlog.c:1905 #, c-format msgid "exited prematurely with state %d" msgstr "zakończono przedwcześnie ze stanem %d" -#: logsrvd/sendlog.c:1881 +#: logsrvd/sendlog.c:1906 #, c-format msgid "elapsed time sent to server [%lld, %ld]" msgstr "miniony czas wysłany do serwera [%lld, %ld]" -#: logsrvd/sendlog.c:1883 +#: logsrvd/sendlog.c:1908 #, c-format msgid "commit point received from server [%lld, %ld]" msgstr "odebrano od serwera punkt zatwierdzenia [%lld, %ld]" -#: logsrvd/tls_client.c:111 plugins/sudoers/log_client.c:315 +#: logsrvd/tls_client.c:120 plugins/sudoers/log_client.c:324 msgid "TLS handshake timeout occurred" msgstr "przekroczony limit czasu powitania TLS" -#: logsrvd/tls_client.c:131 logsrvd/tls_client.c:147 -#: plugins/sudoers/log_client.c:337 plugins/sudoers/log_client.c:353 +#: logsrvd/tls_client.c:140 logsrvd/tls_client.c:156 +#: plugins/sudoers/log_client.c:346 plugins/sudoers/log_client.c:362 msgid "unable to set event" msgstr "nie udało się ustawić zdarzenia" -#: logsrvd/tls_client.c:157 logsrvd/tls_client.c:161 +#: logsrvd/tls_client.c:166 logsrvd/tls_client.c:170 #, c-format msgid "TLS connection failed: %s" msgstr "Połączenie TLS nie powiodło się: %s" -#: logsrvd/tls_client.c:196 +#: logsrvd/tls_client.c:205 #, c-format msgid "unable to allocate ssl object: %s" msgstr "nie udało się przydzielić obiektu SSL: %s" -#: logsrvd/tls_client.c:210 +#: logsrvd/tls_client.c:219 #, 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:238 +#: logsrvd/tls_client.c:247 msgid "unable to initialize TLS context" msgstr "nie udało się zainicjować kontekstu TLS" @@ -1419,12 +1413,11 @@ msgstr "nie udało się utworzyć kontekstu TLS: %s" 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:272 plugins/sudoers/audit.c:452 -#: plugins/sudoers/log_client.c:962 plugins/sudoers/log_client.c:1011 -#: plugins/sudoers/log_client.c:1060 plugins/sudoers/log_client.c:1185 -#: plugins/sudoers/logging.c:614 plugins/sudoers/logging.c:732 -#: plugins/sudoers/logging.c:859 plugins/sudoers/logging.c:1031 -#: plugins/sudoers/policy.c:123 +#: plugins/sudoers/audit.c:272 plugins/sudoers/log_client.c:985 +#: plugins/sudoers/log_client.c:1034 plugins/sudoers/log_client.c:1083 +#: plugins/sudoers/log_client.c:1208 plugins/sudoers/logging.c:627 +#: plugins/sudoers/logging.c:867 plugins/sudoers/logging.c:1017 +#: plugins/sudoers/logging.c:1041 plugins/sudoers/policy.c:1055 msgid "unable to get time of day" msgstr "nie udało się pobrać aktualnego czasu" @@ -1480,47 +1473,47 @@ msgstr "" "błąd serwera uwierzytelniającego:\n" "%s" -#: plugins/sudoers/auth/kerb5.c:116 +#: plugins/sudoers/auth/kerb5.c:117 #, c-format msgid "%s: unable to convert principal to string ('%s'): %s" msgstr "%s: nie udało się przekształcić nazwy principal do łańcucha ('%s'): %s" -#: plugins/sudoers/auth/kerb5.c:166 +#: plugins/sudoers/auth/kerb5.c:167 #, c-format msgid "%s: unable to parse '%s': %s" msgstr "%s: nie udało się przeanalizować '%s': %s" -#: plugins/sudoers/auth/kerb5.c:175 +#: plugins/sudoers/auth/kerb5.c:176 #, c-format msgid "%s: unable to resolve credential cache: %s" msgstr "%s: nie udało się rozwiązać pamięci podręcznej danych uwierzytelniających: %s" -#: plugins/sudoers/auth/kerb5.c:226 +#: plugins/sudoers/auth/kerb5.c:227 #, c-format msgid "%s: unable to allocate options: %s" msgstr "%s: nie udało się przydzielić opcji: %s" -#: plugins/sudoers/auth/kerb5.c:241 +#: plugins/sudoers/auth/kerb5.c:242 #, c-format msgid "%s: unable to get credentials: %s" msgstr "%s: nie udało się pobrać danych uwierzytelniających: %s" -#: plugins/sudoers/auth/kerb5.c:254 +#: plugins/sudoers/auth/kerb5.c:255 #, c-format msgid "%s: unable to initialize credential cache: %s" msgstr "%s: nie udało się zainicjować pamięci podręcznej danych uwierzytelniających: %s" -#: plugins/sudoers/auth/kerb5.c:257 +#: plugins/sudoers/auth/kerb5.c:258 #, c-format msgid "%s: unable to store credential in cache: %s" msgstr "%s: nie udało się zapisać danych uwierzytelniających w pamięci podręcznej: %s" -#: plugins/sudoers/auth/kerb5.c:322 +#: plugins/sudoers/auth/kerb5.c:324 #, c-format msgid "%s: unable to get host principal: %s" msgstr "%s: nie udało się pobrać nazwy principal dla hosta: %s" -#: plugins/sudoers/auth/kerb5.c:336 +#: plugins/sudoers/auth/kerb5.c:338 #, c-format msgid "%s: Cannot verify TGT! Possible attack!: %s" msgstr "%s: Nie można zweryfikować TGT! Możliwy atak!: %s" @@ -1598,7 +1591,7 @@ msgstr "nieznany błąd SecurID" msgid "invalid passcode length for SecurID" msgstr "błędna długość hasła dla SecurID" -#: plugins/sudoers/auth/sia.c:72 plugins/sudoers/auth/sia.c:130 +#: plugins/sudoers/auth/sia.c:72 plugins/sudoers/auth/sia.c:131 msgid "unable to initialize SIA session" msgstr "nie udało się zainicjować sesji SIA" @@ -1635,22 +1628,22 @@ msgid "unable to commit audit record" msgstr "nie udało się zatwierdzić rekordu audytowego" #: plugins/sudoers/check.c:63 plugins/sudoers/check.c:74 -#: plugins/sudoers/lookup.c:79 plugins/sudoers/tsdump.c:119 +#: plugins/sudoers/lookup.c:79 #, c-format msgid "unknown uid %u" msgstr "nieznany uid %u" -#: plugins/sudoers/check.c:277 +#: plugins/sudoers/check.c:270 #, c-format msgid "error reading lecture file %s" msgstr "błąd podczas czytania pliku instrukcji %s" -#: plugins/sudoers/check.c:280 +#: plugins/sudoers/check.c:273 #, 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:293 +#: plugins/sudoers/check.c:286 msgid "" "\n" "We trust you have received the usual lecture from the local System\n" @@ -1670,7 +1663,7 @@ msgstr "" " 3) z dużą władzą wiąże się duża odpowiedzialność.\n" "\n" -#: plugins/sudoers/check.c:301 +#: plugins/sudoers/check.c:294 msgid "" "For security reasons, the password you type will not be visible.\n" "\n" @@ -1759,13 +1752,13 @@ msgstr "błędny filtr: %s" msgid "failed to parse %s file, unknown error" msgstr "nie udało się przeanalizować pliku %s, nieznany błąd" -#: plugins/sudoers/cvtsudoers.c:1508 plugins/sudoers/sudoreplay.c:1143 +#: plugins/sudoers/cvtsudoers.c:1504 plugins/sudoers/sudoreplay.c:1145 #: plugins/sudoers/timestamp.c:353 plugins/sudoers/timestamp.c:356 #, c-format msgid "unable to write to %s" msgstr "nie udało się zapisać do %s" -#: plugins/sudoers/cvtsudoers.c:1536 +#: plugins/sudoers/cvtsudoers.c:1532 #, c-format msgid "" "%s - convert between sudoers file formats\n" @@ -1774,7 +1767,7 @@ msgstr "" "%s - konwersja między formatami pliku sudoers\n" "\n" -#: plugins/sudoers/cvtsudoers.c:1538 +#: plugins/sudoers/cvtsudoers.c:1534 msgid "" "\n" "Options:\n" @@ -1816,817 +1809,836 @@ msgstr "" " -V, --version wyświetlenie informacji o wersji i zakończenie" #: plugins/sudoers/cvtsudoers_csv.c:192 plugins/sudoers/cvtsudoers_csv.c:199 -#: plugins/sudoers/cvtsudoers_ldif.c:245 plugins/sudoers/cvtsudoers_ldif.c:252 -#: plugins/sudoers/cvtsudoers_ldif.c:594 plugins/sudoers/env.c:340 -#: plugins/sudoers/env.c:347 plugins/sudoers/env.c:458 +#: plugins/sudoers/cvtsudoers_ldif.c:270 plugins/sudoers/cvtsudoers_ldif.c:277 +#: plugins/sudoers/cvtsudoers_ldif.c:628 plugins/sudoers/env.c:357 +#: plugins/sudoers/env.c:364 plugins/sudoers/env.c:475 #: plugins/sudoers/ldap.c:511 plugins/sudoers/ldap.c:629 #: plugins/sudoers/ldap.c:1003 plugins/sudoers/ldap_conf.c:219 -#: plugins/sudoers/ldap_conf.c:310 plugins/sudoers/ldap_util.c:486 -#: plugins/sudoers/linux_audit.c:93 plugins/sudoers/logging.c:479 -#: plugins/sudoers/policy.c:828 plugins/sudoers/policy.c:840 +#: plugins/sudoers/ldap_conf.c:310 plugins/sudoers/ldap_util.c:483 +#: plugins/sudoers/linux_audit.c:93 plugins/sudoers/logging.c:487 +#: plugins/sudoers/policy.c:836 plugins/sudoers/policy.c:848 #: plugins/sudoers/prompt.c:169 plugins/sudoers/serialize_list.c:62 #: plugins/sudoers/serialize_list.c:71 plugins/sudoers/strvec_join.c:62 -#: plugins/sudoers/sudoreplay.c:1340 plugins/sudoers/sudoreplay.c:1346 -#: plugins/sudoers/sudoreplay.c:1352 plugins/sudoers/testsudoers.c:306 -#: plugins/sudoers/toke_util.c:217 toke.l:995 toke.l:1277 +#: plugins/sudoers/sudoreplay.c:1342 plugins/sudoers/sudoreplay.c:1348 +#: plugins/sudoers/sudoreplay.c:1354 plugins/sudoers/testsudoers.c:306 +#: plugins/sudoers/toke_util.c:217 toke.l:975 toke.l:1257 #, c-format msgid "internal error, %s overflow" msgstr "błąd wewnętrzny, przepełnienie %s" -#: plugins/sudoers/cvtsudoers_csv.c:454 plugins/sudoers/cvtsudoers_csv.c:468 -#: plugins/sudoers/cvtsudoers_json.c:661 plugins/sudoers/cvtsudoers_json.c:676 -#: plugins/sudoers/cvtsudoers_ldif.c:349 plugins/sudoers/cvtsudoers_ldif.c:362 +#: plugins/sudoers/cvtsudoers_csv.c:481 plugins/sudoers/cvtsudoers_csv.c:495 +#: plugins/sudoers/cvtsudoers_json.c:760 plugins/sudoers/cvtsudoers_json.c:776 +#: plugins/sudoers/cvtsudoers_ldif.c:384 plugins/sudoers/cvtsudoers_ldif.c:398 #: plugins/sudoers/ldap.c:495 msgid "unable to get GMT time" msgstr "nie udało się pobrać czasu GMT" -#: plugins/sudoers/cvtsudoers_csv.c:459 plugins/sudoers/cvtsudoers_csv.c:473 -#: plugins/sudoers/cvtsudoers_json.c:666 plugins/sudoers/cvtsudoers_json.c:681 -#: plugins/sudoers/cvtsudoers_ldif.c:354 plugins/sudoers/cvtsudoers_ldif.c:367 +#: plugins/sudoers/cvtsudoers_csv.c:486 plugins/sudoers/cvtsudoers_csv.c:500 +#: plugins/sudoers/cvtsudoers_json.c:765 plugins/sudoers/cvtsudoers_json.c:781 +#: plugins/sudoers/cvtsudoers_ldif.c:389 plugins/sudoers/cvtsudoers_ldif.c:403 #: plugins/sudoers/ldap.c:503 msgid "unable to format timestamp" msgstr "nie udało się sformatować znacznika czasu" -#: plugins/sudoers/cvtsudoers_json.c:481 plugins/sudoers/cvtsudoers_json.c:516 -#: plugins/sudoers/cvtsudoers_json.c:732 +#: plugins/sudoers/cvtsudoers_json.c:547 plugins/sudoers/cvtsudoers_json.c:588 +#: plugins/sudoers/cvtsudoers_json.c:841 #, c-format msgid "%s:%d:%d: unknown defaults entry \"%s\"" msgstr "%s:%d:%d: nieznany wpis domyślny \"%s\"" -#: plugins/sudoers/cvtsudoers_ldif.c:663 +#: plugins/sudoers/cvtsudoers_ldif.c:116 +#, c-format +msgid "unable to base64 encode value \"%s\"" +msgstr "nie udało się zakodować wartości base64 \"%s\"" + +#: plugins/sudoers/cvtsudoers_ldif.c:595 +#, c-format +msgid "internal error, unable insert user %s" +msgstr "błąd wewnętrzny, nie można wstawić użytkownika %s" + +#: plugins/sudoers/cvtsudoers_ldif.c:702 #, c-format msgid "too many sudoers entries, maximum %u" msgstr "zbyt dużo wpisów sudoers, maksimum to %u" -#: plugins/sudoers/cvtsudoers_ldif.c:706 +#: plugins/sudoers/cvtsudoers_ldif.c:747 msgid "the SUDOERS_BASE environment variable is not set and the -b option was not specified." msgstr "zmienna środowiskowa SUDOERS_BASE nie jest ustawiona i nie podano opcji -b." -#: plugins/sudoers/cvtsudoers_merge.c:273 -#: plugins/sudoers/cvtsudoers_merge.c:309 +#: plugins/sudoers/cvtsudoers_merge.c:275 +#: plugins/sudoers/cvtsudoers_merge.c:313 #, c-format msgid "%s:%d:%d: converting host list to ALL" msgstr "%s:%d:%d: konwersja listy hostów na ALL" -#: plugins/sudoers/cvtsudoers_merge.c:545 +#: plugins/sudoers/cvtsudoers_merge.c:568 #, c-format msgid "unable to find alias %s" msgstr "nie udało się odnaleźć aliasu %s" -#: plugins/sudoers/cvtsudoers_merge.c:548 +#: plugins/sudoers/cvtsudoers_merge.c:572 #, c-format msgid "%s:%d:%d: renaming alias %s to %s" msgstr "%s:%d:%d: zmiana nazwy aliasu %s na %s" -#: plugins/sudoers/cvtsudoers_merge.c:605 +#: plugins/sudoers/cvtsudoers_merge.c:634 #, c-format msgid "%s:%d:%d: removing duplicate alias %s" msgstr "%s:%d:%d: usuwanie powtórzonego aliasu %s" -#: plugins/sudoers/cvtsudoers_merge.c:830 +#: plugins/sudoers/cvtsudoers_merge.c:868 #, c-format msgid "%s:%d:%d: conflicting Defaults entry \"%s\" host-specific in %s:%d:%d" msgstr "%s:%d:%d: konflikt z wpisem Defaults \"%s\" dla hosta w %s:%d:%d" -#: plugins/sudoers/cvtsudoers_merge.c:864 +#: plugins/sudoers/cvtsudoers_merge.c:904 #, c-format msgid "%s:%d:%d: made Defaults \"%s\" specific to host %s" msgstr "%s:%d:%d: uczynienie Defaults \"%s\" obowiązującym tylko dla hosta %s" -#: plugins/sudoers/cvtsudoers_merge.c:882 +#: plugins/sudoers/cvtsudoers_merge.c:922 #, c-format msgid "%s:%d:%d: unable to make Defaults \"%s\" host-specific" msgstr "%s:%d:%d: nie udało się uczynić Defaults \"%s\" obowiązującym tylko dla hosta" -#: plugins/sudoers/cvtsudoers_merge.c:892 +#: plugins/sudoers/cvtsudoers_merge.c:932 #, c-format msgid "%s:%d:%d: removing Defaults \"%s\" overridden by subsequent entries" msgstr "%s:%d:%d: usuwanie Defaults \"%s\" nadpisanego przez kolejne wpisy" -#: plugins/sudoers/cvtsudoers_merge.c:1088 +#: plugins/sudoers/cvtsudoers_merge.c:1128 #, c-format msgid "%s:%d:%d: merging userspec into %s:%d:%d" msgstr "%s:%d:%d: łączenie userspec w %s:%d:%d" -#: plugins/sudoers/cvtsudoers_merge.c:1182 +#: plugins/sudoers/cvtsudoers_merge.c:1224 #, c-format msgid "%s:%d:%d: removing userspec overridden by subsequent entries" msgstr "%s:%d:%d: usuwanie userspec nadpisanego przez kolejne wpisy" -#: plugins/sudoers/def_data.c:56 +#: plugins/sudoers/def_data.c:58 #, c-format msgid "Syslog facility if syslog is being used for logging: %s" msgstr "Rodzaj komunikatu sysloga, jeśli syslog jest używany: %s" -#: plugins/sudoers/def_data.c:60 +#: plugins/sudoers/def_data.c:62 #, c-format msgid "Syslog priority to use when user authenticates successfully: %s" msgstr "Priorytet komunikatu sysloga w przypadku udanego uwierzytelnienia: %s" -#: plugins/sudoers/def_data.c:64 +#: plugins/sudoers/def_data.c:66 #, c-format msgid "Syslog priority to use when user authenticates unsuccessfully: %s" msgstr "Priorytet komunikatu sysloga w przypadku nieudanego uwierzytelnienia: %s" -#: plugins/sudoers/def_data.c:68 +#: plugins/sudoers/def_data.c:70 msgid "Put OTP prompt on its own line" msgstr "Umieszczenie zachęty OTP we własnej linii" -#: plugins/sudoers/def_data.c:72 +#: plugins/sudoers/def_data.c:74 msgid "Ignore '.' in $PATH" msgstr "Ignorowanie '.' w $PATH" -#: plugins/sudoers/def_data.c:76 +#: plugins/sudoers/def_data.c:78 msgid "Always send mail when sudo is run" msgstr "Wysyłanie listu zawsze przy uruchomieniu sudo" -#: plugins/sudoers/def_data.c:80 +#: plugins/sudoers/def_data.c:82 msgid "Send mail if user authentication fails" msgstr "Wysyłanie listu przy błędnym uwierzytelnieniu" -#: plugins/sudoers/def_data.c:84 +#: plugins/sudoers/def_data.c:86 msgid "Send mail if the user is not in sudoers" msgstr "Wysyłanie listu jeśli użytkownik nie jest w sudoers" -#: plugins/sudoers/def_data.c:88 +#: plugins/sudoers/def_data.c:90 msgid "Send mail if the user is not in sudoers for this host" msgstr "Wysyłanie listu jeśli użytkownik nie jest w sudoers dla tego hosta" -#: plugins/sudoers/def_data.c:92 +#: plugins/sudoers/def_data.c:94 msgid "Send mail if the user is not allowed to run a command" msgstr "Wysyłanie listu jeśli użytkownik nie ma prawa do uruchomienia polecenia" -#: plugins/sudoers/def_data.c:96 +#: plugins/sudoers/def_data.c:98 msgid "Send mail if the user tries to run a command" msgstr "Wysyłanie listu jeśli użytkownik próbuje uruchomić polecenie" -#: plugins/sudoers/def_data.c:100 +#: plugins/sudoers/def_data.c:102 msgid "Use a separate timestamp for each user/tty combo" msgstr "Użycie osobnego znacznika czasu dla każdej pary użytkownik/tty" -#: plugins/sudoers/def_data.c:104 +#: plugins/sudoers/def_data.c:106 msgid "Lecture user the first time they run sudo" msgstr "Poinstruowanie użytkownika przy pierwszym uruchomieniu sudo" -#: plugins/sudoers/def_data.c:108 +#: plugins/sudoers/def_data.c:110 #, c-format msgid "File containing the sudo lecture: %s" msgstr "Plik zawierający instrukcję do sudo: %s" -#: plugins/sudoers/def_data.c:112 +#: plugins/sudoers/def_data.c:114 msgid "Require users to authenticate by default" msgstr "Domyślne wymaganie uwierzytelnienia przez użytkowników" -#: plugins/sudoers/def_data.c:116 +#: plugins/sudoers/def_data.c:118 msgid "Root may run sudo" msgstr "Możliwość uruchamiania sudo przez roota" -#: plugins/sudoers/def_data.c:120 +#: plugins/sudoers/def_data.c:122 msgid "Log the hostname in the (non-syslog) log file" msgstr "Logowanie nazwy hosta w pliku logu (niesyslogowym)" -#: plugins/sudoers/def_data.c:124 +#: plugins/sudoers/def_data.c:126 msgid "Log the year in the (non-syslog) log file" msgstr "Logowanie roku w pliku logu (niesyslogowym)" -#: plugins/sudoers/def_data.c:128 +#: plugins/sudoers/def_data.c:130 msgid "If sudo is invoked with no arguments, start a shell" msgstr "Uruchomienie powłoki przy wywołaniu sudo bez argumentów" -#: plugins/sudoers/def_data.c:132 +#: plugins/sudoers/def_data.c:134 msgid "Set $HOME to the target user when starting a shell with -s" msgstr "Ustawianie $HOME na katalog użytkownika docelowego przy uruchamianiu powłoki z -s" -#: plugins/sudoers/def_data.c:136 +#: plugins/sudoers/def_data.c:138 msgid "Always set $HOME to the target user's home directory" msgstr "Ustawianie $HOME zawsze na katalog domowy użytkownika docelowego" -#: plugins/sudoers/def_data.c:140 +#: plugins/sudoers/def_data.c:142 msgid "Allow some information gathering to give useful error messages" msgstr "Zezwolenie na zbieranie niektórych informacji do przydatnych komunikatów błędów" -#: plugins/sudoers/def_data.c:144 +#: plugins/sudoers/def_data.c:146 msgid "Require fully-qualified hostnames in the sudoers file" msgstr "Wymaganie pełnych nazw hostów w pliku sudoers" -#: plugins/sudoers/def_data.c:148 +#: plugins/sudoers/def_data.c:150 msgid "Insult the user when they enter an incorrect password" msgstr "Lżenie użytkownika po podaniu błędnego hasła" -#: plugins/sudoers/def_data.c:152 +#: plugins/sudoers/def_data.c:154 msgid "Only allow the user to run sudo if they have a tty" msgstr "Możliwość uruchamiania sudo tylko z poziomu terminala" -#: plugins/sudoers/def_data.c:156 +#: plugins/sudoers/def_data.c:158 msgid "Visudo will honor the EDITOR environment variable" msgstr "Honorowanie zmiennej środowiskowej EDITOR przez visudo" -#: plugins/sudoers/def_data.c:160 -msgid "Prompt for root's password, not the users's" +#: plugins/sudoers/def_data.c:162 +msgid "Prompt for root's password, not the user's" msgstr "Pytanie o hasło roota zamiast hasła użytkownika" -#: plugins/sudoers/def_data.c:164 -msgid "Prompt for the runas_default user's password, not the users's" +#: plugins/sudoers/def_data.c:166 +msgid "Prompt for the runas_default user's password, not the user's" msgstr "Pytanie o hasło użytkownika runas_default zamiast uruchamiającego" -#: plugins/sudoers/def_data.c:168 -msgid "Prompt for the target user's password, not the users's" +#: plugins/sudoers/def_data.c:170 +msgid "Prompt for the target user's password, not the user's" msgstr "Pytanie o hasło użytkownika docelowego zamiast uruchamiającego" -#: plugins/sudoers/def_data.c:172 +#: plugins/sudoers/def_data.c:174 msgid "Apply defaults in the target user's login class if there is one" msgstr "Użycie ustawień domyślnych z klasy logowania użytkownika docelowego (jeśli są)" -#: plugins/sudoers/def_data.c:176 +#: plugins/sudoers/def_data.c:178 msgid "Set the LOGNAME and USER environment variables" msgstr "Ustawianie zmiennych środowiskowych LOGNAME i USER" -#: plugins/sudoers/def_data.c:180 +#: plugins/sudoers/def_data.c:182 msgid "Only set the effective uid to the target user, not the real uid" msgstr "Ustawianie na użytkownika docelowego tylko efektywnego uid-a, nie rzeczywistego uid-a" -#: plugins/sudoers/def_data.c:184 +#: plugins/sudoers/def_data.c:186 msgid "Don't initialize the group vector to that of the target user" msgstr "Pomijanie inicjalizacji wektora grup na grupy użytkownika docelowego" -#: plugins/sudoers/def_data.c:188 +#: plugins/sudoers/def_data.c:190 #, c-format msgid "Length at which to wrap log file lines (0 for no wrap): %u" msgstr "Długość, na której zawijać linie logu (0 bez zawijania): %u" -#: plugins/sudoers/def_data.c:192 +#: plugins/sudoers/def_data.c:194 #, c-format msgid "Authentication timestamp timeout: %.1f minutes" msgstr "Limit czasu znacznika uwierzytelniania (w minutach): %.1f" -#: plugins/sudoers/def_data.c:196 +#: plugins/sudoers/def_data.c:198 #, c-format msgid "Password prompt timeout: %.1f minutes" msgstr "Limit czasu pytania o hasło (w minutach): %.1f" -#: plugins/sudoers/def_data.c:200 +#: plugins/sudoers/def_data.c:202 #, c-format msgid "Number of tries to enter a password: %u" msgstr "Liczba prób wpisania hasła: %u" -#: plugins/sudoers/def_data.c:204 +#: plugins/sudoers/def_data.c:206 #, c-format msgid "Umask to use or 0777 to use user's: 0%o" msgstr "Wartość umask lub 0777, aby użyć wartości użytkownika: 0%o" -#: plugins/sudoers/def_data.c:208 +#: plugins/sudoers/def_data.c:210 #, c-format msgid "Path to log file: %s" msgstr "Ścieżka do pliku logu: %s" -#: plugins/sudoers/def_data.c:212 +#: plugins/sudoers/def_data.c:214 #, c-format msgid "Path to mail program: %s" msgstr "Ścieżka do programu mail: %s" -#: plugins/sudoers/def_data.c:216 +#: plugins/sudoers/def_data.c:218 #, c-format msgid "Flags for mail program: %s" msgstr "Flagi dla programu mail: %s" -#: plugins/sudoers/def_data.c:220 +#: plugins/sudoers/def_data.c:222 #, c-format msgid "Address to send mail to: %s" msgstr "Adres, na który mają być wysyłane listy: %s" -#: plugins/sudoers/def_data.c:224 +#: plugins/sudoers/def_data.c:226 #, c-format msgid "Address to send mail from: %s" msgstr "Adres, z którego mają być wysyłane listy: %s" -#: plugins/sudoers/def_data.c:228 +#: plugins/sudoers/def_data.c:230 #, c-format msgid "Subject line for mail messages: %s" msgstr "Temat wysyłanych listów: %s" -#: plugins/sudoers/def_data.c:232 +#: plugins/sudoers/def_data.c:234 #, c-format msgid "Incorrect password message: %s" msgstr "Komunikat o błędnym haśle: %s" -#: plugins/sudoers/def_data.c:236 +#: plugins/sudoers/def_data.c:238 #, c-format msgid "Path to lecture status dir: %s" msgstr "Ścieżka katalogu stanu instrukcji: %s" -#: plugins/sudoers/def_data.c:240 +#: plugins/sudoers/def_data.c:242 #, c-format msgid "Path to authentication timestamp dir: %s" msgstr "Ścieżka katalogu znaczników czasu uwierzytelniania: %s" -#: plugins/sudoers/def_data.c:244 +#: plugins/sudoers/def_data.c:246 #, c-format msgid "Owner of the authentication timestamp dir: %s" msgstr "Właściciel katalogu znaczników czasu uwierzytelniania: %s" -#: plugins/sudoers/def_data.c:248 +#: plugins/sudoers/def_data.c:250 #, c-format msgid "Users in this group are exempt from password and PATH requirements: %s" msgstr "Grupa, której użytkownicy są zwolnieni z wymagań dot. haseł i PATH: %s" -#: plugins/sudoers/def_data.c:252 +#: plugins/sudoers/def_data.c:254 #, c-format msgid "Default password prompt: %s" msgstr "Domyślne pytanie o hasło: %s" -#: plugins/sudoers/def_data.c:256 +#: plugins/sudoers/def_data.c:258 msgid "If set, passprompt will override system prompt in all cases." msgstr "Czy passprompt ma być używane zamiast systemowego zapytania we wszystkich przypadkach" -#: plugins/sudoers/def_data.c:260 +#: plugins/sudoers/def_data.c:262 #, c-format msgid "Default user to run commands as: %s" msgstr "Domyślny użytkownik do uruchamiania poleceń: %s" -#: plugins/sudoers/def_data.c:264 +#: plugins/sudoers/def_data.c:266 #, c-format msgid "Value to override user's $PATH with: %s" msgstr "Wartość do podstawienia za $PATH użytkownika: %s" -#: plugins/sudoers/def_data.c:268 +#: plugins/sudoers/def_data.c:270 #, c-format msgid "Path to the editor for use by visudo: %s" msgstr "Ścieżka do edytora, który ma być używany przez visudo: %s" -#: plugins/sudoers/def_data.c:272 +#: plugins/sudoers/def_data.c:274 #, c-format msgid "When to require a password for 'list' pseudocommand: %s" msgstr "Kiedy ma być wymagane hasło dla pseudopolecenia 'list': %s" -#: plugins/sudoers/def_data.c:276 +#: plugins/sudoers/def_data.c:278 #, c-format msgid "When to require a password for 'verify' pseudocommand: %s" msgstr "Kiedy ma być wymagane hasło dla pseudopolecenia 'verify': %s" -#: plugins/sudoers/def_data.c:280 +#: plugins/sudoers/def_data.c:282 msgid "Preload the sudo_noexec library which replaces the exec functions" msgstr "Wczesne załadowanie biblioteki sudo_noexec, zastępującej funkcje exec" -#: plugins/sudoers/def_data.c:284 +#: plugins/sudoers/def_data.c:286 msgid "If LDAP directory is up, do we ignore local sudoers file" msgstr "Jeśli istnieje katalog LDAP, czy ignorować lokalny plik sudoers" -#: plugins/sudoers/def_data.c:288 +#: plugins/sudoers/def_data.c:290 #, c-format msgid "File descriptors >= %d will be closed before executing a command" msgstr "Deskryptory plików >= %d będą zamykane przed uruchomieniem polecenia" -#: plugins/sudoers/def_data.c:292 +#: plugins/sudoers/def_data.c:294 msgid "If set, users may override the value of \"closefrom\" with the -C option" msgstr "Czy użytkownicy mogą zmieniać wartość \"closefrom\" opcją -C" -#: plugins/sudoers/def_data.c:296 +#: plugins/sudoers/def_data.c:298 msgid "Allow users to set arbitrary environment variables" msgstr "Zezwolenie użytkownikom na ustawianie dowolnych zmiennych środowiskowych" -#: plugins/sudoers/def_data.c:300 +#: plugins/sudoers/def_data.c:302 msgid "Reset the environment to a default set of variables" msgstr "Wyczyszczenie środowiska do domyślnego zbioru zmiennych" -#: plugins/sudoers/def_data.c:304 +#: plugins/sudoers/def_data.c:306 msgid "Environment variables to check for safety:" msgstr "Zmienne środowiskowe do sprawdzania bezpieczeństwa:" -#: plugins/sudoers/def_data.c:308 +#: plugins/sudoers/def_data.c:310 msgid "Environment variables to remove:" msgstr "Zmienne środowiskowe do usunięcia:" -#: plugins/sudoers/def_data.c:312 +#: plugins/sudoers/def_data.c:314 msgid "Environment variables to preserve:" msgstr "Zmienne środowiskowe do zachowania:" -#: plugins/sudoers/def_data.c:316 +#: plugins/sudoers/def_data.c:318 #, c-format msgid "SELinux role to use in the new security context: %s" msgstr "Rola SELinuksa do używania w nowym kontekście bezpieczeństwa: %s" -#: plugins/sudoers/def_data.c:320 +#: plugins/sudoers/def_data.c:322 #, c-format msgid "SELinux type to use in the new security context: %s" msgstr "Typ SELinuksa do używania w nowym kontekście bezpieczeństwa: %s" -#: plugins/sudoers/def_data.c:324 +#: plugins/sudoers/def_data.c:326 #, c-format msgid "Path to the sudo-specific environment file: %s" msgstr "Ścieżka do pliku środowiska specyficznego dla sudo: %s" -#: plugins/sudoers/def_data.c:328 +#: plugins/sudoers/def_data.c:330 #, c-format msgid "Path to the restricted sudo-specific environment file: %s" msgstr "Ścieżka do pliku ograniczonego środowiska specyficznego dla sudo: %s" -#: plugins/sudoers/def_data.c:332 +#: plugins/sudoers/def_data.c:334 #, c-format msgid "Locale to use while parsing sudoers: %s" msgstr "Lokalizacja, jak ma być używana przy analizie pliku sudoers: %s" -#: plugins/sudoers/def_data.c:336 +#: plugins/sudoers/def_data.c:338 msgid "Allow sudo to prompt for a password even if it would be visible" msgstr "Zezwolenie sudo na pytanie o hasło nawet gdyby miało być widoczne" -#: plugins/sudoers/def_data.c:340 +#: plugins/sudoers/def_data.c:342 msgid "Provide visual feedback at the password prompt when there is user input" msgstr "Uwidocznienie wprowadzania hasła przez użytkownika w miarę wpisywania" -#: plugins/sudoers/def_data.c:344 +#: plugins/sudoers/def_data.c:346 msgid "Use faster globbing that is less accurate but does not access the filesystem" msgstr "Użycie szybszych masek (glob) - mniej dokładnych, ale nie odwołujących się do systemu plików" -#: plugins/sudoers/def_data.c:348 +#: plugins/sudoers/def_data.c:350 msgid "The umask specified in sudoers will override the user's, even if it is more permissive" msgstr "Wartość umask podana w sudoers ma zastąpić wartość użytkownika, nawet jeśli pozwala na więcej" -#: plugins/sudoers/def_data.c:352 +#: plugins/sudoers/def_data.c:354 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 +#: plugins/sudoers/def_data.c:358 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 +#: plugins/sudoers/def_data.c:362 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 +#: plugins/sudoers/def_data.c:366 msgid "Log the output of the command being run" msgstr "Logowanie wyjścia z uruchamianych poleceń" -#: plugins/sudoers/def_data.c:368 +#: plugins/sudoers/def_data.c:370 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 +#: plugins/sudoers/def_data.c:374 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 +#: plugins/sudoers/def_data.c:378 msgid "Log the terminal output of the command being run" msgstr "Logowanie wyjścia terminala z uruchamianych poleceń" -#: plugins/sudoers/def_data.c:380 +#: plugins/sudoers/def_data.c:382 msgid "Compress I/O logs using zlib" msgstr "Kompresja logów we/wy przy użyciu zliba" -#: plugins/sudoers/def_data.c:384 +#: plugins/sudoers/def_data.c:386 msgid "Always run commands in a pseudo-tty" msgstr "Uruchamianie poleceń zawsze na pseudoterminalu" -#: plugins/sudoers/def_data.c:388 +#: plugins/sudoers/def_data.c:390 #, c-format msgid "Plugin for non-Unix group support: %s" msgstr "Wtyczka do obsługi grup nieuniksowych: %s" -#: plugins/sudoers/def_data.c:392 +#: plugins/sudoers/def_data.c:394 #, 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:396 +#: plugins/sudoers/def_data.c:398 #, 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:400 +#: plugins/sudoers/def_data.c:402 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:404 +#: plugins/sudoers/def_data.c:406 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:408 +#: plugins/sudoers/def_data.c:410 #, c-format msgid "Set of permitted privileges: %s" msgstr "Zbiór dozwolonych uprawnień: %s" -#: plugins/sudoers/def_data.c:412 +#: plugins/sudoers/def_data.c:414 #, c-format msgid "Set of limit privileges: %s" msgstr "Zbiór ograniczonych uprawnień: %s" -#: plugins/sudoers/def_data.c:416 +#: plugins/sudoers/def_data.c:418 msgid "Run commands on a pty in the background" msgstr "Uruchomienie poleceń na pseudoterminalu w tle" -#: plugins/sudoers/def_data.c:420 +#: plugins/sudoers/def_data.c:422 #, c-format msgid "PAM service name to use: %s" msgstr "Nazwa usługi PAM do użycia: %s" -#: plugins/sudoers/def_data.c:424 +#: plugins/sudoers/def_data.c:426 #, 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:428 +#: plugins/sudoers/def_data.c:430 #, 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:432 +#: plugins/sudoers/def_data.c:434 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:436 +#: plugins/sudoers/def_data.c:438 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:440 +#: plugins/sudoers/def_data.c:442 msgid "Perform PAM account validation management" msgstr "Wykonanie zarządzania poprawnością konta PAM" -#: plugins/sudoers/def_data.c:444 +#: plugins/sudoers/def_data.c:446 +msgid "Do not allow PAM authentication modules to generate output" +msgstr "Bez zezwolenia na generowanie wyjścia przez moduły uwierzytelniające PAM" + +#: plugins/sudoers/def_data.c:450 #, c-format msgid "Maximum I/O log sequence number: %s" msgstr "Maksymalny numer sekwencji logu we/wy: %s" -#: plugins/sudoers/def_data.c:448 +#: plugins/sudoers/def_data.c:454 msgid "Enable sudoers netgroup support" msgstr "Włączenie obsługi grup sieciowych w sudoers" -#: plugins/sudoers/def_data.c:452 +#: plugins/sudoers/def_data.c:458 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:456 +#: plugins/sudoers/def_data.c:462 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:460 +#: plugins/sudoers/def_data.c:466 msgid "Query the group plugin for unknown system groups" msgstr "Odpytanie wtyczki group pod kątem nieznanych grup systemowych" -#: plugins/sudoers/def_data.c:464 +#: plugins/sudoers/def_data.c:470 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:468 +#: plugins/sudoers/def_data.c:474 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:472 +#: plugins/sudoers/def_data.c:478 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:476 +#: plugins/sudoers/def_data.c:482 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:480 +#: plugins/sudoers/def_data.c:486 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:484 +#: plugins/sudoers/def_data.c:490 #, 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:488 +#: plugins/sudoers/def_data.c:494 #, 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:492 +#: plugins/sudoers/def_data.c:498 #, 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:496 +#: plugins/sudoers/def_data.c:502 #, 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:500 +#: plugins/sudoers/def_data.c:506 #, 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:504 +#: plugins/sudoers/def_data.c:510 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:508 +#: plugins/sudoers/def_data.c:514 #, 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:512 +#: plugins/sudoers/def_data.c:518 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:516 +#: plugins/sudoers/def_data.c:522 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:520 +#: plugins/sudoers/def_data.c:526 msgid "Include the process ID when logging via syslog" msgstr "Dołączanie identyfikatora procesu przy logowaniu przez syslog" -#: plugins/sudoers/def_data.c:524 +#: plugins/sudoers/def_data.c:530 #, c-format msgid "Type of authentication timestamp record: %s" msgstr "Rodzaj rekordu znacznika czasu uwierzytelniania: %s" -#: plugins/sudoers/def_data.c:528 +#: plugins/sudoers/def_data.c:534 #, c-format msgid "Authentication failure message: %s" msgstr "Komunikat błędu uwierzytelnienia: %s" -#: plugins/sudoers/def_data.c:532 +#: plugins/sudoers/def_data.c:538 msgid "Ignore case when matching user names" msgstr "Ignorowanie wielkości liter przy dopasowywaniu nazw użytkownika" -#: plugins/sudoers/def_data.c:536 +#: plugins/sudoers/def_data.c:542 msgid "Ignore case when matching group names" msgstr "Ignorowanie wielkości liter przy dopasowywaniu nazw grup" -#: plugins/sudoers/def_data.c:540 +#: plugins/sudoers/def_data.c:546 msgid "Log when a command is allowed by sudoers" msgstr "Logowanie kiedy polecenie jest dozwolone przez sudoers" -#: plugins/sudoers/def_data.c:544 +#: plugins/sudoers/def_data.c:550 msgid "Log when a command is denied by sudoers" msgstr "Logowanie kiedy polecenie jest zabronione przez sudoers" -#: plugins/sudoers/def_data.c:548 +#: plugins/sudoers/def_data.c:554 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:552 +#: plugins/sudoers/def_data.c:558 #, 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:556 +#: plugins/sudoers/def_data.c:562 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:560 +#: plugins/sudoers/def_data.c:566 #, 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:564 +#: plugins/sudoers/def_data.c:570 #, c-format msgid "Path to the sudoers certificate file: %s" msgstr "Ścieżka do pliku certyfikatu sudoers: %s" -#: plugins/sudoers/def_data.c:568 +#: plugins/sudoers/def_data.c:574 #, 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:572 +#: plugins/sudoers/def_data.c:578 msgid "Verify that the log server's certificate is valid" msgstr "Sprawdzenie poprawności certyfikatu serwera logów" -#: plugins/sudoers/def_data.c:576 +#: plugins/sudoers/def_data.c:582 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:580 +#: plugins/sudoers/def_data.c:586 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:584 +#: plugins/sudoers/def_data.c:590 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:588 +#: plugins/sudoers/def_data.c:594 msgid "Set the pam remote host to the local host name" msgstr "Ustawienie hosta zdalnego PAM nazwę hosta lokalnego" -#: plugins/sudoers/def_data.c:592 +#: plugins/sudoers/def_data.c:598 #, 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:596 +#: plugins/sudoers/def_data.c:602 #, 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:600 +#: plugins/sudoers/def_data.c:606 #, c-format msgid "The format of logs to produce: %s" msgstr "Format logów do tworzenia: %s" -#: plugins/sudoers/def_data.c:604 +#: plugins/sudoers/def_data.c:610 msgid "Enable SELinux RBAC support" msgstr "Włączenie obsługi RBAC SELinux" -#: plugins/sudoers/def_data.c:608 +#: plugins/sudoers/def_data.c:614 #, 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:612 +#: plugins/sudoers/def_data.c:618 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:616 +#: plugins/sudoers/def_data.c:622 msgid "Log sub-commands run by the original command" msgstr "Logowanie podpoleceń uruchamianych przez pierwotne polecenie" -#: plugins/sudoers/def_data.c:620 +#: plugins/sudoers/def_data.c:626 msgid "Log the exit status of commands" msgstr "Logowanie stanu wyjścia poleceń" -#: plugins/sudoers/def_data.c:624 +#: plugins/sudoers/def_data.c:630 msgid "Subsequent commands in an intercepted session must be authenticated" msgstr "Dalsze polecenia w przechwyconej sesji muszą być uwierzytelniane" -#: plugins/sudoers/def_data.c:628 +#: plugins/sudoers/def_data.c:634 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:632 +#: plugins/sudoers/def_data.c:638 #, 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:636 +#: plugins/sudoers/def_data.c:642 #, 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:640 +#: plugins/sudoers/def_data.c:646 #, 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:644 +#: plugins/sudoers/def_data.c:650 #, 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:648 +#: plugins/sudoers/def_data.c:654 #, 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:652 +#: plugins/sudoers/def_data.c:658 #, 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:656 +#: plugins/sudoers/def_data.c:662 #, 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:660 +#: plugins/sudoers/def_data.c:666 #, 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:664 +#: plugins/sudoers/def_data.c:670 #, 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:668 +#: plugins/sudoers/def_data.c:674 #, 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:672 +#: plugins/sudoers/def_data.c:678 #, 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:676 +#: plugins/sudoers/def_data.c:682 msgid "Attempt authentication even when in non-interactive mode" msgstr "Próba uwierzytelnienia nawet w trybie nieinteraktywnym" -#: plugins/sudoers/def_data.c:680 +#: plugins/sudoers/def_data.c:686 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:684 +#: plugins/sudoers/def_data.c:690 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:688 +#: plugins/sudoers/def_data.c:694 #, 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:692 +#: plugins/sudoers/def_data.c:698 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 +#: plugins/sudoers/def_data.c:702 #, 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" +#: plugins/sudoers/def_data.c:706 +#, c-format +msgid "Command denial message: %s" +msgstr "Komunikat o odmowie wykonania: %s" + #: plugins/sudoers/defaults.c:207 #, c-format msgid "unknown defaults entry \"%s\"" @@ -2657,64 +2669,64 @@ 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:1176 plugins/sudoers/policy.c:213 -#: plugins/sudoers/policy.c:222 +#: plugins/sudoers/defaults.c:1189 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:1182 +#: plugins/sudoers/defaults.c:1195 #, c-format msgid "values for \"%s\" must start with a '/', '~', or '*'" msgstr "wartości \"%s\" muszą zaczynać się od '/', '~' lub '*'" -#: plugins/sudoers/defaults.c:1189 +#: plugins/sudoers/defaults.c:1202 #, c-format msgid "values for \"%s\" must start with a '/'" msgstr "wartości \"%s\" muszą zaczynać się od '/'" -#: plugins/sudoers/display.c:160 +#: plugins/sudoers/display.c:154 #, c-format msgid "LDAP Role: %s\n" msgstr "Rola LDAP: %s\n" -#: plugins/sudoers/display.c:163 +#: plugins/sudoers/display.c:157 #, c-format msgid "Sudoers entry: %s\n" msgstr "Wpis sudoers: %s\n" -#: plugins/sudoers/display.c:166 +#: plugins/sudoers/display.c:160 msgid " RunAsUsers: " msgstr " Jako użytkownicy: " -#: plugins/sudoers/display.c:181 +#: plugins/sudoers/display.c:175 msgid " RunAsGroups: " msgstr " Jako grupy: " -#: plugins/sudoers/display.c:191 +#: plugins/sudoers/display.c:185 msgid " Options: " msgstr " Opcje: " -#: plugins/sudoers/display.c:255 +#: plugins/sudoers/display.c:249 msgid " Commands:\n" msgstr " Polecenia:\n" -#: plugins/sudoers/display.c:478 +#: plugins/sudoers/display.c:472 #, c-format msgid "Matching Defaults entries for %s on %s:\n" msgstr "Pasujące wpisy Defaults dla %s na %s:\n" -#: plugins/sudoers/display.c:496 +#: plugins/sudoers/display.c:490 #, c-format msgid "Runas and Command-specific defaults for %s:\n" msgstr "Wartości specyficzne dla Runas i Command dla %s:\n" -#: plugins/sudoers/display.c:514 +#: plugins/sudoers/display.c:508 #, 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/display.c:530 +#: plugins/sudoers/display.c:524 #, 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" @@ -2728,15 +2740,15 @@ msgstr "zignorowano edytor: %.*s" msgid "editor arguments may not contain \"--\"" msgstr "argumenty edytora nie mogą zawierać \"--\"" -#: plugins/sudoers/env.c:426 +#: plugins/sudoers/env.c:443 msgid "sudo_putenv: corrupted envp, length mismatch" msgstr "sudo_putenv: uszkodzone envp, niezgodność długości" -#: plugins/sudoers/env.c:1119 +#: plugins/sudoers/env.c:1137 msgid "unable to rebuild the environment" msgstr "nie udało się przebudować środowiska" -#: plugins/sudoers/env.c:1199 +#: plugins/sudoers/env.c:1217 #, 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" @@ -2780,37 +2792,37 @@ msgstr "nie udało się przeanalizować maski sieciowej \"%s\"" msgid "Local IP address and netmask pairs:\n" msgstr "Pary lokalnych adresów IP i masek:\n" -#: plugins/sudoers/iolog.c:694 +#: plugins/sudoers/iolog.c:702 msgid "unable to update sequence file" msgstr "nie udało się uaktualnić pliku sekwencji" -#: plugins/sudoers/iolog.c:728 plugins/sudoers/iolog.c:917 -#: plugins/sudoers/iolog.c:1080 plugins/sudoers/iolog.c:1087 -#: plugins/sudoers/iolog.c:1209 plugins/sudoers/iolog.c:1216 -#: plugins/sudoers/iolog.c:1316 plugins/sudoers/iolog.c:1323 +#: plugins/sudoers/iolog.c:736 plugins/sudoers/iolog.c:925 +#: plugins/sudoers/iolog.c:1088 plugins/sudoers/iolog.c:1095 +#: plugins/sudoers/iolog.c:1217 plugins/sudoers/iolog.c:1224 +#: plugins/sudoers/iolog.c:1324 plugins/sudoers/iolog.c:1331 #, c-format msgid "unable to write to I/O log file: %s" msgstr "nie udało się zapisać do pliku logu we/wy: %s" -#: plugins/sudoers/iolog.c:736 +#: plugins/sudoers/iolog.c:744 #, c-format msgid "unable to create %s/%s" msgstr "nie udało się utworzyć %s/%s" -#: plugins/sudoers/iolog.c:965 +#: plugins/sudoers/iolog.c:973 #, 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:1065 plugins/sudoers/iolog.c:1194 -#: plugins/sudoers/iolog.c:1300 plugins/sudoers/timestamp.c:897 -#: plugins/sudoers/timestamp.c:989 plugins/sudoers/visudo.c:555 +#: plugins/sudoers/iolog.c:1073 plugins/sudoers/iolog.c:1202 +#: plugins/sudoers/iolog.c:1308 plugins/sudoers/timestamp.c:900 +#: plugins/sudoers/timestamp.c:992 plugins/sudoers/visudo.c:555 #: plugins/sudoers/visudo.c:561 msgid "unable to read the clock" msgstr "nie udało się odczytać zegara" -#: plugins/sudoers/iolog.c:1292 plugins/sudoers/log_client.c:1203 -#: plugins/sudoers/log_client.c:1213 plugins/sudoers/log_client.c:1217 +#: plugins/sudoers/iolog.c:1300 plugins/sudoers/log_client.c:1226 +#: plugins/sudoers/log_client.c:1236 plugins/sudoers/log_client.c:1240 #, c-format msgid "%s: internal error, invalid signal %d" msgstr "%s: błąd wewnętrzny, błędny sygnał %d" @@ -2857,15 +2869,15 @@ msgstr "nieobsługiwany rodzaj URI LDAP: %s" msgid "unable to mix ldap and ldaps URIs" msgstr "nie można mieszać URI ldap i ldaps" -#: 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 +#: plugins/sudoers/ldap_util.c:496 plugins/sudoers/ldap_util.c:503 +#: plugins/sudoers/ldap_util.c:511 plugins/sudoers/ldap_util.c:519 +#: plugins/sudoers/ldap_util.c:527 plugins/sudoers/ldap_util.c:535 +#: plugins/sudoers/ldap_util.c:543 plugins/sudoers/ldap_util.c:551 #, c-format msgid "duplicate sudoOption: %s%s%s" msgstr "powtórka sudoOption: %s%s%s" -#: plugins/sudoers/ldap_util.c:568 plugins/sudoers/ldap_util.c:570 +#: plugins/sudoers/ldap_util.c:569 plugins/sudoers/ldap_util.c:571 #, c-format msgid "unable to convert sudoOption: %s%s%s" msgstr "nie można skonwertować sudoOption: %s%s%s" @@ -2878,63 +2890,63 @@ 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:125 plugins/sudoers/log_client.c:412 -#: plugins/sudoers/log_client.c:1450 plugins/sudoers/log_client.c:2076 +#: plugins/sudoers/log_client.c:125 plugins/sudoers/log_client.c:421 +#: plugins/sudoers/log_client.c:1473 plugins/sudoers/log_client.c:2101 msgid "error in event loop" msgstr "błąd w pętli zdarzeń" -#: plugins/sudoers/log_client.c:205 +#: plugins/sudoers/log_client.c:214 #, 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:230 +#: plugins/sudoers/log_client.c:239 #, 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:252 +#: plugins/sudoers/log_client.c:261 #, c-format msgid "unable to load certificate %s" msgstr "nie udało się załadować certyfikatu %s" -#: plugins/sudoers/log_client.c:266 +#: plugins/sudoers/log_client.c:275 #, c-format msgid "unable to load private key %s" msgstr "nie udało się załadować klucza prywatnego %s" -#: plugins/sudoers/log_client.c:275 +#: plugins/sudoers/log_client.c:284 #, c-format msgid "Unable to allocate ssl object: %s" msgstr "Nie udało się przydzielić obiektu SSL: %s" -#: plugins/sudoers/log_client.c:364 plugins/sudoers/log_client.c:369 +#: plugins/sudoers/log_client.c:373 plugins/sudoers/log_client.c:378 #, 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:545 +#: plugins/sudoers/log_client.c:554 msgid "TLS initialization was unsuccessful" msgstr "Inicjowanie TLS nie powiodło się" -#: plugins/sudoers/log_client.c:555 +#: plugins/sudoers/log_client.c:564 msgid "TLS handshake was unsuccessful" msgstr "Powitanie TLS nie powiodło się" -#: plugins/sudoers/log_client.c:1221 +#: plugins/sudoers/log_client.c:1244 #, 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:1757 plugins/sudoers/log_client.c:1782 +#: plugins/sudoers/log_client.c:1780 plugins/sudoers/log_client.c:1805 msgid "lost connection to log server" msgstr "utracono połączenie z serwerem logów" -#: plugins/sudoers/log_client.c:1859 +#: plugins/sudoers/log_client.c:1882 msgid "missing write buffer" msgstr "brak bufora zapisu" -#: plugins/sudoers/log_client.c:2015 +#: plugins/sudoers/log_client.c:2040 msgid "unable to connect to log server" msgstr "nie udało się połączyć z serwerem logów" @@ -2947,42 +2959,55 @@ msgid "user NOT authorized on host" msgstr "użytkownik NIE jest autoryzowany na hoście" #: plugins/sudoers/logging.c:299 +msgid "setid command rejected in intercept mode" +msgstr "polecenie setid odrzucone w trybie przechwytywania" + +#: plugins/sudoers/logging.c:301 msgid "command not allowed" msgstr "polecenie niedozwolone" -#: plugins/sudoers/logging.c:320 +#: plugins/sudoers/logging.c:322 #, c-format msgid "%s is not in the sudoers file.\n" msgstr "%s nie jest w pliku sudoers.\n" -#: plugins/sudoers/logging.c:323 +#: plugins/sudoers/logging.c:325 #, 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:326 +#: plugins/sudoers/logging.c:328 plugins/sudoers/parser_warnx.c:59 +#, c-format +msgid "%s: %s\n" +msgstr "%s: %s\n" + +#: plugins/sudoers/logging.c:329 +msgid "setid commands are not permitted in intercept mode" +msgstr "polecenia setid noe są dozwolone w trybie przechwytywania" + +#: plugins/sudoers/logging.c:331 #, 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:339 +#: plugins/sudoers/logging.c:344 #, c-format msgid "Sorry, user %s is not allowed to execute '%s%s%s%s' as %s%s%s on %s.\n" msgstr "Niestety użytkownik %s nie ma uprawnień do uruchamiania '%s%s%s%s' jako %s%s%s na %s.\n" -#: plugins/sudoers/logging.c:350 +#: plugins/sudoers/logging.c:358 msgid "This incident has been reported to the administrator.\n" msgstr "Ten incydent został zgłoszony do administratora.\n" -#: plugins/sudoers/logging.c:387 plugins/sudoers/sudoers.c:547 -#: plugins/sudoers/sudoers.c:549 plugins/sudoers/sudoers.c:551 -#: plugins/sudoers/sudoers.c:553 plugins/sudoers/sudoers.c:777 -#: plugins/sudoers/sudoers.c:779 +#: plugins/sudoers/logging.c:395 plugins/sudoers/sudoers.c:564 +#: plugins/sudoers/sudoers.c:566 plugins/sudoers/sudoers.c:568 +#: plugins/sudoers/sudoers.c:570 plugins/sudoers/sudoers.c:794 +#: plugins/sudoers/sudoers.c:796 #, c-format msgid "%s: command not found" msgstr "%s: nie znaleziono polecenia" -#: plugins/sudoers/logging.c:389 plugins/sudoers/sudoers.c:543 +#: plugins/sudoers/logging.c:397 plugins/sudoers/sudoers.c:560 #, c-format msgid "" "ignoring \"%s\" found in '.'\n" @@ -2991,7 +3016,7 @@ msgstr "" "zignorowano plik \"%s\" znaleziony w '.'\n" "Proszę użyć \"sudo ./%s\", jeśli to \"%s\" ma być uruchomiony." -#: plugins/sudoers/logging.c:409 +#: plugins/sudoers/logging.c:417 #, c-format msgid "%u incorrect password attempt" msgid_plural "%u incorrect password attempts" @@ -2999,24 +3024,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:500 +#: plugins/sudoers/logging.c:508 msgid "authentication failure" msgstr "błąd uwierzytelniania" -#: plugins/sudoers/logging.c:539 plugins/sudoers/logging.c:558 +#: plugins/sudoers/logging.c:552 plugins/sudoers/logging.c:571 msgid "a password is required" msgstr "wymagane jest hasło" -#: plugins/sudoers/logging.c:881 +#: plugins/sudoers/logging.c:889 msgid "problem parsing sudoers" msgstr "problem przy analizie pliku sudoers" -#: plugins/sudoers/logging.c:922 plugins/sudoers/logging.c:930 +#: plugins/sudoers/logging.c:930 plugins/sudoers/logging.c:938 #, c-format msgid "%s:%d:%d: %s" msgstr "%s:%d:%d: %s" -#: plugins/sudoers/logging.c:1108 +#: plugins/sudoers/logging.c:1119 #, c-format msgid "unable to write log file %s" msgstr "nie udało się zapisać pliku logu %s" @@ -3046,11 +3071,6 @@ msgstr "błędny atrybut LDIF: %s" msgid "%s:%d:%d: %s\n" msgstr "%s:%d:%d: %s\n" -#: plugins/sudoers/parser_warnx.c:59 -#, c-format -msgid "%s: %s\n" -msgstr "%s: %s\n" - #: plugins/sudoers/pivot.c:71 msgid "unable to restore root directory" msgstr "nie udało się przywrócić katalogu głównego" @@ -3064,59 +3084,59 @@ msgstr "nie udało się przywrócić aktualnego katalogu roboczego" msgid "invalid %.*s set by sudo front-end" msgstr "błędna wartość %.*s ustawiona przez frontend sudo" -#: plugins/sudoers/policy.c:364 plugins/sudoers/testsudoers.c:329 +#: plugins/sudoers/policy.c:347 plugins/sudoers/testsudoers.c:329 msgid "unable to parse network address list" msgstr "nie udało się przeanalizować listy adresów sieciowych" -#: plugins/sudoers/policy.c:556 +#: plugins/sudoers/policy.c:555 msgid "user name not set by sudo front-end" msgstr "nazwa użytkownika nie ustawiona przez frontend sudo" -#: plugins/sudoers/policy.c:560 +#: plugins/sudoers/policy.c:559 msgid "user-ID not set by sudo front-end" msgstr "ID użytkownika nie ustawiony przez frontend sudo" -#: plugins/sudoers/policy.c:564 +#: plugins/sudoers/policy.c:563 msgid "group-ID not set by sudo front-end" msgstr "ID grupy nie ustawiony przez frontend sudo" -#: plugins/sudoers/policy.c:568 +#: plugins/sudoers/policy.c:567 msgid "host name not set by sudo front-end" msgstr "nazwa hosta nie ustawiona przez frontend sudo" -#: plugins/sudoers/policy.c:757 +#: plugins/sudoers/policy.c:765 #, c-format msgid "invalid working directory: %s" msgstr "błędny katalog roboczy: %s" -#: plugins/sudoers/policy.c:944 +#: plugins/sudoers/policy.c:952 #, c-format msgid "invalid chroot directory: %s" msgstr "błędny katalog chroot: %s" -#: plugins/sudoers/policy.c:1153 plugins/sudoers/visudo.c:919 +#: plugins/sudoers/policy.c:1163 plugins/sudoers/visudo.c:919 #: plugins/sudoers/visudo.c:1218 #, c-format msgid "unable to execute %s" msgstr "nie udało się wywołać %s" -#: plugins/sudoers/policy.c:1225 plugins/sudoers/policy.c:1260 -#: plugins/sudoers/policy.c:1282 plugins/sudoers/policy.c:1300 +#: plugins/sudoers/policy.c:1232 plugins/sudoers/policy.c:1267 +#: plugins/sudoers/policy.c:1289 plugins/sudoers/policy.c:1307 #, 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:1323 +#: plugins/sudoers/policy.c:1330 #, c-format msgid "Sudoers policy plugin version %s\n" msgstr "Wersja wtyczki polityki sudoers %s\n" -#: plugins/sudoers/policy.c:1325 +#: plugins/sudoers/policy.c:1332 #, c-format msgid "Sudoers file grammar version %d\n" msgstr "Wersja gramatyki pliku sudoers %d\n" -#: plugins/sudoers/policy.c:1329 +#: plugins/sudoers/policy.c:1336 #, c-format msgid "" "\n" @@ -3125,27 +3145,27 @@ msgstr "" "\n" "Ścieżka do sudoers: %s\n" -#: plugins/sudoers/policy.c:1332 +#: plugins/sudoers/policy.c:1339 #, c-format msgid "nsswitch path: %s\n" msgstr "ścieżka do nsswitch: %s\n" -#: plugins/sudoers/policy.c:1335 +#: plugins/sudoers/policy.c:1342 #, c-format msgid "ldap.conf path: %s\n" msgstr "ścieżka do ldap.conf: %s\n" -#: plugins/sudoers/policy.c:1337 +#: plugins/sudoers/policy.c:1344 #, c-format msgid "ldap.secret path: %s\n" msgstr "ścieżka do ldap.secret: %s\n" -#: plugins/sudoers/policy.c:1370 +#: plugins/sudoers/policy.c:1377 #, 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:1388 +#: plugins/sudoers/policy.c:1395 #, 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)" @@ -3192,24 +3212,24 @@ msgstr "nie udało się zapamiętać grupy %s" msgid "unable to cache group %s, already exists" msgstr "nie udało się zapamiętać grupy %s, już istnieje" -#: plugins/sudoers/pwutil.c:900 plugins/sudoers/pwutil.c:985 -#: plugins/sudoers/pwutil.c:1039 plugins/sudoers/pwutil.c:1095 +#: plugins/sudoers/pwutil.c:900 plugins/sudoers/pwutil.c:988 +#: plugins/sudoers/pwutil.c:1042 plugins/sudoers/pwutil.c:1101 #, c-format msgid "unable to cache group list for %s, already exists" msgstr "nie udało się zapamiętać listy grup dla %s, już istnieje" -#: plugins/sudoers/pwutil.c:906 plugins/sudoers/pwutil.c:990 -#: plugins/sudoers/pwutil.c:1045 plugins/sudoers/pwutil.c:1100 +#: plugins/sudoers/pwutil.c:906 plugins/sudoers/pwutil.c:993 +#: plugins/sudoers/pwutil.c:1048 plugins/sudoers/pwutil.c:1106 #, c-format msgid "unable to cache group list for %s" msgstr "nie udało się zapamiętać listy grup dla %s" -#: plugins/sudoers/pwutil.c:979 +#: plugins/sudoers/pwutil.c:982 #, c-format msgid "unable to parse groups for %s" msgstr "nie udało się przeanalizować grup dla %s" -#: plugins/sudoers/pwutil.c:1089 +#: plugins/sudoers/pwutil.c:1095 #, c-format msgid "unable to parse gids for %s" msgstr "nie udało się przeanalizować gidów dla %s" @@ -3338,82 +3358,82 @@ msgstr "użytkownik nie ma uprawnień do zmiany katalogu na %s" 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:542 +#: plugins/sudoers/sudoers.c:559 msgid "command in current directory" msgstr "polecenie w bieżącym katalogu" -#: plugins/sudoers/sudoers.c:557 +#: plugins/sudoers/sudoers.c:574 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:559 +#: plugins/sudoers/sudoers.c:576 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:561 +#: plugins/sudoers/sudoers.c:578 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:570 +#: plugins/sudoers/sudoers.c:587 msgid "user not allowed to set a command timeout" msgstr "użytkownik nie ma uprawnień do ustawienia limitu czasu polecenia" -#: plugins/sudoers/sudoers.c:572 +#: plugins/sudoers/sudoers.c:589 msgid "sorry, you are not allowed set a command timeout" msgstr "niestety brak uprawnień do ustawienia limitu czasu polecenia" -#: plugins/sudoers/sudoers.c:580 +#: plugins/sudoers/sudoers.c:597 msgid "user not allowed to preserve the environment" msgstr "użytkownik nie ma uprawnień do zachowania środowiska" -#: plugins/sudoers/sudoers.c:582 +#: plugins/sudoers/sudoers.c:599 msgid "sorry, you are not allowed to preserve the environment" msgstr "niestety brak uprawnień do zachowania środowiska" -#: plugins/sudoers/sudoers.c:618 +#: plugins/sudoers/sudoers.c:635 msgid "no command specified" msgstr "nie podano polecenia" -#: plugins/sudoers/sudoers.c:759 +#: plugins/sudoers/sudoers.c:776 msgid "error setting user-specified environment variables" msgstr "błąd ustawiania zmiennych środowiskowych podanych przez użytkownika" -#: plugins/sudoers/sudoers.c:1211 +#: plugins/sudoers/sudoers.c:1229 msgid "sudoedit doesn't need to be run via sudo" msgstr "sudoedit nie musi być uruchamiany przez sudo" -#: plugins/sudoers/sudoers.c:1296 plugins/sudoers/sudoreplay.c:1613 -#: plugins/sudoers/tsdump.c:138 +#: plugins/sudoers/sudoers.c:1314 plugins/sudoers/sudoreplay.c:1615 +#: plugins/sudoers/tsdump.c:151 #, c-format msgid "unable to read %s" msgstr "nie udało się odczytać %s" -#: plugins/sudoers/sudoers.c:1321 plugins/sudoers/visudo.c:1123 +#: plugins/sudoers/sudoers.c:1339 plugins/sudoers/visudo.c:1123 #, c-format msgid "%s is not a regular file" msgstr "%s nie jest zwykłym plikiem" -#: plugins/sudoers/sudoers.c:1325 plugins/sudoers/timestamp.c:272 toke.l:1355 +#: plugins/sudoers/sudoers.c:1343 plugins/sudoers/timestamp.c:272 toke.l:1335 #, 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:1330 plugins/sudoers/timestamp.c:279 toke.l:1360 +#: plugins/sudoers/sudoers.c:1348 plugins/sudoers/timestamp.c:279 toke.l:1340 #, c-format msgid "%s is world writable" msgstr "%s jest zapisywalny dla świata" -#: plugins/sudoers/sudoers.c:1334 plugins/sudoers/timestamp.c:284 toke.l:1363 +#: plugins/sudoers/sudoers.c:1352 plugins/sudoers/timestamp.c:284 toke.l:1343 #, 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:1363 +#: plugins/sudoers/sudoers.c:1381 #, c-format msgid "only root can use \"-c %s\"" msgstr "tylko root może używać \"-c %s\"" -#: plugins/sudoers/sudoers.c:1382 +#: plugins/sudoers/sudoers.c:1400 #, c-format msgid "unknown login class %s" msgstr "nieznana klasa logowania %s" @@ -3458,75 +3478,75 @@ msgstr "%s/czas: %s" msgid "Replaying sudo session: %s" msgstr "Odtwarzanie sesji sudo: %s" -#: plugins/sudoers/sudoreplay.c:634 +#: plugins/sudoers/sudoreplay.c:633 plugins/sudoers/sudoreplay.c:636 msgid "unable to set tty to raw mode" msgstr "nie udało się przestawić tty w tryb surowy" -#: plugins/sudoers/sudoreplay.c:685 +#: plugins/sudoers/sudoreplay.c:687 msgid "Warning: your terminal is too small to properly replay the log." msgstr "Uwaga: ten terminal jest za mały, aby właściwie odtworzyć log." -#: plugins/sudoers/sudoreplay.c:686 +#: plugins/sudoers/sudoreplay.c:688 #, c-format msgid "Log geometry is %d x %d, your terminal's geometry is %d x %d." msgstr "Geometria logu to %d x %d, geometria terminala to %d x %d." -#: plugins/sudoers/sudoreplay.c:714 +#: plugins/sudoers/sudoreplay.c:716 msgid "Replay finished, press any key to restore the terminal." msgstr "Odtwarzanie zakończone, proszę nacisnąć dowolny klawisz, aby odzyskać terminal." -#: plugins/sudoers/sudoreplay.c:1217 plugins/sudoers/sudoreplay.c:1247 +#: plugins/sudoers/sudoreplay.c:1219 plugins/sudoers/sudoreplay.c:1249 #, c-format msgid "ambiguous expression \"%s\"" msgstr "niejednoznaczne wyrażenie \"%s\"" -#: plugins/sudoers/sudoreplay.c:1269 +#: plugins/sudoers/sudoreplay.c:1271 msgid "unmatched ')' in expression" msgstr "niesparowany ')' w wyrażeniu" -#: plugins/sudoers/sudoreplay.c:1273 +#: plugins/sudoers/sudoreplay.c:1275 #, c-format msgid "unknown search term \"%s\"" msgstr "nieznany warunek wyszukiwania \"%s\"" -#: plugins/sudoers/sudoreplay.c:1288 +#: plugins/sudoers/sudoreplay.c:1290 #, c-format msgid "%s requires an argument" msgstr "%s wymaga argumentu" -#: plugins/sudoers/sudoreplay.c:1298 +#: plugins/sudoers/sudoreplay.c:1300 #, c-format msgid "could not parse date \"%s\"" msgstr "nie udało się przeanalizować daty \"%s\"" -#: plugins/sudoers/sudoreplay.c:1307 +#: plugins/sudoers/sudoreplay.c:1309 msgid "unmatched '(' in expression" msgstr "niesparowany '(' w wyrażeniu" -#: plugins/sudoers/sudoreplay.c:1309 +#: plugins/sudoers/sudoreplay.c:1311 msgid "illegal trailing \"or\"" msgstr "niedozwolone kończące \"or\"" -#: plugins/sudoers/sudoreplay.c:1311 +#: plugins/sudoers/sudoreplay.c:1313 msgid "illegal trailing \"!\"" msgstr "niedozwolony kończący \"!\"" -#: plugins/sudoers/sudoreplay.c:1417 +#: plugins/sudoers/sudoreplay.c:1419 #, c-format msgid "unknown search type %d" msgstr "nieznany typ wyszukiwania %d" -#: plugins/sudoers/sudoreplay.c:1679 +#: plugins/sudoers/sudoreplay.c:1681 #, 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:1681 +#: plugins/sudoers/sudoreplay.c:1683 #, 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:1695 +#: plugins/sudoers/sudoreplay.c:1697 #, c-format msgid "" "%s - replay sudo session logs\n" @@ -3535,7 +3555,7 @@ msgstr "" "%s - odtwarzanie logów sesji sudo\n" "\n" -#: plugins/sudoers/sudoreplay.c:1697 +#: plugins/sudoers/sudoreplay.c:1699 msgid "" "\n" "Options:\n" @@ -3612,26 +3632,26 @@ msgstr "" "\n" "Polecenie nie znalezione" -#: plugins/sudoers/timestamp.c:364 plugins/sudoers/timestamp.c:711 +#: plugins/sudoers/timestamp.c:364 plugins/sudoers/timestamp.c:714 #, 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:908 +#: plugins/sudoers/timestamp.c:911 msgid "ignoring time stamp from the future" msgstr "znacznik czasu zbyt daleko w przyszłości" -#: plugins/sudoers/timestamp.c:931 +#: plugins/sudoers/timestamp.c:934 #, 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:1067 +#: plugins/sudoers/timestamp.c:1070 #, c-format msgid "unable to lock time stamp file %s" msgstr "nie udało się zablokować pliku znacznika czasu %s" -#: plugins/sudoers/timestamp.c:1114 +#: plugins/sudoers/timestamp.c:1117 #, c-format msgid "%s:%d:%d timestampowner: unknown user %s" msgstr "%s:%d:%d timestampowner: nieznany użytkownik %s" @@ -3833,18 +3853,18 @@ msgstr "błędna kontynuacja linii" msgid "invalid IPv6 address" msgstr "błędny adres IPv6" -#: toke.l:863 +#: toke.l:843 msgid "unexpected line break in string" msgstr "nieoczekiwany koniec linii w łańcuchu" -#: toke.l:982 +#: toke.l:962 msgid "ignoring editor backup file" msgstr "zignorowano plik kopii zapasowej edytora" -#: toke.l:985 +#: toke.l:965 msgid "ignoring file name containing '.'" msgstr "zignorowano nazwę pliku zawierającą" -#: toke.l:1310 +#: toke.l:1290 msgid "too many levels of includes" msgstr "za dużo poziomów include" diff --git a/plugins/sudoers/po/ro.mo b/plugins/sudoers/po/ro.mo index 3e65c4055..a00dc95e6 100644 Binary files a/plugins/sudoers/po/ro.mo and b/plugins/sudoers/po/ro.mo differ diff --git a/plugins/sudoers/po/ro.po b/plugins/sudoers/po/ro.po index ee45d3b98..220018138 100644 --- a/plugins/sudoers/po/ro.po +++ b/plugins/sudoers/po/ro.po @@ -4,7 +4,7 @@ # This file is distributed under the same license as the sudo package. # # Florentina Mușat , 2020. -# Remus-Gabriel Chelu , 2022, 2023. +# Remus-Gabriel Chelu , 2022, 2023, 2024. # # Cronologia traducerii fișierului „sudoers”: # Traducera inițială, făcută de FM, pentru versiunea sudoers 1.9.2rc1. @@ -15,15 +15,17 @@ # Actualizare a traducerii pentru versiunea 1.9.13b2, făcută de R-GC, ian-2023. # Actualizare a traducerii pentru versiunea 1.9.14b1, făcută de R-GC, iun-2023. # Actualizare a traducerii pentru versiunea 1.9.15b1, făcută de R-GC, oct-2023. +# Corectare a unei greșeli de dactilografiere prezentă din versiunea 1.9.13b2, făcută de R-GC, oct-2023. +# Actualizare a traducerii pentru versiunea 1.9.16b1, făcută de R-GC, iun-2024. # Actualizare a traducerii pentru versiunea Y, făcută de X, Z(luna-anul). # # msgid "" msgstr "" -"Project-Id-Version: sudoers 1.9.15b1\n" +"Project-Id-Version: sudoers 1.9.16b1\n" "Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n" -"POT-Creation-Date: 2023-10-19 10:02-0600\n" -"PO-Revision-Date: 2023-10-21 14:58+0200\n" +"POT-Creation-Date: 2024-06-08 09:06-0600\n" +"PO-Revision-Date: 2024-06-16 18:44+0200\n" "Last-Translator: Remus-Gabriel Chelu \n" "Language-Team: Romanian \n" "Language: ro\n" @@ -32,9 +34,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.2.2\n" +"X-Generator: Poedit 3.4.3\n" -#: confstr.sh:1 gram.y:1257 plugins/sudoers/logging.c:911 +#: confstr.sh:1 gram.y:1240 plugins/sudoers/logging.c:919 msgid "syntax error" msgstr "eroare de sintaxă" @@ -59,16 +61,16 @@ msgid "Sorry, try again." msgstr "Încercați din nou." #: gram.y:238 gram.y:305 gram.y:314 gram.y:323 gram.y:333 gram.y:343 gram.y:367 -#: gram.y:394 gram.y:403 gram.y:411 gram.y:420 gram.y:429 gram.y:503 gram.y:513 -#: gram.y:525 gram.y:573 gram.y:582 gram.y:591 gram.y:600 gram.y:733 gram.y:742 -#: gram.y:757 gram.y:777 gram.y:796 gram.y:959 gram.y:964 gram.y:972 gram.y:986 -#: gram.y:992 gram.y:1004 gram.y:1010 gram.y:1135 gram.y:1144 gram.y:1152 -#: gram.y:1161 gram.y:1170 gram.y:1199 gram.y:1208 gram.y:1216 gram.y:1317 -#: gram.y:1447 gram.y:1829 gram.y:1840 gram.y:1922 lib/eventlog/eventlog.c:236 -#: lib/eventlog/eventlog.c:313 lib/eventlog/eventlog.c:765 -#: lib/eventlog/eventlog.c:842 lib/eventlog/eventlog.c:1175 -#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:484 -#: lib/eventlog/parse_json.c:514 lib/iolog/iolog_filter.c:142 +#: gram.y:394 gram.y:403 gram.y:411 gram.y:420 gram.y:429 gram.y:502 gram.y:512 +#: gram.y:524 gram.y:566 gram.y:575 gram.y:584 gram.y:593 gram.y:726 gram.y:735 +#: gram.y:750 gram.y:770 gram.y:789 gram.y:942 gram.y:947 gram.y:955 gram.y:969 +#: gram.y:975 gram.y:987 gram.y:993 gram.y:1118 gram.y:1127 gram.y:1135 +#: gram.y:1144 gram.y:1153 gram.y:1182 gram.y:1191 gram.y:1199 gram.y:1300 +#: gram.y:1430 gram.y:1811 gram.y:1822 gram.y:1898 lib/eventlog/eventlog.c:236 +#: lib/eventlog/eventlog.c:313 lib/eventlog/eventlog.c:778 +#: lib/eventlog/eventlog.c:855 lib/eventlog/eventlog.c:1189 +#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:501 +#: lib/eventlog/parse_json.c:531 lib/iolog/iolog_filter.c:142 #: lib/iolog/iolog_filter.c:202 lib/iolog/iolog_filter.c:233 #: lib/iolog/iolog_legacy.c:101 lib/iolog/iolog_legacy.c:112 #: lib/iolog/iolog_legacy.c:124 lib/iolog/iolog_legacy.c:134 @@ -79,13 +81,13 @@ msgstr "Încercați din nou." #: logsrvd/iolog_writer.c:218 logsrvd/iolog_writer.c:228 #: logsrvd/iolog_writer.c:257 logsrvd/iolog_writer.c:278 #: logsrvd/iolog_writer.c:290 logsrvd/iolog_writer.c:300 -#: logsrvd/iolog_writer.c:310 logsrvd/iolog_writer.c:320 -#: logsrvd/iolog_writer.c:330 logsrvd/iolog_writer.c:342 -#: logsrvd/iolog_writer.c:377 logsrvd/iolog_writer.c:383 -#: logsrvd/iolog_writer.c:390 logsrvd/iolog_writer.c:396 -#: logsrvd/iolog_writer.c:580 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:323 -#: logsrvd/logsrvd.c:1057 logsrvd/logsrvd.c:1120 logsrvd/logsrvd.c:1589 -#: logsrvd/logsrvd.c:1594 logsrvd/logsrvd.c:1781 logsrvd/logsrvd.c:2003 +#: logsrvd/iolog_writer.c:318 logsrvd/iolog_writer.c:328 +#: logsrvd/iolog_writer.c:338 logsrvd/iolog_writer.c:350 +#: logsrvd/iolog_writer.c:385 logsrvd/iolog_writer.c:391 +#: logsrvd/iolog_writer.c:398 logsrvd/iolog_writer.c:404 +#: logsrvd/iolog_writer.c:588 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:324 +#: logsrvd/logsrvd.c:1058 logsrvd/logsrvd.c:1121 logsrvd/logsrvd.c:1599 +#: logsrvd/logsrvd.c:1604 logsrvd/logsrvd.c:1791 logsrvd/logsrvd.c:2046 #: 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 @@ -93,11 +95,11 @@ msgstr "Încercați din nou." #: 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_conf.c:829 logsrvd/logsrvd_conf.c:1041 +#: logsrvd/logsrvd_conf.c:1058 logsrvd/logsrvd_conf.c:1453 +#: logsrvd/logsrvd_conf.c:1600 logsrvd/logsrvd_conf.c:1626 +#: logsrvd/logsrvd_conf.c:1638 logsrvd/logsrvd_conf.c:1645 +#: logsrvd/logsrvd_conf.c:1651 logsrvd/logsrvd_conf.c:1748 #: logsrvd/logsrvd_journal.c:76 logsrvd/logsrvd_journal.c:216 #: logsrvd/logsrvd_journal.c:217 logsrvd/logsrvd_journal.c:274 #: logsrvd/logsrvd_journal.c:279 logsrvd/logsrvd_journal.c:439 @@ -110,10 +112,10 @@ msgstr "Încercați din nou." #: logsrvd/logsrvd_queue.c:266 logsrvd/logsrvd_relay.c:446 #: logsrvd/logsrvd_relay.c:748 logsrvd/logsrvd_relay.c:855 #: logsrvd/sendlog.c:256 logsrvd/sendlog.c:265 logsrvd/sendlog.c:297 -#: logsrvd/sendlog.c:303 logsrvd/sendlog.c:352 logsrvd/sendlog.c:630 -#: logsrvd/sendlog.c:1822 plugins/sudoers/audit.c:118 -#: plugins/sudoers/auth/bsdauth.c:154 plugins/sudoers/auth/kerb5.c:122 -#: plugins/sudoers/auth/kerb5.c:150 plugins/sudoers/auth/pam.c:697 +#: logsrvd/sendlog.c:303 logsrvd/sendlog.c:352 logsrvd/sendlog.c:651 +#: logsrvd/sendlog.c:1847 plugins/sudoers/audit.c:118 +#: plugins/sudoers/auth/bsdauth.c:154 plugins/sudoers/auth/kerb5.c:123 +#: plugins/sudoers/auth/kerb5.c:151 plugins/sudoers/auth/pam.c:697 #: plugins/sudoers/auth/rfc1938.c:112 plugins/sudoers/auth/sia.c:61 #: plugins/sudoers/canon_path.c:129 plugins/sudoers/canon_path.c:161 #: plugins/sudoers/check_aliases.c:128 plugins/sudoers/check_util.c:56 @@ -123,33 +125,30 @@ msgstr "Încercați din nou." #: plugins/sudoers/cvtsudoers.c:379 plugins/sudoers/cvtsudoers.c:399 #: plugins/sudoers/cvtsudoers.c:545 plugins/sudoers/cvtsudoers.c:698 #: plugins/sudoers/cvtsudoers.c:716 plugins/sudoers/cvtsudoers.c:891 -#: plugins/sudoers/cvtsudoers.c:899 plugins/sudoers/cvtsudoers.c:1395 -#: plugins/sudoers/cvtsudoers.c:1399 plugins/sudoers/cvtsudoers.c:1501 -#: plugins/sudoers/cvtsudoers_csv.c:183 plugins/sudoers/cvtsudoers_csv.c:247 -#: plugins/sudoers/cvtsudoers_json.c:76 plugins/sudoers/cvtsudoers_ldif.c:152 -#: plugins/sudoers/cvtsudoers_ldif.c:195 plugins/sudoers/cvtsudoers_ldif.c:236 -#: plugins/sudoers/cvtsudoers_ldif.c:302 plugins/sudoers/cvtsudoers_ldif.c:378 -#: plugins/sudoers/cvtsudoers_ldif.c:432 plugins/sudoers/cvtsudoers_ldif.c:440 -#: plugins/sudoers/cvtsudoers_ldif.c:451 plugins/sudoers/cvtsudoers_ldif.c:458 -#: plugins/sudoers/cvtsudoers_ldif.c:470 plugins/sudoers/cvtsudoers_ldif.c:483 -#: plugins/sudoers/cvtsudoers_ldif.c:491 plugins/sudoers/cvtsudoers_ldif.c:638 -#: 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:455 -#: plugins/sudoers/defaults.c:689 plugins/sudoers/defaults.c:1051 -#: plugins/sudoers/defaults.c:1235 plugins/sudoers/editor.c:198 -#: plugins/sudoers/env.c:263 plugins/sudoers/exptilde.c:92 +#: plugins/sudoers/cvtsudoers.c:899 plugins/sudoers/cvtsudoers.c:1393 +#: plugins/sudoers/cvtsudoers.c:1397 plugins/sudoers/cvtsudoers.c:1497 +#: plugins/sudoers/cvtsudoers_csv.c:182 plugins/sudoers/cvtsudoers_csv.c:255 +#: plugins/sudoers/cvtsudoers_json.c:604 plugins/sudoers/cvtsudoers_json.c:639 +#: plugins/sudoers/cvtsudoers_json.c:1016 +#: plugins/sudoers/cvtsudoers_json.c:1041 plugins/sudoers/cvtsudoers_ldif.c:112 +#: plugins/sudoers/cvtsudoers_ldif.c:144 plugins/sudoers/cvtsudoers_ldif.c:260 +#: plugins/sudoers/cvtsudoers_ldif.c:573 plugins/sudoers/cvtsudoers_ldif.c:586 +#: plugins/sudoers/cvtsudoers_ldif.c:591 plugins/sudoers/cvtsudoers_ldif.c:761 +#: plugins/sudoers/cvtsudoers_merge.c:57 plugins/sudoers/cvtsudoers_merge.c:357 +#: plugins/sudoers/cvtsudoers_merge.c:405 +#: plugins/sudoers/cvtsudoers_merge.c:454 +#: plugins/sudoers/cvtsudoers_merge.c:476 +#: plugins/sudoers/cvtsudoers_merge.c:588 +#: plugins/sudoers/cvtsudoers_merge.c:664 +#: plugins/sudoers/cvtsudoers_merge.c:1197 +#: plugins/sudoers/cvtsudoers_merge.c:1281 plugins/sudoers/defaults.c:455 +#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1062 +#: plugins/sudoers/defaults.c:1248 plugins/sudoers/editor.c:198 +#: plugins/sudoers/env.c:280 plugins/sudoers/exptilde.c:92 #: plugins/sudoers/filedigest.c:66 plugins/sudoers/filedigest.c:70 #: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:212 -#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268 -#: plugins/sudoers/iolog.c:675 plugins/sudoers/iolog.c:703 +#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:270 +#: plugins/sudoers/iolog.c:683 plugins/sudoers/iolog.c:711 #: plugins/sudoers/ldap.c:161 plugins/sudoers/ldap.c:448 #: plugins/sudoers/ldap.c:625 plugins/sudoers/ldap.c:789 #: plugins/sudoers/ldap.c:1214 plugins/sudoers/ldap.c:1642 @@ -159,23 +158,23 @@ msgstr "Încercați din nou." #: plugins/sudoers/ldap_conf.c:299 plugins/sudoers/ldap_conf.c:335 #: plugins/sudoers/ldap_conf.c:441 plugins/sudoers/ldap_conf.c:456 #: plugins/sudoers/ldap_conf.c:565 plugins/sudoers/ldap_conf.c:598 -#: plugins/sudoers/ldap_conf.c:694 plugins/sudoers/ldap_conf.c:776 +#: plugins/sudoers/ldap_conf.c:696 plugins/sudoers/ldap_conf.c:778 #: 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:717 plugins/sudoers/log_client.c:739 -#: plugins/sudoers/log_client.c:744 plugins/sudoers/log_client.c:1426 -#: plugins/sudoers/log_client.c:1547 plugins/sudoers/log_client.c:1670 -#: plugins/sudoers/log_client.c:1993 plugins/sudoers/log_client.c:2052 +#: plugins/sudoers/ldap_util.c:615 plugins/sudoers/linux_audit.c:86 +#: plugins/sudoers/log_client.c:117 plugins/sudoers/log_client.c:411 +#: plugins/sudoers/log_client.c:726 plugins/sudoers/log_client.c:748 +#: plugins/sudoers/log_client.c:753 plugins/sudoers/log_client.c:1449 +#: plugins/sudoers/log_client.c:1570 plugins/sudoers/log_client.c:1693 +#: plugins/sudoers/log_client.c:2018 plugins/sudoers/log_client.c:2077 #: plugins/sudoers/logging.c:110 plugins/sudoers/logging.c:190 -#: plugins/sudoers/logging.c:475 plugins/sudoers/logging.c:711 -#: plugins/sudoers/logging.c:872 plugins/sudoers/lookup.c:338 -#: plugins/sudoers/lookup.c:355 plugins/sudoers/lookup.c:374 -#: plugins/sudoers/lookup.c:393 plugins/sudoers/lookup.c:410 -#: plugins/sudoers/lookup.c:433 plugins/sudoers/lookup.c:444 -#: plugins/sudoers/match_command.c:302 plugins/sudoers/match_command.c:574 -#: plugins/sudoers/match_command.c:641 plugins/sudoers/match_command.c:737 -#: plugins/sudoers/match_command.c:785 plugins/sudoers/match_digest.c:88 +#: plugins/sudoers/logging.c:483 plugins/sudoers/logging.c:723 +#: plugins/sudoers/logging.c:880 plugins/sudoers/lookup.c:331 +#: plugins/sudoers/lookup.c:348 plugins/sudoers/lookup.c:366 +#: plugins/sudoers/lookup.c:384 plugins/sudoers/lookup.c:401 +#: plugins/sudoers/lookup.c:423 plugins/sudoers/lookup.c:434 +#: plugins/sudoers/match_command.c:280 plugins/sudoers/match_command.c:544 +#: plugins/sudoers/match_command.c:608 plugins/sudoers/match_command.c:702 +#: plugins/sudoers/match_command.c:750 plugins/sudoers/match_digest.c:88 #: 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 @@ -186,107 +185,107 @@ msgstr "Încercați din nou." #: 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:646 plugins/sudoers/policy.c:1061 +#: plugins/sudoers/policy.c:654 plugins/sudoers/policy.c:1071 #: plugins/sudoers/prompt.c:94 plugins/sudoers/pwutil.c:219 #: plugins/sudoers/pwutil.c:290 plugins/sudoers/pwutil.c:368 #: plugins/sudoers/pwutil.c:542 plugins/sudoers/pwutil.c:607 #: plugins/sudoers/pwutil.c:679 plugins/sudoers/pwutil.c:877 -#: plugins/sudoers/pwutil.c:967 plugins/sudoers/pwutil.c:1015 -#: plugins/sudoers/pwutil.c:1076 plugins/sudoers/sethost.c:85 +#: plugins/sudoers/pwutil.c:970 plugins/sudoers/pwutil.c:1018 +#: plugins/sudoers/pwutil.c:1082 plugins/sudoers/sethost.c:89 #: plugins/sudoers/sssd.c:145 plugins/sudoers/sssd.c:186 #: plugins/sudoers/sssd.c:415 plugins/sudoers/sssd.c:480 #: plugins/sudoers/sssd.c:507 plugins/sudoers/sssd.c:570 #: plugins/sudoers/sssd.c:765 plugins/sudoers/strvec_join.c:53 #: plugins/sudoers/sudoers.c:405 plugins/sudoers/sudoers.c:412 -#: plugins/sudoers/sudoers.c:656 plugins/sudoers/sudoers.c:666 -#: plugins/sudoers/sudoers.c:811 plugins/sudoers/sudoers.c:877 -#: plugins/sudoers/sudoers.c:936 plugins/sudoers/sudoers.c:985 -#: plugins/sudoers/sudoers.c:1144 plugins/sudoers/sudoers.c:1213 -#: plugins/sudoers/sudoers.c:1307 plugins/sudoers/sudoers_cb.c:150 +#: plugins/sudoers/sudoers.c:673 plugins/sudoers/sudoers.c:683 +#: plugins/sudoers/sudoers.c:828 plugins/sudoers/sudoers.c:894 +#: plugins/sudoers/sudoers.c:953 plugins/sudoers/sudoers.c:1002 +#: plugins/sudoers/sudoers.c:1162 plugins/sudoers/sudoers.c:1231 +#: plugins/sudoers/sudoers.c:1325 plugins/sudoers/sudoers_cb.c:150 #: plugins/sudoers/sudoreplay.c:559 plugins/sudoers/sudoreplay.c:562 -#: plugins/sudoers/sudoreplay.c:1279 plugins/sudoers/sudoreplay.c:1335 -#: plugins/sudoers/sudoreplay.c:1531 plugins/sudoers/sudoreplay.c:1535 +#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1337 +#: plugins/sudoers/sudoreplay.c:1533 plugins/sudoers/sudoreplay.c:1537 #: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:256 #: plugins/sudoers/testsudoers.c:265 plugins/sudoers/testsudoers.c:275 #: plugins/sudoers/testsudoers.c:282 plugins/sudoers/testsudoers.c:302 -#: plugins/sudoers/testsudoers.c:758 plugins/sudoers/timestamp.c:469 -#: plugins/sudoers/timestamp.c:513 plugins/sudoers/timestamp.c:1042 -#: plugins/sudoers/timestamp.c:1216 plugins/sudoers/toke_util.c:79 +#: plugins/sudoers/testsudoers.c:756 plugins/sudoers/timestamp.c:468 +#: plugins/sudoers/timestamp.c:514 plugins/sudoers/timestamp.c:1045 +#: plugins/sudoers/timestamp.c:1248 plugins/sudoers/toke_util.c:79 #: plugins/sudoers/toke_util.c:108 plugins/sudoers/toke_util.c:134 #: plugins/sudoers/toke_util.c:164 plugins/sudoers/toke_util.c:204 -#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:151 +#: plugins/sudoers/tsdump.c:136 plugins/sudoers/visudo.c:151 #: plugins/sudoers/visudo.c:258 plugins/sudoers/visudo.c:383 #: plugins/sudoers/visudo.c:389 plugins/sudoers/visudo.c:501 #: plugins/sudoers/visudo.c:1073 plugins/sudoers/visudo.c:1095 -#: plugins/sudoers/visudo.c:1189 toke.l:1031 toke.l:1194 toke.l:1213 -#: toke.l:1240 toke.l:1320 +#: plugins/sudoers/visudo.c:1189 toke.l:1011 toke.l:1174 toke.l:1193 +#: toke.l:1220 toke.l:1300 msgid "unable to allocate memory" msgstr "nu se poate aloca memoria" -#: gram.y:624 +#: gram.y:617 msgid "a digest requires a path name" msgstr "tabelul sumelor de control necesită un nume de rută" -#: gram.y:646 +#: gram.y:639 msgid "values for \"CWD\" must start with a '/', '~', or '*'" msgstr "valorile pentru „CWD” trebuie să înceapă cu un caracter: „/”, „~”, sau „*”" -#: gram.y:652 +#: gram.y:645 msgid "\"CWD\" path too long" msgstr "ruta „CWD” este prea lungă" -#: gram.y:662 +#: gram.y:655 msgid "values for \"CHROOT\" must start with a '/', '~', or '*'" msgstr "valorile pentru „CHROOT” trebuie să înceapă cu un caracter: „/”, „~”, sau „*”" -#: gram.y:668 +#: gram.y:661 msgid "\"CHROOT\" path too long" msgstr "ruta „CHROOT” este prea lungă" -#: gram.y:817 +#: gram.y:810 #, 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:840 +#: gram.y:833 msgid "invalid notbefore value" msgstr "valoare „notbefore” nevalidă" -#: gram.y:849 +#: gram.y:842 msgid "invalid notafter value" msgstr "valoare „notafter” nevalidă" -#: gram.y:859 plugins/sudoers/policy.c:390 +#: gram.y:852 plugins/sudoers/policy.c:373 msgid "timeout value too large" msgstr "limită de timp prea mare" -#: gram.y:861 plugins/sudoers/policy.c:392 +#: gram.y:854 plugins/sudoers/policy.c:375 msgid "invalid timeout value" msgstr "valoare de limită de timp nevalidă" -#: gram.y:982 plugins/sudoers/sudoers.c:1162 +#: gram.y:965 plugins/sudoers/sudoers.c:1180 msgid "command too long" msgstr "comandă prea lungă" -#: gram.y:1016 +#: gram.y:999 msgid "expected a fully-qualified path name" msgstr "se aștepta un nume de rută complet calificat" -#: gram.y:1261 +#: gram.y:1244 #, c-format msgid "%s:%d:%zu: %s\n" msgstr "%s:%d:%zu: %s\n" -#: gram.y:1315 +#: gram.y:1298 #, c-format msgid "Alias \"%s\" already defined" msgstr "Aliasul „%s” este deja definit" -#: gram.y:1829 gram.y:1840 gram.y:1922 lib/eventlog/eventlog.c:236 -#: lib/eventlog/eventlog.c:765 lib/eventlog/eventlog.c:838 -#: lib/eventlog/eventlog.c:841 lib/eventlog/eventlog.c:1175 -#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:483 -#: lib/eventlog/parse_json.c:514 lib/iolog/iolog_filter.c:142 +#: gram.y:1811 gram.y:1822 gram.y:1898 lib/eventlog/eventlog.c:236 +#: lib/eventlog/eventlog.c:778 lib/eventlog/eventlog.c:851 +#: lib/eventlog/eventlog.c:854 lib/eventlog/eventlog.c:1189 +#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:500 +#: lib/eventlog/parse_json.c:531 lib/iolog/iolog_filter.c:142 #: lib/iolog/iolog_filter.c:202 lib/iolog/iolog_filter.c:232 #: lib/iolog/iolog_legacy.c:101 lib/iolog/iolog_legacy.c:112 #: lib/iolog/iolog_legacy.c:124 lib/iolog/iolog_legacy.c:134 @@ -299,16 +298,16 @@ msgstr "Aliasul „%s” este deja definit" #: logsrvd/iolog_writer.c:246 logsrvd/iolog_writer.c:256 #: logsrvd/iolog_writer.c:267 logsrvd/iolog_writer.c:277 #: logsrvd/iolog_writer.c:289 logsrvd/iolog_writer.c:299 -#: logsrvd/iolog_writer.c:309 logsrvd/iolog_writer.c:319 -#: logsrvd/iolog_writer.c:329 logsrvd/iolog_writer.c:341 -#: logsrvd/iolog_writer.c:377 logsrvd/iolog_writer.c:383 -#: logsrvd/iolog_writer.c:390 logsrvd/iolog_writer.c:396 -#: logsrvd/iolog_writer.c:580 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:323 -#: logsrvd/logsrvd.c:461 logsrvd/logsrvd.c:498 logsrvd/logsrvd.c:530 -#: logsrvd/logsrvd.c:584 logsrvd/logsrvd.c:619 logsrvd/logsrvd.c:668 -#: logsrvd/logsrvd.c:704 logsrvd/logsrvd.c:740 logsrvd/logsrvd.c:1131 -#: logsrvd/logsrvd.c:1446 logsrvd/logsrvd.c:1453 logsrvd/logsrvd.c:1589 -#: logsrvd/logsrvd.c:1594 logsrvd/logsrvd.c:1781 logsrvd/logsrvd.c:2003 +#: logsrvd/iolog_writer.c:317 logsrvd/iolog_writer.c:327 +#: logsrvd/iolog_writer.c:337 logsrvd/iolog_writer.c:349 +#: logsrvd/iolog_writer.c:385 logsrvd/iolog_writer.c:391 +#: logsrvd/iolog_writer.c:398 logsrvd/iolog_writer.c:404 +#: logsrvd/iolog_writer.c:588 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:324 +#: logsrvd/logsrvd.c:462 logsrvd/logsrvd.c:499 logsrvd/logsrvd.c:531 +#: logsrvd/logsrvd.c:585 logsrvd/logsrvd.c:620 logsrvd/logsrvd.c:669 +#: logsrvd/logsrvd.c:705 logsrvd/logsrvd.c:741 logsrvd/logsrvd.c:1132 +#: logsrvd/logsrvd.c:1456 logsrvd/logsrvd.c:1463 logsrvd/logsrvd.c:1599 +#: logsrvd/logsrvd.c:1604 logsrvd/logsrvd.c:1791 logsrvd/logsrvd.c:2046 #: 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 @@ -316,11 +315,11 @@ msgstr "Aliasul „%s” este deja definit" #: 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_conf.c:829 logsrvd/logsrvd_conf.c:1041 +#: logsrvd/logsrvd_conf.c:1058 logsrvd/logsrvd_conf.c:1453 +#: logsrvd/logsrvd_conf.c:1600 logsrvd/logsrvd_conf.c:1626 +#: logsrvd/logsrvd_conf.c:1638 logsrvd/logsrvd_conf.c:1645 +#: logsrvd/logsrvd_conf.c:1651 logsrvd/logsrvd_conf.c:1747 #: logsrvd/logsrvd_journal.c:76 logsrvd/logsrvd_journal.c:125 #: logsrvd/logsrvd_journal.c:216 logsrvd/logsrvd_journal.c:246 #: logsrvd/logsrvd_journal.c:250 logsrvd/logsrvd_journal.c:258 @@ -331,8 +330,8 @@ msgstr "Aliasul „%s” este deja definit" #: logsrvd/logsrvd_queue.c:158 logsrvd/logsrvd_queue.c:189 #: logsrvd/logsrvd_queue.c:266 logsrvd/sendlog.c:256 logsrvd/sendlog.c:265 #: logsrvd/sendlog.c:297 logsrvd/sendlog.c:303 logsrvd/sendlog.c:352 -#: logsrvd/sendlog.c:630 logsrvd/sendlog.c:1523 logsrvd/sendlog.c:1530 -#: logsrvd/sendlog.c:1753 logsrvd/sendlog.c:1822 logsrvd/tls_init.c:305 +#: logsrvd/sendlog.c:651 logsrvd/sendlog.c:1548 logsrvd/sendlog.c:1555 +#: logsrvd/sendlog.c:1778 logsrvd/sendlog.c:1847 logsrvd/tls_init.c:305 #: logsrvd/tls_init.c:329 logsrvd/tls_init.c:340 plugins/sudoers/audit.c:118 #: plugins/sudoers/auth/pam.c:518 plugins/sudoers/auth/pam.c:697 #: plugins/sudoers/auth/rfc1938.c:112 plugins/sudoers/canon_path.c:129 @@ -343,34 +342,31 @@ msgstr "Aliasul „%s” este deja definit" #: plugins/sudoers/cvtsudoers.c:337 plugins/sudoers/cvtsudoers.c:544 #: plugins/sudoers/cvtsudoers.c:697 plugins/sudoers/cvtsudoers.c:715 #: plugins/sudoers/cvtsudoers.c:891 plugins/sudoers/cvtsudoers.c:898 -#: plugins/sudoers/cvtsudoers.c:1395 plugins/sudoers/cvtsudoers.c:1399 -#: plugins/sudoers/cvtsudoers.c:1501 plugins/sudoers/cvtsudoers_csv.c:182 -#: plugins/sudoers/cvtsudoers_csv.c:246 plugins/sudoers/cvtsudoers_json.c:75 -#: plugins/sudoers/cvtsudoers_ldif.c:151 plugins/sudoers/cvtsudoers_ldif.c:194 -#: plugins/sudoers/cvtsudoers_ldif.c:235 plugins/sudoers/cvtsudoers_ldif.c:301 -#: plugins/sudoers/cvtsudoers_ldif.c:377 plugins/sudoers/cvtsudoers_ldif.c:431 -#: plugins/sudoers/cvtsudoers_ldif.c:439 plugins/sudoers/cvtsudoers_ldif.c:450 -#: plugins/sudoers/cvtsudoers_ldif.c:457 plugins/sudoers/cvtsudoers_ldif.c:469 -#: plugins/sudoers/cvtsudoers_ldif.c:482 plugins/sudoers/cvtsudoers_ldif.c:490 -#: plugins/sudoers/cvtsudoers_ldif.c:637 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:455 -#: plugins/sudoers/defaults.c:689 plugins/sudoers/defaults.c:1051 -#: plugins/sudoers/defaults.c:1235 plugins/sudoers/editor.c:198 -#: plugins/sudoers/env.c:263 plugins/sudoers/exptilde.c:92 +#: plugins/sudoers/cvtsudoers.c:1393 plugins/sudoers/cvtsudoers.c:1397 +#: plugins/sudoers/cvtsudoers.c:1497 plugins/sudoers/cvtsudoers_csv.c:182 +#: plugins/sudoers/cvtsudoers_csv.c:255 plugins/sudoers/cvtsudoers_json.c:604 +#: plugins/sudoers/cvtsudoers_json.c:639 plugins/sudoers/cvtsudoers_json.c:1016 +#: plugins/sudoers/cvtsudoers_json.c:1041 plugins/sudoers/cvtsudoers_ldif.c:112 +#: plugins/sudoers/cvtsudoers_ldif.c:144 plugins/sudoers/cvtsudoers_ldif.c:260 +#: plugins/sudoers/cvtsudoers_ldif.c:573 plugins/sudoers/cvtsudoers_ldif.c:586 +#: plugins/sudoers/cvtsudoers_ldif.c:591 plugins/sudoers/cvtsudoers_ldif.c:761 +#: plugins/sudoers/cvtsudoers_merge.c:57 plugins/sudoers/cvtsudoers_merge.c:357 +#: plugins/sudoers/cvtsudoers_merge.c:405 +#: plugins/sudoers/cvtsudoers_merge.c:453 +#: plugins/sudoers/cvtsudoers_merge.c:475 +#: plugins/sudoers/cvtsudoers_merge.c:583 +#: plugins/sudoers/cvtsudoers_merge.c:588 +#: plugins/sudoers/cvtsudoers_merge.c:661 +#: plugins/sudoers/cvtsudoers_merge.c:664 +#: plugins/sudoers/cvtsudoers_merge.c:1196 +#: plugins/sudoers/cvtsudoers_merge.c:1281 plugins/sudoers/defaults.c:455 +#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1062 +#: plugins/sudoers/defaults.c:1248 plugins/sudoers/editor.c:198 +#: plugins/sudoers/env.c:280 plugins/sudoers/exptilde.c:92 #: plugins/sudoers/filedigest.c:66 plugins/sudoers/filedigest.c:70 #: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:211 -#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268 -#: plugins/sudoers/iolog.c:675 plugins/sudoers/iolog.c:703 +#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:270 +#: plugins/sudoers/iolog.c:683 plugins/sudoers/iolog.c:711 #: plugins/sudoers/ldap.c:161 plugins/sudoers/ldap.c:448 #: plugins/sudoers/ldap.c:625 plugins/sudoers/ldap.c:789 #: plugins/sudoers/ldap.c:1214 plugins/sudoers/ldap.c:1642 @@ -380,26 +376,26 @@ msgstr "Aliasul „%s” este deja definit" #: plugins/sudoers/ldap_conf.c:299 plugins/sudoers/ldap_conf.c:335 #: plugins/sudoers/ldap_conf.c:441 plugins/sudoers/ldap_conf.c:456 #: plugins/sudoers/ldap_conf.c:565 plugins/sudoers/ldap_conf.c:598 -#: plugins/sudoers/ldap_conf.c:693 plugins/sudoers/ldap_conf.c:776 +#: plugins/sudoers/ldap_conf.c:695 plugins/sudoers/ldap_conf.c:778 #: 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:717 -#: plugins/sudoers/log_client.c:739 plugins/sudoers/log_client.c:744 -#: plugins/sudoers/log_client.c:1426 plugins/sudoers/log_client.c:1547 -#: plugins/sudoers/log_client.c:1670 plugins/sudoers/log_client.c:1993 -#: plugins/sudoers/log_client.c:2052 plugins/sudoers/logging.c:110 +#: plugins/sudoers/ldap_util.c:615 plugins/sudoers/linux_audit.c:86 +#: plugins/sudoers/log_client.c:117 plugins/sudoers/log_client.c:237 +#: plugins/sudoers/log_client.c:259 plugins/sudoers/log_client.c:273 +#: plugins/sudoers/log_client.c:411 plugins/sudoers/log_client.c:726 +#: plugins/sudoers/log_client.c:748 plugins/sudoers/log_client.c:753 +#: plugins/sudoers/log_client.c:1449 plugins/sudoers/log_client.c:1570 +#: plugins/sudoers/log_client.c:1693 plugins/sudoers/log_client.c:2018 +#: plugins/sudoers/log_client.c:2077 plugins/sudoers/logging.c:110 #: plugins/sudoers/logging.c:189 plugins/sudoers/logging.c:190 -#: plugins/sudoers/logging.c:475 plugins/sudoers/logging.c:711 -#: plugins/sudoers/logging.c:755 plugins/sudoers/logging.c:872 -#: plugins/sudoers/logging.c:925 plugins/sudoers/logging.c:932 -#: plugins/sudoers/lookup.c:337 plugins/sudoers/lookup.c:354 -#: plugins/sudoers/lookup.c:373 plugins/sudoers/lookup.c:392 -#: plugins/sudoers/lookup.c:409 plugins/sudoers/lookup.c:432 -#: plugins/sudoers/lookup.c:443 plugins/sudoers/match_command.c:301 -#: plugins/sudoers/match_command.c:573 plugins/sudoers/match_command.c:640 -#: plugins/sudoers/match_command.c:737 plugins/sudoers/match_command.c:784 +#: plugins/sudoers/logging.c:483 plugins/sudoers/logging.c:723 +#: plugins/sudoers/logging.c:763 plugins/sudoers/logging.c:880 +#: plugins/sudoers/logging.c:933 plugins/sudoers/logging.c:940 +#: plugins/sudoers/lookup.c:330 plugins/sudoers/lookup.c:347 +#: plugins/sudoers/lookup.c:365 plugins/sudoers/lookup.c:383 +#: plugins/sudoers/lookup.c:400 plugins/sudoers/lookup.c:422 +#: plugins/sudoers/lookup.c:433 plugins/sudoers/match_command.c:279 +#: plugins/sudoers/match_command.c:543 plugins/sudoers/match_command.c:607 +#: plugins/sudoers/match_command.c:702 plugins/sudoers/match_command.c:749 #: plugins/sudoers/match_digest.c:88 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 @@ -410,52 +406,52 @@ msgstr "Aliasul „%s” este deja definit" #: plugins/sudoers/parse_ldif.c:595 plugins/sudoers/parse_ldif.c:624 #: plugins/sudoers/parse_ldif.c:649 plugins/sudoers/parse_ldif.c:707 #: plugins/sudoers/parse_ldif.c:724 plugins/sudoers/parse_ldif.c:752 -#: plugins/sudoers/parse_ldif.c:759 plugins/sudoers/policy.c:157 -#: plugins/sudoers/policy.c:166 plugins/sudoers/policy.c:175 -#: plugins/sudoers/policy.c:204 plugins/sudoers/policy.c:374 -#: plugins/sudoers/policy.c:390 plugins/sudoers/policy.c:392 -#: plugins/sudoers/policy.c:430 plugins/sudoers/policy.c:439 -#: plugins/sudoers/policy.c:448 plugins/sudoers/policy.c:457 -#: plugins/sudoers/policy.c:493 plugins/sudoers/policy.c:502 -#: plugins/sudoers/policy.c:511 plugins/sudoers/policy.c:520 -#: plugins/sudoers/policy.c:529 plugins/sudoers/policy.c:538 -#: plugins/sudoers/policy.c:547 plugins/sudoers/policy.c:646 -#: plugins/sudoers/policy.c:1061 plugins/sudoers/prompt.c:94 +#: plugins/sudoers/parse_ldif.c:759 plugins/sudoers/policy.c:152 +#: plugins/sudoers/policy.c:161 plugins/sudoers/policy.c:170 +#: plugins/sudoers/policy.c:199 plugins/sudoers/policy.c:357 +#: plugins/sudoers/policy.c:373 plugins/sudoers/policy.c:375 +#: plugins/sudoers/policy.c:414 plugins/sudoers/policy.c:423 +#: plugins/sudoers/policy.c:432 plugins/sudoers/policy.c:441 +#: plugins/sudoers/policy.c:492 plugins/sudoers/policy.c:501 +#: plugins/sudoers/policy.c:510 plugins/sudoers/policy.c:519 +#: plugins/sudoers/policy.c:528 plugins/sudoers/policy.c:537 +#: plugins/sudoers/policy.c:546 plugins/sudoers/policy.c:654 +#: plugins/sudoers/policy.c:1071 plugins/sudoers/prompt.c:94 #: plugins/sudoers/pwutil.c:219 plugins/sudoers/pwutil.c:290 #: plugins/sudoers/pwutil.c:368 plugins/sudoers/pwutil.c:542 #: plugins/sudoers/pwutil.c:607 plugins/sudoers/pwutil.c:679 -#: plugins/sudoers/pwutil.c:877 plugins/sudoers/pwutil.c:967 -#: plugins/sudoers/pwutil.c:1015 plugins/sudoers/pwutil.c:1076 +#: plugins/sudoers/pwutil.c:877 plugins/sudoers/pwutil.c:970 +#: plugins/sudoers/pwutil.c:1018 plugins/sudoers/pwutil.c:1082 #: plugins/sudoers/set_perms.c:374 plugins/sudoers/set_perms.c:723 #: plugins/sudoers/set_perms.c:1096 plugins/sudoers/set_perms.c:1409 -#: plugins/sudoers/set_perms.c:1579 plugins/sudoers/sethost.c:85 +#: plugins/sudoers/set_perms.c:1579 plugins/sudoers/sethost.c:89 #: plugins/sudoers/sssd.c:144 plugins/sudoers/sssd.c:186 #: plugins/sudoers/sssd.c:415 plugins/sudoers/sssd.c:480 #: plugins/sudoers/sssd.c:507 plugins/sudoers/sssd.c:570 #: plugins/sudoers/sssd.c:765 plugins/sudoers/strvec_join.c:53 #: plugins/sudoers/sudoers.c:405 plugins/sudoers/sudoers.c:412 -#: plugins/sudoers/sudoers.c:656 plugins/sudoers/sudoers.c:666 -#: plugins/sudoers/sudoers.c:811 plugins/sudoers/sudoers.c:877 -#: plugins/sudoers/sudoers.c:936 plugins/sudoers/sudoers.c:985 -#: plugins/sudoers/sudoers.c:1144 plugins/sudoers/sudoers.c:1213 -#: plugins/sudoers/sudoers.c:1306 plugins/sudoers/sudoers_cb.c:150 +#: plugins/sudoers/sudoers.c:673 plugins/sudoers/sudoers.c:683 +#: plugins/sudoers/sudoers.c:828 plugins/sudoers/sudoers.c:894 +#: plugins/sudoers/sudoers.c:953 plugins/sudoers/sudoers.c:1002 +#: plugins/sudoers/sudoers.c:1162 plugins/sudoers/sudoers.c:1231 +#: plugins/sudoers/sudoers.c:1324 plugins/sudoers/sudoers_cb.c:150 #: plugins/sudoers/sudoreplay.c:559 plugins/sudoers/sudoreplay.c:562 -#: plugins/sudoers/sudoreplay.c:1279 plugins/sudoers/sudoreplay.c:1335 -#: plugins/sudoers/sudoreplay.c:1531 plugins/sudoers/sudoreplay.c:1535 +#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1337 +#: plugins/sudoers/sudoreplay.c:1533 plugins/sudoers/sudoreplay.c:1537 #: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:255 #: plugins/sudoers/testsudoers.c:264 plugins/sudoers/testsudoers.c:275 #: plugins/sudoers/testsudoers.c:282 plugins/sudoers/testsudoers.c:302 -#: plugins/sudoers/testsudoers.c:758 plugins/sudoers/timestamp.c:469 -#: plugins/sudoers/timestamp.c:513 plugins/sudoers/timestamp.c:1042 -#: plugins/sudoers/timestamp.c:1216 plugins/sudoers/toke_util.c:79 +#: plugins/sudoers/testsudoers.c:756 plugins/sudoers/timestamp.c:468 +#: plugins/sudoers/timestamp.c:514 plugins/sudoers/timestamp.c:1045 +#: plugins/sudoers/timestamp.c:1248 plugins/sudoers/toke_util.c:79 #: plugins/sudoers/toke_util.c:108 plugins/sudoers/toke_util.c:134 #: plugins/sudoers/toke_util.c:163 plugins/sudoers/toke_util.c:204 -#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:151 +#: plugins/sudoers/tsdump.c:136 plugins/sudoers/visudo.c:151 #: plugins/sudoers/visudo.c:258 plugins/sudoers/visudo.c:383 #: plugins/sudoers/visudo.c:389 plugins/sudoers/visudo.c:501 #: plugins/sudoers/visudo.c:1073 plugins/sudoers/visudo.c:1094 -#: plugins/sudoers/visudo.c:1189 toke.l:1031 toke.l:1194 toke.l:1213 -#: toke.l:1240 toke.l:1309 toke.l:1320 +#: plugins/sudoers/visudo.c:1189 toke.l:1011 toke.l:1174 toke.l:1193 +#: toke.l:1220 toke.l:1289 toke.l:1300 #, c-format msgid "%s: %s" msgstr "%s: %s" @@ -484,12 +480,12 @@ msgstr "nu se poate executa fork(): %m" msgid "unable to open pipe: %m" msgstr "nu se poate deschide linia de legătură: %m" -#: lib/eventlog/eventlog.c:1000 +#: lib/eventlog/eventlog.c:1013 #, c-format msgid "%8s : %s" msgstr "%8s : %s" -#: lib/eventlog/eventlog.c:1029 +#: lib/eventlog/eventlog.c:1042 #, c-format msgid "%8s : (command continued) %s" msgstr "%8s : (comandă continuată) %s" @@ -503,73 +499,73 @@ msgstr "se aștepta JSON_STRING, s-a obținut %d" msgid "JSON_ARRAY too large" msgstr "JSON_ARRAY este prea mare" -#: lib/eventlog/parse_json.c:506 +#: lib/eventlog/parse_json.c:523 msgid "missing double quote in name" msgstr "lipsesc ghilimelele duble din nume" -#: lib/eventlog/parse_json.c:624 +#: lib/eventlog/parse_json.c:641 msgid "missing JSON_OBJECT" msgstr "JSON_OBJECT lipsește" -#: lib/eventlog/parse_json.c:628 +#: lib/eventlog/parse_json.c:645 #, c-format msgid "expected JSON_OBJECT, got %d" msgstr "s-a așteptat JSON_OBJECT, s-a obținut %d" -#: lib/eventlog/parse_json.c:762 +#: lib/eventlog/parse_json.c:779 #, c-format msgid "json stack exhausted (max %u frames)" msgstr "stiva json a fost epuizată (maxim %u cadre)" -#: lib/eventlog/parse_json.c:840 +#: lib/eventlog/parse_json.c:857 msgid "objects must consist of name:value pairs" msgstr "obiectele trebuie să fie formate din perechi nume:valoare" -#: lib/eventlog/parse_json.c:845 lib/eventlog/parse_json.c:876 -#: lib/eventlog/parse_json.c:920 lib/eventlog/parse_json.c:942 -#: lib/eventlog/parse_json.c:964 lib/eventlog/parse_json.c:986 -#: lib/eventlog/parse_json.c:1008 +#: lib/eventlog/parse_json.c:862 lib/eventlog/parse_json.c:893 +#: lib/eventlog/parse_json.c:937 lib/eventlog/parse_json.c:959 +#: lib/eventlog/parse_json.c:981 lib/eventlog/parse_json.c:1003 +#: lib/eventlog/parse_json.c:1025 msgid "missing separator between values" msgstr "lipsește separatorul dintre valori" -#: lib/eventlog/parse_json.c:860 lib/eventlog/parse_json.c:1034 +#: lib/eventlog/parse_json.c:877 lib/eventlog/parse_json.c:1051 msgid "unmatched close brace" msgstr "acoladă de închidere desperecheată" -#: lib/eventlog/parse_json.c:871 +#: lib/eventlog/parse_json.c:888 msgid "unexpected array" msgstr "matrice neașteptată" -#: lib/eventlog/parse_json.c:891 lib/eventlog/parse_json.c:1037 +#: lib/eventlog/parse_json.c:908 lib/eventlog/parse_json.c:1054 msgid "unmatched close bracket" msgstr "paranteză dreaptă închisă desperecheată" -#: lib/eventlog/parse_json.c:902 +#: lib/eventlog/parse_json.c:919 msgid "unexpected string" msgstr "șir neașteptat" -#: lib/eventlog/parse_json.c:913 +#: lib/eventlog/parse_json.c:930 msgid "missing colon after name" msgstr "lipsesc două puncte „:” după nume" -#: lib/eventlog/parse_json.c:934 lib/eventlog/parse_json.c:956 +#: lib/eventlog/parse_json.c:951 lib/eventlog/parse_json.c:973 msgid "unexpected boolean" msgstr "valoare boleană neașteptată" -#: lib/eventlog/parse_json.c:978 +#: lib/eventlog/parse_json.c:995 msgid "unexpected null" msgstr "valoare null neașteptată" -#: lib/eventlog/parse_json.c:999 +#: lib/eventlog/parse_json.c:1016 msgid "unexpected number" msgstr "număr neașteptat" -#: lib/eventlog/parse_json.c:1045 +#: lib/eventlog/parse_json.c:1062 msgid "parse error" msgstr "eroare de analizare" -#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1290 -#: plugins/sudoers/sudoreplay.c:1291 plugins/sudoers/sudoreplay.c:1587 +#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1303 +#: plugins/sudoers/sudoreplay.c:1293 plugins/sudoers/sudoreplay.c:1589 #, c-format msgid "invalid regular expression \"%s\": %s" msgstr "expresie regulată nevalidă „%s”: %s" @@ -609,8 +605,8 @@ 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:124 lib/iolog/iolog_mkdtemp.c:80 -#: logsrvd/iolog_writer.c:795 plugins/sudoers/timestamp.c:218 +#: lib/iolog/iolog_mkdirs.c:125 lib/iolog/iolog_mkdtemp.c:80 +#: logsrvd/iolog_writer.c:803 plugins/sudoers/timestamp.c:218 #, c-format msgid "unable to mkdir %s" msgstr "nu s-a putut executa «mkdir», pentru a crea directorul %s" @@ -648,90 +644,90 @@ msgstr "%s: eroare de protocol: tip incorect pentru %s" 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:1024 -#: plugins/sudoers/policy.c:613 +#: logsrvd/iolog_writer.c:141 plugins/sudoers/logging.c:1035 +#: plugins/sudoers/policy.c:621 msgid "unable to generate UUID" msgstr "nu s-a putut genera UUID-ul" -#: logsrvd/iolog_writer.c:354 logsrvd/iolog_writer.c:359 -#: logsrvd/iolog_writer.c:364 logsrvd/iolog_writer.c:369 +#: logsrvd/iolog_writer.c:362 logsrvd/iolog_writer.c:367 +#: logsrvd/iolog_writer.c:372 logsrvd/iolog_writer.c:377 #, c-format msgid "%s: protocol error: %s missing from AcceptMessage" msgstr "%s: eroare de protocol: lipsește %s din AcceptMessage" -#: logsrvd/iolog_writer.c:430 +#: logsrvd/iolog_writer.c:438 #, c-format msgid "%s: unable to format session id" msgstr "%s: nu se poate formata ID-ul sesiunii" -#: logsrvd/iolog_writer.c:444 logsrvd/iolog_writer.c:458 -#: logsrvd/iolog_writer.c:472 logsrvd/iolog_writer.c:487 -#: logsrvd/iolog_writer.c:501 logsrvd/iolog_writer.c:515 +#: logsrvd/iolog_writer.c:452 logsrvd/iolog_writer.c:466 +#: logsrvd/iolog_writer.c:480 logsrvd/iolog_writer.c:495 +#: logsrvd/iolog_writer.c:509 logsrvd/iolog_writer.c:523 #, c-format msgid "%s: %s is not set" msgstr "%s: %s nu este configurat" -#: logsrvd/iolog_writer.c:551 logsrvd/iolog_writer.c:558 +#: logsrvd/iolog_writer.c:559 logsrvd/iolog_writer.c:566 #, c-format msgid "unable to expand iolog path %s" msgstr "nu se poate expanda ruta către iolog %s" -#: logsrvd/iolog_writer.c:576 +#: logsrvd/iolog_writer.c:584 #, c-format msgid "unable to create iolog path %s" msgstr "nu se poate crea ruta către iolog %s" -#: logsrvd/iolog_writer.c:606 +#: logsrvd/iolog_writer.c:614 #, c-format msgid "invalid iofd %d" msgstr "iofd nevalid: %d" -#: logsrvd/iolog_writer.c:626 +#: logsrvd/iolog_writer.c:634 #, c-format msgid "error closing iofd %u: %s" msgstr "eroare la închiderea iofd %u: %s" -#: logsrvd/iolog_writer.c:647 +#: logsrvd/iolog_writer.c:655 #, c-format msgid "error flushing iofd %u: %s" msgstr "eroare la golirea iofd %u: %s" -#: logsrvd/iolog_writer.c:765 +#: logsrvd/iolog_writer.c:773 #, 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:777 logsrvd/logsrvd_journal.c:391 +#: logsrvd/iolog_writer.c:785 logsrvd/logsrvd_journal.c:391 #, 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:799 logsrvd/logsrvd_journal.c:434 +#: logsrvd/iolog_writer.c:807 logsrvd/logsrvd_journal.c:434 #: logsrvd/logsrvd_queue.c:115 logsrvd/tls_init.c:256 -#: plugins/sudoers/check.c:285 plugins/sudoers/cvtsudoers.c:758 -#: plugins/sudoers/cvtsudoers.c:780 plugins/sudoers/cvtsudoers.c:1461 -#: plugins/sudoers/cvtsudoers_csv.c:697 plugins/sudoers/cvtsudoers_json.c:902 -#: plugins/sudoers/cvtsudoers_ldif.c:711 plugins/sudoers/sudoers.c:1291 -#: plugins/sudoers/sudoers.c:1317 plugins/sudoers/sudoreplay.c:1497 -#: plugins/sudoers/timestamp.c:478 plugins/sudoers/tsdump.c:128 +#: plugins/sudoers/check.c:278 plugins/sudoers/cvtsudoers.c:758 +#: plugins/sudoers/cvtsudoers.c:780 plugins/sudoers/cvtsudoers.c:1457 +#: plugins/sudoers/cvtsudoers_csv.c:722 plugins/sudoers/cvtsudoers_json.c:1034 +#: plugins/sudoers/cvtsudoers_ldif.c:753 plugins/sudoers/sudoers.c:1309 +#: plugins/sudoers/sudoers.c:1335 plugins/sudoers/sudoreplay.c:1499 +#: plugins/sudoers/timestamp.c:477 plugins/sudoers/tsdump.c:141 #: plugins/sudoers/visudo.c:990 #, c-format msgid "unable to open %s" msgstr "nu se poate deschide %s" -#: logsrvd/iolog_writer.c:811 logsrvd/logsrv_util.c:111 +#: logsrvd/iolog_writer.c:819 logsrvd/logsrv_util.c:111 #: logsrvd/logsrv_util.c:118 plugins/sudoers/sudoreplay.c:355 #: plugins/sudoers/sudoreplay.c:361 #, c-format msgid "unable to open %s/%s" msgstr "nu se poate deschide %s/%s" -#: logsrvd/iolog_writer.c:824 +#: logsrvd/iolog_writer.c:832 #, 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:853 logsrvd/logsrvd_journal.c:198 +#: logsrvd/iolog_writer.c:861 logsrvd/logsrvd_journal.c:198 #, c-format msgid "unable to rename %s to %s" msgstr "nu se poate redenumi %s în %s" @@ -751,209 +747,209 @@ msgstr "lipsește fișierul jurnal de In/Ieș %s/%s" msgid "%s/%s: unable to seek forward %zu" msgstr "%s/%s: nu se poate căuta mai departe %zu" -#: logsrvd/logsrvd.c:271 logsrvd/logsrvd_queue.c:135 +#: logsrvd/logsrvd.c:272 logsrvd/logsrvd_queue.c:135 msgid "unable to connect to relay" msgstr "nu se poate conecta la releu" -#: logsrvd/logsrvd.c:338 logsrvd/logsrvd_relay.c:847 +#: logsrvd/logsrvd.c:339 logsrvd/logsrvd_relay.c:847 #, c-format msgid "server message too large: %zu" msgstr "mesajul serverului este prea mare: %zu" -#: logsrvd/logsrvd.c:430 logsrvd/logsrvd.c:553 logsrvd/logsrvd.c:639 -#: logsrvd/logsrvd.c:881 logsrvd/logsrvd.c:895 logsrvd/logsrvd.c:1056 -#: logsrvd/logsrvd.c:1181 logsrvd/logsrvd.c:1354 logsrvd/logsrvd.c:1372 -#: logsrvd/logsrvd.c:1471 logsrvd/logsrvd.c:1596 logsrvd/logsrvd.c:1783 +#: logsrvd/logsrvd.c:431 logsrvd/logsrvd.c:554 logsrvd/logsrvd.c:640 +#: logsrvd/logsrvd.c:882 logsrvd/logsrvd.c:896 logsrvd/logsrvd.c:1057 +#: logsrvd/logsrvd.c:1182 logsrvd/logsrvd.c:1364 logsrvd/logsrvd.c:1382 +#: logsrvd/logsrvd.c:1481 logsrvd/logsrvd.c:1606 logsrvd/logsrvd.c:1793 #: logsrvd/logsrvd_journal.c:503 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:391 logsrvd/logsrvd_relay.c:583 #: logsrvd/logsrvd_relay.c:747 logsrvd/logsrvd_relay.c:1137 -#: logsrvd/sendlog.c:1308 logsrvd/tls_client.c:136 logsrvd/tls_client.c:152 -#: logsrvd/tls_client.c:216 plugins/sudoers/audit.c:281 -#: plugins/sudoers/iolog.c:1041 plugins/sudoers/iolog.c:1175 -#: plugins/sudoers/iolog.c:1274 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:613 -#: plugins/sudoers/log_client.c:620 plugins/sudoers/log_client.c:1114 -#: plugins/sudoers/log_client.c:1395 plugins/sudoers/log_client.c:1436 -#: plugins/sudoers/log_client.c:1444 plugins/sudoers/log_client.c:1603 -#: plugins/sudoers/log_client.c:1728 plugins/sudoers/log_client.c:2060 -#: plugins/sudoers/log_client.c:2068 plugins/sudoers/logging.c:148 +#: logsrvd/sendlog.c:1333 logsrvd/tls_client.c:145 logsrvd/tls_client.c:161 +#: logsrvd/tls_client.c:225 plugins/sudoers/audit.c:281 +#: plugins/sudoers/iolog.c:1049 plugins/sudoers/iolog.c:1183 +#: plugins/sudoers/iolog.c:1282 plugins/sudoers/log_client.c:121 +#: plugins/sudoers/log_client.c:352 plugins/sudoers/log_client.c:368 +#: plugins/sudoers/log_client.c:416 plugins/sudoers/log_client.c:622 +#: plugins/sudoers/log_client.c:629 plugins/sudoers/log_client.c:1137 +#: plugins/sudoers/log_client.c:1418 plugins/sudoers/log_client.c:1459 +#: plugins/sudoers/log_client.c:1467 plugins/sudoers/log_client.c:1626 +#: plugins/sudoers/log_client.c:1751 plugins/sudoers/log_client.c:2085 +#: plugins/sudoers/log_client.c:2093 plugins/sudoers/logging.c:148 #: plugins/sudoers/logging.c:206 plugins/sudoers/sudoreplay.c:519 -#: plugins/sudoers/sudoreplay.c:566 plugins/sudoers/sudoreplay.c:808 -#: plugins/sudoers/sudoreplay.c:920 plugins/sudoers/sudoreplay.c:1011 -#: plugins/sudoers/sudoreplay.c:1026 plugins/sudoers/sudoreplay.c:1033 -#: plugins/sudoers/sudoreplay.c:1040 plugins/sudoers/sudoreplay.c:1047 -#: plugins/sudoers/sudoreplay.c:1054 plugins/sudoers/sudoreplay.c:1182 +#: plugins/sudoers/sudoreplay.c:566 plugins/sudoers/sudoreplay.c:810 +#: plugins/sudoers/sudoreplay.c:922 plugins/sudoers/sudoreplay.c:1013 +#: plugins/sudoers/sudoreplay.c:1028 plugins/sudoers/sudoreplay.c:1035 +#: plugins/sudoers/sudoreplay.c:1042 plugins/sudoers/sudoreplay.c:1049 +#: plugins/sudoers/sudoreplay.c:1056 plugins/sudoers/sudoreplay.c:1184 msgid "unable to add event to queue" msgstr "nu se poate adăuga evenimentul la coadă" -#: logsrvd/logsrvd.c:454 logsrvd/logsrvd.c:491 logsrvd/logsrvd.c:523 -#: logsrvd/logsrvd.c:577 logsrvd/logsrvd.c:656 logsrvd/logsrvd.c:692 -#: logsrvd/logsrvd.c:728 logsrvd/logsrvd.c:764 logsrvd/logsrvd_relay.c:512 +#: logsrvd/logsrvd.c:455 logsrvd/logsrvd.c:492 logsrvd/logsrvd.c:524 +#: logsrvd/logsrvd.c:578 logsrvd/logsrvd.c:657 logsrvd/logsrvd.c:693 +#: logsrvd/logsrvd.c:729 logsrvd/logsrvd.c:765 logsrvd/logsrvd_relay.c:512 #: logsrvd/logsrvd_relay.c:545 #, c-format msgid "unexpected state %d for %s" msgstr "stare neașteptată %d pentru %s" -#: logsrvd/logsrvd.c:455 logsrvd/logsrvd.c:492 logsrvd/logsrvd.c:524 -#: logsrvd/logsrvd.c:578 logsrvd/logsrvd.c:657 logsrvd/logsrvd.c:693 -#: logsrvd/logsrvd.c:729 logsrvd/logsrvd.c:765 logsrvd/logsrvd_relay.c:514 +#: logsrvd/logsrvd.c:456 logsrvd/logsrvd.c:493 logsrvd/logsrvd.c:525 +#: logsrvd/logsrvd.c:579 logsrvd/logsrvd.c:658 logsrvd/logsrvd.c:694 +#: logsrvd/logsrvd.c:730 logsrvd/logsrvd.c:766 logsrvd/logsrvd_relay.c:514 #: logsrvd/logsrvd_relay.c:547 msgid "state machine error" msgstr "eroare de stare a mașinii" -#: logsrvd/logsrvd.c:461 logsrvd/logsrvd.c:462 +#: logsrvd/logsrvd.c:462 logsrvd/logsrvd.c:463 msgid "invalid AcceptMessage" msgstr "AcceptMessage nevalid" -#: logsrvd/logsrvd.c:498 logsrvd/logsrvd.c:499 +#: logsrvd/logsrvd.c:499 logsrvd/logsrvd.c:500 msgid "invalid RejectMessage" msgstr "RejectMessage nevalid" -#: logsrvd/logsrvd.c:530 logsrvd/logsrvd.c:531 +#: logsrvd/logsrvd.c:531 logsrvd/logsrvd.c:532 msgid "invalid ExitMessage" msgstr "ExitMessage nevalid" -#: logsrvd/logsrvd.c:584 logsrvd/logsrvd.c:585 +#: logsrvd/logsrvd.c:585 logsrvd/logsrvd.c:586 msgid "invalid RestartMessage" msgstr "RestartMessage nevalid" -#: logsrvd/logsrvd.c:619 logsrvd/logsrvd.c:620 +#: logsrvd/logsrvd.c:620 logsrvd/logsrvd.c:621 msgid "invalid AlertMessage" msgstr "AlertMessage nevalid" -#: logsrvd/logsrvd.c:661 logsrvd/logsrvd.c:697 logsrvd/logsrvd.c:733 +#: logsrvd/logsrvd.c:662 logsrvd/logsrvd.c:698 logsrvd/logsrvd.c:734 #, c-format msgid "%s: unexpected IoBuffer" msgstr "%s: IoBuffer neașteptat" -#: logsrvd/logsrvd.c:662 logsrvd/logsrvd.c:698 logsrvd/logsrvd.c:734 +#: logsrvd/logsrvd.c:663 logsrvd/logsrvd.c:699 logsrvd/logsrvd.c:735 msgid "protocol error" msgstr "eroare de protocol" -#: logsrvd/logsrvd.c:668 logsrvd/logsrvd.c:669 +#: logsrvd/logsrvd.c:669 logsrvd/logsrvd.c:670 msgid "invalid IoBuffer" msgstr "IoBuffer nevalid" -#: logsrvd/logsrvd.c:704 logsrvd/logsrvd.c:705 +#: logsrvd/logsrvd.c:705 logsrvd/logsrvd.c:706 msgid "invalid ChangeWindowSize" msgstr "ChangeWindowSize nevalid" -#: logsrvd/logsrvd.c:740 logsrvd/logsrvd.c:741 +#: logsrvd/logsrvd.c:741 logsrvd/logsrvd.c:742 msgid "invalid CommandSuspend" msgstr "CommandSuspend nevalid" -#: logsrvd/logsrvd.c:790 logsrvd/logsrvd_journal.c:302 -#: logsrvd/logsrvd_relay.c:654 logsrvd/sendlog.c:1207 -#: plugins/sudoers/log_client.c:1593 +#: logsrvd/logsrvd.c:791 logsrvd/logsrvd_journal.c:302 +#: logsrvd/logsrvd_relay.c:654 logsrvd/sendlog.c:1232 +#: plugins/sudoers/log_client.c:1616 #, c-format msgid "unable to unpack %s size %zu" msgstr "nu se poate despacheta %s cu dimensiunea %zu" -#: logsrvd/logsrvd.c:835 logsrvd/logsrvd_journal.c:376 +#: logsrvd/logsrvd.c:836 logsrvd/logsrvd_journal.c:376 #: logsrvd/logsrvd_relay.c:678 #, 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:837 +#: logsrvd/logsrvd.c:838 msgid "unrecognized ClientMessage type" msgstr "tip de ClientMessage nerecunoscut" -#: logsrvd/logsrvd.c:927 +#: logsrvd/logsrvd.c:928 #, c-format msgid "timed out writing to client %s" msgstr "a expirat timpul de scriere la clientul %s" -#: logsrvd/logsrvd.c:932 logsrvd/logsrvd_relay.c:919 logsrvd/sendlog.c:1413 +#: logsrvd/logsrvd.c:933 logsrvd/logsrvd_relay.c:919 logsrvd/sendlog.c:1438 #, c-format msgid "missing write buffer for client %s" msgstr "lipsește memoria tampon de scriere pentru clientul %s" -#: logsrvd/logsrvd.c:1027 +#: logsrvd/logsrvd.c:1028 #, c-format msgid "timed out reading from client %s" msgstr "a expirat timpul de citire de la clientul %s" -#: logsrvd/logsrvd.c:1068 logsrvd/logsrvd_relay.c:782 +#: logsrvd/logsrvd.c:1069 logsrvd/logsrvd_relay.c:782 #, 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:1112 logsrvd/logsrvd_relay.c:205 logsrvd/sendlog.c:336 -#: plugins/sudoers/log_client.c:723 +#: logsrvd/logsrvd.c:1113 logsrvd/logsrvd_relay.c:205 logsrvd/sendlog.c:336 +#: plugins/sudoers/log_client.c:732 #, c-format msgid "client message too large: %zu" msgstr "mesajul clientului este prea mare: %zu" -#: logsrvd/logsrvd.c:1113 logsrvd/logsrvd_journal.c:259 +#: logsrvd/logsrvd.c:1114 logsrvd/logsrvd_journal.c:259 #: logsrvd/logsrvd_journal.c:260 msgid "client message too large" msgstr "mesajul clientului este prea mare" -#: logsrvd/logsrvd.c:1131 logsrvd/logsrvd.c:1132 +#: logsrvd/logsrvd.c:1132 logsrvd/logsrvd.c:1133 msgid "invalid ClientMessage" msgstr "ClientMessage nevalid" -#: logsrvd/logsrvd.c:1432 +#: logsrvd/logsrvd.c:1442 msgid "unable to get remote IP addr" msgstr "nu se poate obține adresa IP de la distanță" -#: logsrvd/logsrvd.c:1463 logsrvd/tls_client.c:203 -#: plugins/sudoers/log_client.c:281 +#: logsrvd/logsrvd.c:1473 logsrvd/tls_client.c:212 +#: plugins/sudoers/log_client.c:290 #, 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:1646 logsrvd/logsrvd.c:2007 +#: logsrvd/logsrvd.c:1656 logsrvd/logsrvd.c:2050 msgid "unable to setup listen socket" msgstr "nu se poate configura soclul de ascultare" -#: logsrvd/logsrvd.c:1766 +#: logsrvd/logsrvd.c:1776 #, c-format msgid "unexpected signal %d" msgstr "semnal neașteptat %d" -#: logsrvd/logsrvd.c:1909 +#: logsrvd/logsrvd.c:1949 msgid "sudo log server" msgstr "server de jurnal al sudo" -#: logsrvd/logsrvd.c:1911 logsrvd/sendlog.c:126 +#: logsrvd/logsrvd.c:1951 logsrvd/sendlog.c:126 msgid "Options:" msgstr "Opțiuni:" -#: logsrvd/logsrvd.c:1913 +#: logsrvd/logsrvd.c:1953 msgid "path to configuration file" msgstr "ruta către fișierul de configurare" -#: logsrvd/logsrvd.c:1915 logsrvd/sendlog.c:128 +#: logsrvd/logsrvd.c:1955 logsrvd/sendlog.c:128 msgid "display help message and exit" msgstr "afișează mesajul de ajutor și iese" -#: logsrvd/logsrvd.c:1917 +#: logsrvd/logsrvd.c:1957 msgid "do not fork, run in the foreground" msgstr "nu se bifurcă, rulează în prim-plan" -#: logsrvd/logsrvd.c:1919 +#: logsrvd/logsrvd.c:1959 msgid "percent chance connections will drop" msgstr "șansele procentuale de conexiuni vor scădea" -#: logsrvd/logsrvd.c:1921 logsrvd/sendlog.c:158 +#: logsrvd/logsrvd.c:1961 logsrvd/sendlog.c:158 msgid "display version information and exit" msgstr "afișează informațiile despre versiune și iese" -#: logsrvd/logsrvd.c:1971 logsrvd/sendlog.c:1722 +#: logsrvd/logsrvd.c:2011 logsrvd/sendlog.c:1747 msgid "Protobuf-C version 1.3 or higher required" msgstr "Este necesară versiunea Protobuf-C 1.3 sau mai mare" -#: logsrvd/logsrvd.c:1987 +#: logsrvd/logsrvd.c:2027 #, c-format msgid "invalid random drop value: %s" msgstr "valoare nevalidă a probabilității de pierdere: %s" -#: logsrvd/logsrvd.c:1990 logsrvd/sendlog.c:1776 +#: logsrvd/logsrvd.c:2030 logsrvd/sendlog.c:1801 #: plugins/sudoers/cvtsudoers.c:250 plugins/sudoers/sudoreplay.c:294 #: plugins/sudoers/visudo.c:181 #, c-format @@ -962,16 +958,16 @@ msgstr "%s versiunea %s\n" #: logsrvd/logsrvd_conf.c:422 plugins/sudoers/check.c:69 #: plugins/sudoers/exptilde.c:85 plugins/sudoers/iolog.c:122 -#: plugins/sudoers/sudoers.c:419 plugins/sudoers/sudoers.c:929 -#: plugins/sudoers/sudoers.c:1034 plugins/sudoers/sudoers.c:1424 +#: plugins/sudoers/sudoers.c:419 plugins/sudoers/sudoers.c:946 +#: plugins/sudoers/sudoers.c:1052 plugins/sudoers/sudoers.c:1442 #: plugins/sudoers/testsudoers.c:169 plugins/sudoers/testsudoers.c:285 -#: plugins/sudoers/testsudoers.c:459 +#: plugins/sudoers/testsudoers.c:459 plugins/sudoers/tsdump.c:131 #, c-format msgid "unknown user %s" msgstr "utilizator necunoscut %s" #: logsrvd/logsrvd_conf.c:439 plugins/sudoers/iolog.c:148 -#: plugins/sudoers/sudoers.c:425 plugins/sudoers/sudoers.c:1458 +#: plugins/sudoers/sudoers.c:425 plugins/sudoers/sudoers.c:1476 #: plugins/sudoers/testsudoers.c:483 #, c-format msgid "unknown group %s" @@ -982,7 +978,7 @@ msgstr "grup necunoscut %s" msgid "unable to parse iolog mode %s" msgstr "nu se poate analiza modul iolog %s" -#: logsrvd/logsrvd_conf.c:474 logsrvd/logsrvd_conf.c:1243 +#: logsrvd/logsrvd_conf.c:474 logsrvd/logsrvd_conf.c:1248 #, c-format msgid "invalid value for %s: %s" msgstr "valoare nevalidă pentru %s: %s" @@ -996,65 +992,65 @@ msgstr "fără suport TLS" msgid "%s:%s" msgstr "%s:%s" -#: logsrvd/logsrvd_conf.c:622 logsrvd/logsrvd_conf.c:1032 +#: logsrvd/logsrvd_conf.c:622 logsrvd/logsrvd_conf.c:1037 #, c-format msgid "%s: not a fully qualified path" msgstr "%s: nu este o rută complet calificată" -#: logsrvd/logsrvd_conf.c:951 logsrvd/logsrvd_conf.c:967 -#: logsrvd/logsrvd_conf.c:1676 +#: logsrvd/logsrvd_conf.c:956 logsrvd/logsrvd_conf.c:972 +#: logsrvd/logsrvd_conf.c:1681 #, c-format msgid "unknown syslog facility %s" msgstr "facilitate de syslog necunoscută %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 +#: logsrvd/logsrvd_conf.c:988 logsrvd/logsrvd_conf.c:1004 +#: logsrvd/logsrvd_conf.c:1020 logsrvd/logsrvd_conf.c:1685 +#: logsrvd/logsrvd_conf.c:1689 logsrvd/logsrvd_conf.c:1693 #, c-format msgid "unknown syslog priority %s" msgstr "prioritate de syslog necunoscută %s" -#: logsrvd/logsrvd_conf.c:1197 +#: logsrvd/logsrvd_conf.c:1202 #, c-format msgid "%s:%d unmatched '[': %s" msgstr "%s:%d „[” desperecheată: %s" -#: logsrvd/logsrvd_conf.c:1203 +#: logsrvd/logsrvd_conf.c:1208 #, c-format msgid "%s:%d garbage after ']': %s" msgstr "%s:%d gunoi după „]”: %s" -#: logsrvd/logsrvd_conf.c:1215 +#: logsrvd/logsrvd_conf.c:1220 #, c-format msgid "%s:%d invalid config section: %s" msgstr "%s:%d secțiune de configurare nevalidă: %s" -#: logsrvd/logsrvd_conf.c:1223 +#: logsrvd/logsrvd_conf.c:1228 #, c-format msgid "%s:%d invalid configuration line: %s" msgstr "%s:%d linie de configurare nevalidă: %s" -#: logsrvd/logsrvd_conf.c:1229 +#: logsrvd/logsrvd_conf.c:1234 #, c-format msgid "%s:%d expected section name: %s" msgstr "%s:%d nume de secțiune așteptat: %s" -#: logsrvd/logsrvd_conf.c:1251 +#: logsrvd/logsrvd_conf.c:1256 #, c-format msgid "%s:%d [%s] illegal key: %s" msgstr "%s:%d [%s] cheie ilegală: %s" -#: logsrvd/logsrvd_conf.c:1281 plugins/sudoers/cvtsudoers.c:273 -#: plugins/sudoers/logging.c:1076 +#: logsrvd/logsrvd_conf.c:1286 plugins/sudoers/cvtsudoers.c:273 +#: plugins/sudoers/logging.c:1087 #, c-format msgid "unable to open log file %s" msgstr "nu se poate deschide fișierul de jurnal: %s" -#: logsrvd/logsrvd_conf.c:1763 +#: logsrvd/logsrvd_conf.c:1768 msgid "unable to initialize server TLS context" msgstr "nu se poate inițializa contextul TLS al serverului" -#: logsrvd/logsrvd_conf.c:1783 +#: logsrvd/logsrvd_conf.c:1788 msgid "unable to initialize relay TLS context" msgstr "nu se poate inițializa contextul TLS al releului" @@ -1158,7 +1154,7 @@ msgstr "nu se poate formata memoria tampon de timp, lungime %d" #: logsrvd/logsrvd_local.c:601 logsrvd/logsrvd_local.c:609 #: logsrvd/logsrvd_local.c:657 logsrvd/logsrvd_local.c:692 -#: plugins/sudoers/sudoreplay.c:344 toke.l:981 toke.l:984 +#: plugins/sudoers/sudoreplay.c:344 toke.l:961 toke.l:964 #, c-format msgid "%s/%s: %s" msgstr "%s/%s: %s" @@ -1197,8 +1193,8 @@ msgstr "nu se poate conecta la gazda releu" msgid "%s: invalid ServerHello, missing server_id" msgstr "%s: ServerHello nevalid, server_id lipsește" -#: logsrvd/logsrvd_relay.c:522 logsrvd/sendlog.c:1111 -#: plugins/sudoers/log_client.c:1479 +#: logsrvd/logsrvd_relay.c:522 logsrvd/sendlog.c:1136 +#: plugins/sudoers/log_client.c:1502 msgid "invalid ServerHello" msgstr "ServerHello nevalid" @@ -1302,7 +1298,7 @@ msgstr "oprește transferul după ce s-a atins acest timp" 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:181 plugins/sudoers/log_client.c:453 +#: logsrvd/sendlog.c:181 plugins/sudoers/log_client.c:462 #, c-format msgid "unable to look up %s:%s: %s" msgstr "nu se poate căuta %s:%s: %s" @@ -1311,108 +1307,108 @@ msgstr "nu se poate căuta %s:%s: %s" msgid "unable to get server IP addr" msgstr "nu se poate obține adresa IP a serverului" -#: logsrvd/sendlog.c:314 plugins/sudoers/sudoreplay.c:868 +#: logsrvd/sendlog.c:314 plugins/sudoers/sudoreplay.c:870 #, c-format msgid "unable to read %s/%s: %s" msgstr "nu se poate citi %s/%s: %s" -#: logsrvd/sendlog.c:1035 plugins/sudoers/iolog.c:959 -#: plugins/sudoers/iolog.c:1034 +#: logsrvd/sendlog.c:1060 plugins/sudoers/iolog.c:967 +#: plugins/sudoers/iolog.c:1042 #, c-format msgid "unexpected I/O event %d" msgstr "eveniment de In/Ieș neașteptat %d" -#: logsrvd/sendlog.c:1088 logsrvd/sendlog.c:1105 logsrvd/sendlog.c:1139 -#: plugins/sudoers/log_client.c:1129 plugins/sudoers/log_client.c:1405 -#: plugins/sudoers/log_client.c:1473 plugins/sudoers/log_client.c:1512 +#: logsrvd/sendlog.c:1113 logsrvd/sendlog.c:1130 logsrvd/sendlog.c:1164 +#: plugins/sudoers/log_client.c:1152 plugins/sudoers/log_client.c:1428 +#: plugins/sudoers/log_client.c:1496 plugins/sudoers/log_client.c:1535 #, c-format msgid "%s: unexpected state %d" msgstr "%s: stare neașteptată %d" -#: logsrvd/sendlog.c:1175 plugins/sudoers/log_client.c:1561 +#: logsrvd/sendlog.c:1200 plugins/sudoers/log_client.c:1584 #, c-format msgid "error message received from server: %s" msgstr "mesaj de eroare primit de la server: %s" -#: logsrvd/sendlog.c:1188 plugins/sudoers/log_client.c:1574 +#: logsrvd/sendlog.c:1213 plugins/sudoers/log_client.c:1597 #, c-format msgid "abort message received from server: %s" msgstr "mesaj de renunțare primit de la server: %s" -#: logsrvd/sendlog.c:1247 plugins/sudoers/log_client.c:1624 +#: logsrvd/sendlog.c:1272 plugins/sudoers/log_client.c:1647 #, c-format msgid "%s: unexpected type_case value %d" msgstr "%s: valoare type_case neașteptată %d" -#: logsrvd/sendlog.c:1276 +#: logsrvd/sendlog.c:1301 msgid "timeout reading from server" msgstr "a expirat limita de timp de citire de la server" -#: logsrvd/sendlog.c:1327 plugins/sudoers/log_client.c:1747 +#: logsrvd/sendlog.c:1352 plugins/sudoers/log_client.c:1770 msgid "host name does not match certificate" msgstr "numele gazdei nu se potrivește cu certificatul" -#: logsrvd/sendlog.c:1361 +#: logsrvd/sendlog.c:1386 msgid "premature EOF" msgstr "sfârșit de fișier prematur" -#: logsrvd/sendlog.c:1374 plugins/sudoers/log_client.c:1795 +#: logsrvd/sendlog.c:1399 plugins/sudoers/log_client.c:1818 #, c-format msgid "server message too large: %u" msgstr "mesajul serverului este prea mare: %u" -#: logsrvd/sendlog.c:1430 +#: logsrvd/sendlog.c:1455 msgid "timeout writing to server" msgstr "a expirat limita de timp de scriere la server" -#: logsrvd/sendlog.c:1800 +#: logsrvd/sendlog.c:1825 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:1804 +#: logsrvd/sendlog.c:1829 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:1880 +#: logsrvd/sendlog.c:1905 #, c-format msgid "exited prematurely with state %d" msgstr "a ieșit prematur cu starea %d" -#: logsrvd/sendlog.c:1881 +#: logsrvd/sendlog.c:1906 #, c-format msgid "elapsed time sent to server [%lld, %ld]" msgstr "timpul scurs trimis la server [%lld, %ld]" -#: logsrvd/sendlog.c:1883 +#: logsrvd/sendlog.c:1908 #, c-format msgid "commit point received from server [%lld, %ld]" msgstr "punctul de consemnare primit de la server [%lld, %ld]" -#: logsrvd/tls_client.c:111 plugins/sudoers/log_client.c:315 +#: logsrvd/tls_client.c:120 plugins/sudoers/log_client.c:324 msgid "TLS handshake timeout occurred" msgstr "a expirat limita de timp a negocierii TLS" -#: logsrvd/tls_client.c:131 logsrvd/tls_client.c:147 -#: plugins/sudoers/log_client.c:337 plugins/sudoers/log_client.c:353 +#: logsrvd/tls_client.c:140 logsrvd/tls_client.c:156 +#: plugins/sudoers/log_client.c:346 plugins/sudoers/log_client.c:362 msgid "unable to set event" msgstr "nu s-a putut configura evenimentul" -#: logsrvd/tls_client.c:157 logsrvd/tls_client.c:161 +#: logsrvd/tls_client.c:166 logsrvd/tls_client.c:170 #, c-format msgid "TLS connection failed: %s" msgstr "conexiunea TLS a eșuat: %s" -#: logsrvd/tls_client.c:196 +#: logsrvd/tls_client.c:205 #, c-format msgid "unable to allocate ssl object: %s" msgstr "nu s-a putut aloca obiectul ssl: %s" -#: logsrvd/tls_client.c:210 +#: logsrvd/tls_client.c:219 #, 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:238 +#: logsrvd/tls_client.c:247 msgid "unable to initialize TLS context" msgstr "nu s-a putut inițializa contextul ssl: %s" @@ -1454,12 +1450,11 @@ 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:272 plugins/sudoers/audit.c:452 -#: plugins/sudoers/log_client.c:962 plugins/sudoers/log_client.c:1011 -#: plugins/sudoers/log_client.c:1060 plugins/sudoers/log_client.c:1185 -#: plugins/sudoers/logging.c:614 plugins/sudoers/logging.c:732 -#: plugins/sudoers/logging.c:859 plugins/sudoers/logging.c:1031 -#: plugins/sudoers/policy.c:123 +#: plugins/sudoers/audit.c:272 plugins/sudoers/log_client.c:985 +#: plugins/sudoers/log_client.c:1034 plugins/sudoers/log_client.c:1083 +#: plugins/sudoers/log_client.c:1208 plugins/sudoers/logging.c:627 +#: plugins/sudoers/logging.c:867 plugins/sudoers/logging.c:1017 +#: plugins/sudoers/logging.c:1041 plugins/sudoers/policy.c:1055 msgid "unable to get time of day" msgstr "nu se poate obține ora actuală" @@ -1515,47 +1510,47 @@ msgstr "" "eroare a serverului de autentificare:\n" "%s" -#: plugins/sudoers/auth/kerb5.c:116 +#: plugins/sudoers/auth/kerb5.c:117 #, c-format msgid "%s: unable to convert principal to string ('%s'): %s" msgstr "%s: nu se poate converti identitatea gazdei în șir („%s”): %s" -#: plugins/sudoers/auth/kerb5.c:166 +#: plugins/sudoers/auth/kerb5.c:167 #, c-format msgid "%s: unable to parse '%s': %s" msgstr "%s: nu se poate analiza „%s”: %s" -#: plugins/sudoers/auth/kerb5.c:175 +#: plugins/sudoers/auth/kerb5.c:176 #, c-format msgid "%s: unable to resolve credential cache: %s" msgstr "%s: nu s-a putut determina memoria tampon de certificare: %s" -#: plugins/sudoers/auth/kerb5.c:226 +#: plugins/sudoers/auth/kerb5.c:227 #, c-format msgid "%s: unable to allocate options: %s" msgstr "%s: nu se pot aloca opțiunile: %s" -#: plugins/sudoers/auth/kerb5.c:241 +#: plugins/sudoers/auth/kerb5.c:242 #, c-format msgid "%s: unable to get credentials: %s" msgstr "%s: nu se pot obține certificările: %s" -#: plugins/sudoers/auth/kerb5.c:254 +#: plugins/sudoers/auth/kerb5.c:255 #, c-format msgid "%s: unable to initialize credential cache: %s" msgstr "%s: nu se poate inițializa memoria tampon de certificare: %s" -#: plugins/sudoers/auth/kerb5.c:257 +#: plugins/sudoers/auth/kerb5.c:258 #, c-format msgid "%s: unable to store credential in cache: %s" msgstr "%s: nu se poate stoca certificarea în memoria tampon: %s" -#: plugins/sudoers/auth/kerb5.c:322 +#: plugins/sudoers/auth/kerb5.c:324 #, c-format msgid "%s: unable to get host principal: %s" msgstr "%s: nu se poate obține identitatea kerberos a gazdei: %s" -#: plugins/sudoers/auth/kerb5.c:336 +#: plugins/sudoers/auth/kerb5.c:338 #, c-format msgid "%s: Cannot verify TGT! Possible attack!: %s" msgstr "%s: Nu se poate verifica TGT! Posibil atac!: %s" @@ -1633,7 +1628,7 @@ msgstr "eroare de SecurID necunoscută" msgid "invalid passcode length for SecurID" msgstr "lungime de cod de parolă nevalidă pentru SecurID" -#: plugins/sudoers/auth/sia.c:72 plugins/sudoers/auth/sia.c:130 +#: plugins/sudoers/auth/sia.c:72 plugins/sudoers/auth/sia.c:131 msgid "unable to initialize SIA session" msgstr "nu se poate inițializa sesiunea SIA" @@ -1670,22 +1665,22 @@ msgid "unable to commit audit record" msgstr "nu se poate consemna înregistrarea de auditare" #: plugins/sudoers/check.c:63 plugins/sudoers/check.c:74 -#: plugins/sudoers/lookup.c:79 plugins/sudoers/tsdump.c:119 +#: plugins/sudoers/lookup.c:79 #, c-format msgid "unknown uid %u" msgstr "uid necunoscut %u" -#: plugins/sudoers/check.c:277 +#: plugins/sudoers/check.c:270 #, c-format msgid "error reading lecture file %s" msgstr "eroare la citirea fișierului de instrucțiuni %s" -#: plugins/sudoers/check.c:280 +#: plugins/sudoers/check.c:273 #, 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:293 +#: plugins/sudoers/check.c:286 msgid "" "\n" "We trust you have received the usual lecture from the local System\n" @@ -1706,12 +1701,12 @@ msgstr "" " 3. Cu o mare putere vine o mare responsabilitate.\n" "\n" -#: plugins/sudoers/check.c:301 +#: plugins/sudoers/check.c:294 msgid "" "For security reasons, the password you type will not be visible.\n" "\n" msgstr "" -"Din motive de securitate, parola pe care o introduceți nu va fi vizibilă.n\n" +"Din motive de securitate, parola pe care o introduceți nu va fi vizibilă.\n" "\n" #: plugins/sudoers/check_aliases.c:93 @@ -1795,13 +1790,13 @@ msgstr "filtru nevalid: %s" msgid "failed to parse %s file, unknown error" msgstr "nu s-a putut analiza fișierul %s, eroare necunoscută" -#: plugins/sudoers/cvtsudoers.c:1508 plugins/sudoers/sudoreplay.c:1143 +#: plugins/sudoers/cvtsudoers.c:1504 plugins/sudoers/sudoreplay.c:1145 #: plugins/sudoers/timestamp.c:353 plugins/sudoers/timestamp.c:356 #, c-format msgid "unable to write to %s" msgstr "nu se poate scrie la %s" -#: plugins/sudoers/cvtsudoers.c:1536 +#: plugins/sudoers/cvtsudoers.c:1532 #, c-format msgid "" "%s - convert between sudoers file formats\n" @@ -1810,7 +1805,7 @@ msgstr "" "%s - convertește între formatele de fișier „sudoers”\n" "\n" -#: plugins/sudoers/cvtsudoers.c:1538 +#: plugins/sudoers/cvtsudoers.c:1534 msgid "" "\n" "Options:\n" @@ -1851,549 +1846,563 @@ msgstr "" " -V, --version afișează informația versiunii și iese" #: plugins/sudoers/cvtsudoers_csv.c:192 plugins/sudoers/cvtsudoers_csv.c:199 -#: plugins/sudoers/cvtsudoers_ldif.c:245 plugins/sudoers/cvtsudoers_ldif.c:252 -#: plugins/sudoers/cvtsudoers_ldif.c:594 plugins/sudoers/env.c:340 -#: plugins/sudoers/env.c:347 plugins/sudoers/env.c:458 +#: plugins/sudoers/cvtsudoers_ldif.c:270 plugins/sudoers/cvtsudoers_ldif.c:277 +#: plugins/sudoers/cvtsudoers_ldif.c:628 plugins/sudoers/env.c:357 +#: plugins/sudoers/env.c:364 plugins/sudoers/env.c:475 #: plugins/sudoers/ldap.c:511 plugins/sudoers/ldap.c:629 #: plugins/sudoers/ldap.c:1003 plugins/sudoers/ldap_conf.c:219 -#: plugins/sudoers/ldap_conf.c:310 plugins/sudoers/ldap_util.c:486 -#: plugins/sudoers/linux_audit.c:93 plugins/sudoers/logging.c:479 -#: plugins/sudoers/policy.c:828 plugins/sudoers/policy.c:840 +#: plugins/sudoers/ldap_conf.c:310 plugins/sudoers/ldap_util.c:483 +#: plugins/sudoers/linux_audit.c:93 plugins/sudoers/logging.c:487 +#: plugins/sudoers/policy.c:836 plugins/sudoers/policy.c:848 #: plugins/sudoers/prompt.c:169 plugins/sudoers/serialize_list.c:62 #: plugins/sudoers/serialize_list.c:71 plugins/sudoers/strvec_join.c:62 -#: plugins/sudoers/sudoreplay.c:1340 plugins/sudoers/sudoreplay.c:1346 -#: plugins/sudoers/sudoreplay.c:1352 plugins/sudoers/testsudoers.c:306 -#: plugins/sudoers/toke_util.c:217 toke.l:995 toke.l:1277 +#: plugins/sudoers/sudoreplay.c:1342 plugins/sudoers/sudoreplay.c:1348 +#: plugins/sudoers/sudoreplay.c:1354 plugins/sudoers/testsudoers.c:306 +#: plugins/sudoers/toke_util.c:217 toke.l:975 toke.l:1257 #, c-format msgid "internal error, %s overflow" msgstr "eroare internă, depășire de %s" -#: plugins/sudoers/cvtsudoers_csv.c:454 plugins/sudoers/cvtsudoers_csv.c:468 -#: plugins/sudoers/cvtsudoers_json.c:661 plugins/sudoers/cvtsudoers_json.c:676 -#: plugins/sudoers/cvtsudoers_ldif.c:349 plugins/sudoers/cvtsudoers_ldif.c:362 +#: plugins/sudoers/cvtsudoers_csv.c:481 plugins/sudoers/cvtsudoers_csv.c:495 +#: plugins/sudoers/cvtsudoers_json.c:760 plugins/sudoers/cvtsudoers_json.c:776 +#: plugins/sudoers/cvtsudoers_ldif.c:384 plugins/sudoers/cvtsudoers_ldif.c:398 #: plugins/sudoers/ldap.c:495 msgid "unable to get GMT time" msgstr "nu se poate obține ora GMT" -#: plugins/sudoers/cvtsudoers_csv.c:459 plugins/sudoers/cvtsudoers_csv.c:473 -#: plugins/sudoers/cvtsudoers_json.c:666 plugins/sudoers/cvtsudoers_json.c:681 -#: plugins/sudoers/cvtsudoers_ldif.c:354 plugins/sudoers/cvtsudoers_ldif.c:367 +#: plugins/sudoers/cvtsudoers_csv.c:486 plugins/sudoers/cvtsudoers_csv.c:500 +#: plugins/sudoers/cvtsudoers_json.c:765 plugins/sudoers/cvtsudoers_json.c:781 +#: plugins/sudoers/cvtsudoers_ldif.c:389 plugins/sudoers/cvtsudoers_ldif.c:403 #: plugins/sudoers/ldap.c:503 msgid "unable to format timestamp" msgstr "nu se poate formata marcajul de timp" -#: plugins/sudoers/cvtsudoers_json.c:481 plugins/sudoers/cvtsudoers_json.c:516 -#: plugins/sudoers/cvtsudoers_json.c:732 +#: plugins/sudoers/cvtsudoers_json.c:547 plugins/sudoers/cvtsudoers_json.c:588 +#: plugins/sudoers/cvtsudoers_json.c:841 #, c-format msgid "%s:%d:%d: unknown defaults entry \"%s\"" msgstr "%s:%d:%d: intrare de valori implicite necunoscută „%s”" -#: plugins/sudoers/cvtsudoers_ldif.c:663 +#: plugins/sudoers/cvtsudoers_ldif.c:116 +#, c-format +msgid "unable to base64 encode value \"%s\"" +msgstr "nu se poate codifica în base64 valoarea „%s”" + +#: plugins/sudoers/cvtsudoers_ldif.c:595 +#, c-format +msgid "internal error, unable insert user %s" +msgstr "eroare internă, nu se poate insera utilizatorul %s" + +#: plugins/sudoers/cvtsudoers_ldif.c:702 #, c-format msgid "too many sudoers entries, maximum %u" msgstr "prea multe intrări „sudoers”, maxim %u" -#: plugins/sudoers/cvtsudoers_ldif.c:706 +#: plugins/sudoers/cvtsudoers_ldif.c:747 msgid "the SUDOERS_BASE environment variable is not set and the -b option was not specified." msgstr "variabila de mediu $SUDOERS_BASE nu este stabilită și opțiunea „-b” nu a fost specificată." -#: plugins/sudoers/cvtsudoers_merge.c:273 -#: plugins/sudoers/cvtsudoers_merge.c:309 +#: plugins/sudoers/cvtsudoers_merge.c:275 +#: plugins/sudoers/cvtsudoers_merge.c:313 #, c-format msgid "%s:%d:%d: converting host list to ALL" msgstr "%s:%d:%d: se convertește lista de gazde în ALL" -#: plugins/sudoers/cvtsudoers_merge.c:545 +#: plugins/sudoers/cvtsudoers_merge.c:568 #, c-format msgid "unable to find alias %s" msgstr "nu se poate găsi alias %s" -#: plugins/sudoers/cvtsudoers_merge.c:548 +#: plugins/sudoers/cvtsudoers_merge.c:572 #, c-format msgid "%s:%d:%d: renaming alias %s to %s" msgstr "%s:%d:%d: redenumire a alias %s în %s" -#: plugins/sudoers/cvtsudoers_merge.c:605 +#: plugins/sudoers/cvtsudoers_merge.c:634 #, c-format msgid "%s:%d:%d: removing duplicate alias %s" msgstr "%s:%d:%d: se elimină alias duplicat %s" -#: plugins/sudoers/cvtsudoers_merge.c:830 +#: plugins/sudoers/cvtsudoers_merge.c:868 #, c-format msgid "%s:%d:%d: conflicting Defaults entry \"%s\" host-specific in %s:%d:%d" msgstr "%s:%d:%d: intrare a valorilor Defaults „%s” în conflict cu cea specificată de gazdă în %s:%d:%d" -#: plugins/sudoers/cvtsudoers_merge.c:864 +#: plugins/sudoers/cvtsudoers_merge.c:904 #, c-format msgid "%s:%d:%d: made Defaults \"%s\" specific to host %s" msgstr "%s:%d:%d: a făcut ca Defaults „%s” să fie specific gazdei %s" -#: plugins/sudoers/cvtsudoers_merge.c:882 +#: plugins/sudoers/cvtsudoers_merge.c:922 #, c-format msgid "%s:%d:%d: unable to make Defaults \"%s\" host-specific" msgstr "%s:%d:%d: nu se poate face ca Defaults „%s” să fie specific gazdei" -#: plugins/sudoers/cvtsudoers_merge.c:892 +#: plugins/sudoers/cvtsudoers_merge.c:932 #, c-format msgid "%s:%d:%d: removing Defaults \"%s\" overridden by subsequent entries" msgstr "%s:%d:%d: se elimină valorile Defaults „%s” suprascrise de intrările ulterioare" -#: plugins/sudoers/cvtsudoers_merge.c:1088 +#: plugins/sudoers/cvtsudoers_merge.c:1128 #, c-format msgid "%s:%d:%d: merging userspec into %s:%d:%d" msgstr "%s:%d:%d: se îmbină specificațiile utilizatorului în %s:%d:%d" -#: plugins/sudoers/cvtsudoers_merge.c:1182 +#: plugins/sudoers/cvtsudoers_merge.c:1224 #, c-format msgid "%s:%d:%d: removing userspec overridden by subsequent entries" msgstr "%s:%d:%d: se elimină specificația utilizatorului suprascrisă de intrările ulterioare" -#: plugins/sudoers/def_data.c:56 +#: plugins/sudoers/def_data.c:58 #, c-format msgid "Syslog facility if syslog is being used for logging: %s" msgstr "Facilitatea syslog dacă «syslog» este utilizat pentru înregistrarea evenimentelor: %s" -#: plugins/sudoers/def_data.c:60 +#: plugins/sudoers/def_data.c:62 #, c-format msgid "Syslog priority to use when user authenticates successfully: %s" msgstr "Prioritatea syslog de utilizat când utilizatorul se autentifică cu succes: %s" -#: plugins/sudoers/def_data.c:64 +#: plugins/sudoers/def_data.c:66 #, c-format msgid "Syslog priority to use when user authenticates unsuccessfully: %s" msgstr "Prioritatea syslog de utilizat când utilizatorul nu se autentifică cu succes: %s" -#: plugins/sudoers/def_data.c:68 +#: plugins/sudoers/def_data.c:70 msgid "Put OTP prompt on its own line" msgstr "Plasează prompterul OTP pe propria linie" -#: plugins/sudoers/def_data.c:72 +#: plugins/sudoers/def_data.c:74 msgid "Ignore '.' in $PATH" msgstr "Ignoră „.” în $PATH" -#: plugins/sudoers/def_data.c:76 +#: plugins/sudoers/def_data.c:78 msgid "Always send mail when sudo is run" msgstr "Trimite întotdeauna mail când «sudo» este rulat" -#: plugins/sudoers/def_data.c:80 +#: plugins/sudoers/def_data.c:82 msgid "Send mail if user authentication fails" msgstr "Trimite mail dacă autentificarea eșuează" -#: plugins/sudoers/def_data.c:84 +#: plugins/sudoers/def_data.c:86 msgid "Send mail if the user is not in sudoers" msgstr "Trimite mail dacă utilizatorul nu este în „sudoers”" -#: plugins/sudoers/def_data.c:88 +#: plugins/sudoers/def_data.c:90 msgid "Send mail if the user is not in sudoers for this host" msgstr "Trimite mail dacă utilizatorul nu este în „sudoers” pentru această gazdă" -#: plugins/sudoers/def_data.c:92 +#: plugins/sudoers/def_data.c:94 msgid "Send mail if the user is not allowed to run a command" msgstr "Trimite mail dacă utilizatorul nu are voie să ruleze o comandă" -#: plugins/sudoers/def_data.c:96 +#: plugins/sudoers/def_data.c:98 msgid "Send mail if the user tries to run a command" msgstr "Trimite mail dacă utilizatorul încearcă să ruleze o comandă" -#: plugins/sudoers/def_data.c:100 +#: plugins/sudoers/def_data.c:102 msgid "Use a separate timestamp for each user/tty combo" msgstr "Utilizează un marcaj de timp separat pentru fiecare combinație utilizator/tty" -#: plugins/sudoers/def_data.c:104 +#: plugins/sudoers/def_data.c:106 msgid "Lecture user the first time they run sudo" msgstr "Ține o prelegere utilizatorului când rulează pentru prima dată «sudo»" -#: plugins/sudoers/def_data.c:108 +#: plugins/sudoers/def_data.c:110 #, c-format msgid "File containing the sudo lecture: %s" msgstr "Fișierul care conține instrucțiunile de utilizare ale «sudo»: %s" -#: plugins/sudoers/def_data.c:112 +#: plugins/sudoers/def_data.c:114 msgid "Require users to authenticate by default" msgstr "Cere utilizatorilor să se autentifice ca implicit" -#: plugins/sudoers/def_data.c:116 +#: plugins/sudoers/def_data.c:118 msgid "Root may run sudo" msgstr "Root poate rula «sudo»" -#: plugins/sudoers/def_data.c:120 +#: plugins/sudoers/def_data.c:122 msgid "Log the hostname in the (non-syslog) log file" msgstr "Înregistrează numele gazdei în fișierul de jurnal (ne-syslog)" -#: plugins/sudoers/def_data.c:124 +#: plugins/sudoers/def_data.c:126 msgid "Log the year in the (non-syslog) log file" msgstr "Înregistrează anul în fișierul de jurnal (ne-syslog)" -#: plugins/sudoers/def_data.c:128 +#: plugins/sudoers/def_data.c:130 msgid "If sudo is invoked with no arguments, start a shell" msgstr "Dacă «sudo» este invocat fără argumente, pornește un shell" -#: plugins/sudoers/def_data.c:132 +#: plugins/sudoers/def_data.c:134 msgid "Set $HOME to the target user when starting a shell with -s" msgstr "Stabilește $HOME pentru utilizatorul vizat când se pornește un shell cu opțiunea „-s”" -#: plugins/sudoers/def_data.c:136 +#: plugins/sudoers/def_data.c:138 msgid "Always set $HOME to the target user's home directory" msgstr "Totdeauna stabilește $HOME la directorul personal al utilizatorului vizat" -#: plugins/sudoers/def_data.c:140 +#: plugins/sudoers/def_data.c:142 msgid "Allow some information gathering to give useful error messages" msgstr "Permite colectarea de informații pentru a oferi mesaje de eroare utile" -#: plugins/sudoers/def_data.c:144 +#: plugins/sudoers/def_data.c:146 msgid "Require fully-qualified hostnames in the sudoers file" msgstr "Necesită nume de gazdă calificate complet în fișierul „sudoers”" -#: plugins/sudoers/def_data.c:148 +#: plugins/sudoers/def_data.c:150 msgid "Insult the user when they enter an incorrect password" msgstr "Insultă utilizatorul când acesta introduce o parolă incorectă" -#: plugins/sudoers/def_data.c:152 +#: plugins/sudoers/def_data.c:154 msgid "Only allow the user to run sudo if they have a tty" msgstr "Permite utilizatorului să ruleze «sudo» doar dacă are un tty" -#: plugins/sudoers/def_data.c:156 +#: plugins/sudoers/def_data.c:158 msgid "Visudo will honor the EDITOR environment variable" msgstr "«Visudo» va respecta variabila de mediu $EDITOR" -#: plugins/sudoers/def_data.c:160 -msgid "Prompt for root's password, not the users's" +#: plugins/sudoers/def_data.c:162 +msgid "Prompt for root's password, not the user's" msgstr "Solicită parola pentru root, nu a utilizatorului" -#: plugins/sudoers/def_data.c:164 -msgid "Prompt for the runas_default user's password, not the users's" +#: plugins/sudoers/def_data.c:166 +msgid "Prompt for the runas_default user's password, not the user's" msgstr "Solicită parola pentru utilizatorul runas_default, nu a utilizatorului" -#: plugins/sudoers/def_data.c:168 -msgid "Prompt for the target user's password, not the users's" +#: plugins/sudoers/def_data.c:170 +msgid "Prompt for the target user's password, not the user's" msgstr "Solicită parola pentru utilizatorul vizat, nu a utilizatorului" -#: plugins/sudoers/def_data.c:172 +#: plugins/sudoers/def_data.c:174 msgid "Apply defaults in the target user's login class if there is one" msgstr "Aplică valorile implicite în clasa de autentificare a utilizatorului vizat dacă aceasta există" -#: plugins/sudoers/def_data.c:176 +#: plugins/sudoers/def_data.c:178 msgid "Set the LOGNAME and USER environment variables" msgstr "Stabilește variabilele de mediu $LOGNAME și $USER" -#: plugins/sudoers/def_data.c:180 +#: plugins/sudoers/def_data.c:182 msgid "Only set the effective uid to the target user, not the real uid" msgstr "Stabilește pentru utilizatorul vizat doar uid-ul efectiv, nu uid-ul real" -#: plugins/sudoers/def_data.c:184 +#: plugins/sudoers/def_data.c:186 msgid "Don't initialize the group vector to that of the target user" msgstr "Nu inițializează vectorul de grup la cel al utilizatorului vizat" -#: plugins/sudoers/def_data.c:188 +#: plugins/sudoers/def_data.c:190 #, c-format msgid "Length at which to wrap log file lines (0 for no wrap): %u" msgstr "Lungimea la care să se încadreze liniile fișierului de jurnal (0 pentru fără încadrare): %u" -#: plugins/sudoers/def_data.c:192 +#: plugins/sudoers/def_data.c:194 #, c-format msgid "Authentication timestamp timeout: %.1f minutes" msgstr "Marcajul de timp al autentificării, expiră în: %.1f minute" -#: plugins/sudoers/def_data.c:196 +#: plugins/sudoers/def_data.c:198 #, c-format msgid "Password prompt timeout: %.1f minutes" msgstr "Timpul pentru solicitarea parolei, expiră în: %.1f minute" -#: plugins/sudoers/def_data.c:200 +#: plugins/sudoers/def_data.c:202 #, c-format msgid "Number of tries to enter a password: %u" msgstr "Numărul de încercări pentru a introduce o parolă: %u" -#: plugins/sudoers/def_data.c:204 +#: plugins/sudoers/def_data.c:206 #, c-format msgid "Umask to use or 0777 to use user's: 0%o" msgstr "Valoarea necesară umask, sau 0777 pentru utilizatorul: 0%o" -#: plugins/sudoers/def_data.c:208 +#: plugins/sudoers/def_data.c:210 #, c-format msgid "Path to log file: %s" msgstr "Ruta la fișierul de jurnal: %s" -#: plugins/sudoers/def_data.c:212 +#: plugins/sudoers/def_data.c:214 #, c-format msgid "Path to mail program: %s" msgstr "Ruta la programul de poștă electronică: %s" -#: plugins/sudoers/def_data.c:216 +#: plugins/sudoers/def_data.c:218 #, c-format msgid "Flags for mail program: %s" msgstr "Opțiuni pentru programul de mail: %s" -#: plugins/sudoers/def_data.c:220 +#: plugins/sudoers/def_data.c:222 #, c-format msgid "Address to send mail to: %s" msgstr "Adresa la care să se trimită mailul: %s" -#: plugins/sudoers/def_data.c:224 +#: plugins/sudoers/def_data.c:226 #, c-format msgid "Address to send mail from: %s" msgstr "Adresa de la care să se trimită mailul: %s" -#: plugins/sudoers/def_data.c:228 +#: plugins/sudoers/def_data.c:230 #, c-format msgid "Subject line for mail messages: %s" msgstr "Linia de subiect pentru mesajele de mail: %s" -#: plugins/sudoers/def_data.c:232 +#: plugins/sudoers/def_data.c:234 #, c-format msgid "Incorrect password message: %s" msgstr "Mesajul de avertizare de parolă incorectă: %s" -#: plugins/sudoers/def_data.c:236 +#: plugins/sudoers/def_data.c:238 #, c-format msgid "Path to lecture status dir: %s" msgstr "Ruta către directorul de stare a instrucțiunilor de utilizare a «sudo»(utilizatorul, le-a primit sau nu): %s" -#: plugins/sudoers/def_data.c:240 +#: plugins/sudoers/def_data.c:242 #, c-format msgid "Path to authentication timestamp dir: %s" msgstr "Ruta către directorul ce conține marcajele de timp ale autentificării: %s" -#: plugins/sudoers/def_data.c:244 +#: plugins/sudoers/def_data.c:246 #, c-format msgid "Owner of the authentication timestamp dir: %s" msgstr "Proprietarul directorului ce conține marcajele de timp ale autentificării: %s" -#: plugins/sudoers/def_data.c:248 +#: plugins/sudoers/def_data.c:250 #, c-format msgid "Users in this group are exempt from password and PATH requirements: %s" msgstr "Utilizatorii din acest grup sunt scutiți de la cerințele privind parola și PATH: %s" -#: plugins/sudoers/def_data.c:252 +#: plugins/sudoers/def_data.c:254 #, c-format msgid "Default password prompt: %s" msgstr "Solicitarea implicită de parolă: %s" -#: plugins/sudoers/def_data.c:256 +#: plugins/sudoers/def_data.c:258 msgid "If set, passprompt will override system prompt in all cases." msgstr "Dacă este definită, solicitarea de parolă a «sudo», o va înlocui pe cea de sistem în toate cazurile." -#: plugins/sudoers/def_data.c:260 +#: plugins/sudoers/def_data.c:262 #, c-format msgid "Default user to run commands as: %s" msgstr "Utilizatorul implicit cu care să se ruleze comenzile: %s" -#: plugins/sudoers/def_data.c:264 +#: plugins/sudoers/def_data.c:266 #, c-format msgid "Value to override user's $PATH with: %s" msgstr "Valoarea cu care să se suprascrie $PATH utilizatorului: %s" -#: plugins/sudoers/def_data.c:268 +#: plugins/sudoers/def_data.c:270 #, c-format msgid "Path to the editor for use by visudo: %s" msgstr "Ruta către editorul ce va fi utilizat de către «visudo»: %s" -#: plugins/sudoers/def_data.c:272 +#: plugins/sudoers/def_data.c:274 #, c-format msgid "When to require a password for 'list' pseudocommand: %s" msgstr "Când să se ceară o parolă pentru pseudocomanda „list”: %s" -#: plugins/sudoers/def_data.c:276 +#: plugins/sudoers/def_data.c:278 #, c-format msgid "When to require a password for 'verify' pseudocommand: %s" msgstr "Când să se ceară o parolă pentru pseudocomanda „verify”: %s" -#: plugins/sudoers/def_data.c:280 +#: plugins/sudoers/def_data.c:282 msgid "Preload the sudo_noexec library which replaces the exec functions" msgstr "Preîncarcă biblioteca sudo_noexec care înlocuiește funcțiile exec" -#: plugins/sudoers/def_data.c:284 +#: plugins/sudoers/def_data.c:286 msgid "If LDAP directory is up, do we ignore local sudoers file" msgstr "Dacă directorul LDAP este activ, se ignoră fișierul „sudoers” local" -#: plugins/sudoers/def_data.c:288 +#: plugins/sudoers/def_data.c:290 #, c-format msgid "File descriptors >= %d will be closed before executing a command" msgstr "Descriptorii de fișier >= %d se vor închide înainte de executarea unei comenzi" -#: plugins/sudoers/def_data.c:292 +#: plugins/sudoers/def_data.c:294 msgid "If set, users may override the value of \"closefrom\" with the -C option" msgstr "Dacă este definită, utilizatorii pot să suprascrie valoarea lui „closeform” cu opțiunea „-C”" -#: plugins/sudoers/def_data.c:296 +#: plugins/sudoers/def_data.c:298 msgid "Allow users to set arbitrary environment variables" msgstr "Permite utilizatorilor să stabilească variabile de mediu arbitrare" -#: plugins/sudoers/def_data.c:300 +#: plugins/sudoers/def_data.c:302 msgid "Reset the environment to a default set of variables" msgstr "Restabilește mediul la un set de variabile implicite" -#: plugins/sudoers/def_data.c:304 +#: plugins/sudoers/def_data.c:306 msgid "Environment variables to check for safety:" msgstr "Variabile de mediu care trebuie validate pentru a asigura securitatea:" -#: plugins/sudoers/def_data.c:308 +#: plugins/sudoers/def_data.c:310 msgid "Environment variables to remove:" msgstr "Variabile de mediu de eliminat:" -#: plugins/sudoers/def_data.c:312 +#: plugins/sudoers/def_data.c:314 msgid "Environment variables to preserve:" msgstr "Variabile de mediu de păstrat:" -#: plugins/sudoers/def_data.c:316 +#: plugins/sudoers/def_data.c:318 #, c-format msgid "SELinux role to use in the new security context: %s" msgstr "Regula SELinux de utilizat în contextul de securitate nou: %s" -#: plugins/sudoers/def_data.c:320 +#: plugins/sudoers/def_data.c:322 #, c-format msgid "SELinux type to use in the new security context: %s" msgstr "Tipul de executare a SELinux („default” sau „mlt”), ce va fi utilizat în contextul de securitate nou: %s" -#: plugins/sudoers/def_data.c:324 +#: plugins/sudoers/def_data.c:326 #, c-format msgid "Path to the sudo-specific environment file: %s" msgstr "Ruta către fișierul de mediu, propriu al «sudo»: %s" -#: plugins/sudoers/def_data.c:328 +#: plugins/sudoers/def_data.c:330 #, c-format msgid "Path to the restricted sudo-specific environment file: %s" msgstr "Ruta către fișierul restricționat de mediu, propriu al «sudo»: %s" -#: plugins/sudoers/def_data.c:332 +#: plugins/sudoers/def_data.c:334 #, c-format msgid "Locale to use while parsing sudoers: %s" msgstr "Localizarea ce va fi utilizată în timpul analizării lui „sudoers”: %s" -#: plugins/sudoers/def_data.c:336 +#: plugins/sudoers/def_data.c:338 msgid "Allow sudo to prompt for a password even if it would be visible" msgstr "Permite lui «sudo» să solicite o parolă chiar dacă aceasta va fi vizibilă" -#: plugins/sudoers/def_data.c:340 +#: plugins/sudoers/def_data.c:342 msgid "Provide visual feedback at the password prompt when there is user input" msgstr "Afișează un control vizual la solicitarea parolei, când aceasta este introdusă de către utilizator" -#: plugins/sudoers/def_data.c:344 +#: plugins/sudoers/def_data.c:346 msgid "Use faster globbing that is less accurate but does not access the filesystem" msgstr "Utilizează expanderea rapidă a numelor de fișiere, care este mai puțin fiabilă, dar nu necesită acces la sistemul de fișiere" -#: plugins/sudoers/def_data.c:348 +#: plugins/sudoers/def_data.c:350 msgid "The umask specified in sudoers will override the user's, even if it is more permissive" msgstr "Umask(masca de Unix) specificată în „sudoers”, o va înlocui pe cea a utilizatorului, chiar dacă este mai permisivă" -#: plugins/sudoers/def_data.c:352 +#: plugins/sudoers/def_data.c:354 msgid "Log user's input for the command being run" msgstr "Înregistrează în jurnal intrarea utilizatorului pentru comanda care se execută" -#: plugins/sudoers/def_data.c:356 +#: plugins/sudoers/def_data.c:358 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 +#: plugins/sudoers/def_data.c:362 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 +#: plugins/sudoers/def_data.c:366 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 +#: plugins/sudoers/def_data.c:370 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 +#: plugins/sudoers/def_data.c:374 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 +#: plugins/sudoers/def_data.c:378 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 +#: plugins/sudoers/def_data.c:382 msgid "Compress I/O logs using zlib" msgstr "Comprimă înregistrările din jurnal de In/Ieș utilizând «zlib»" -#: plugins/sudoers/def_data.c:384 +#: plugins/sudoers/def_data.c:386 msgid "Always run commands in a pseudo-tty" msgstr "Execută întotdeauna comenzile într-un pseudo-tty" -#: plugins/sudoers/def_data.c:388 +#: plugins/sudoers/def_data.c:390 #, c-format msgid "Plugin for non-Unix group support: %s" msgstr "Modul pentru suport de grup non-Unix: %s" -#: plugins/sudoers/def_data.c:392 +#: plugins/sudoers/def_data.c:394 #, 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:396 +#: plugins/sudoers/def_data.c:398 #, 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:400 +#: plugins/sudoers/def_data.c:402 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:404 +#: plugins/sudoers/def_data.c:406 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:408 +#: plugins/sudoers/def_data.c:410 #, c-format msgid "Set of permitted privileges: %s" msgstr "Setul de privilegii permise: %s" -#: plugins/sudoers/def_data.c:412 +#: plugins/sudoers/def_data.c:414 #, c-format msgid "Set of limit privileges: %s" msgstr "Setul de privilegii limită: %s" -#: plugins/sudoers/def_data.c:416 +#: plugins/sudoers/def_data.c:418 msgid "Run commands on a pty in the background" msgstr "Rulează comenzile pe un pty în fundal" -#: plugins/sudoers/def_data.c:420 +#: plugins/sudoers/def_data.c:422 #, c-format msgid "PAM service name to use: %s" msgstr "Numele serviciului PAM de utilizat: %s" -#: plugins/sudoers/def_data.c:424 +#: plugins/sudoers/def_data.c:426 #, 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:428 +#: plugins/sudoers/def_data.c:430 #, 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:432 +#: plugins/sudoers/def_data.c:434 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:436 +#: plugins/sudoers/def_data.c:438 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:440 +#: plugins/sudoers/def_data.c:442 msgid "Perform PAM account validation management" msgstr "Realizează gestionarea validării contului PAM" -#: plugins/sudoers/def_data.c:444 +#: plugins/sudoers/def_data.c:446 +msgid "Do not allow PAM authentication modules to generate output" +msgstr "Nu permite modulelor de autentificare PAM să genereze ieșire" + +#: plugins/sudoers/def_data.c:450 #, 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:448 +#: plugins/sudoers/def_data.c:454 msgid "Enable sudoers netgroup support" msgstr "Activează suportul de „netgroup” (grup de rețea) „sudoers”" -#: plugins/sudoers/def_data.c:452 +#: plugins/sudoers/def_data.c:458 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:456 +#: plugins/sudoers/def_data.c:462 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:460 +#: plugins/sudoers/def_data.c:466 msgid "Query the group plugin for unknown system groups" msgstr "Interoghează modulul grupului pentru grupuri de sistem necunoscute" @@ -2417,19 +2426,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:464 +#: plugins/sudoers/def_data.c:470 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:468 +#: plugins/sudoers/def_data.c:474 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:472 +#: plugins/sudoers/def_data.c:478 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:476 +#: plugins/sudoers/def_data.c:482 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" @@ -2439,11 +2448,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:480 +#: plugins/sudoers/def_data.c:486 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:484 +#: plugins/sudoers/def_data.c:490 #, 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" @@ -2473,166 +2482,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:488 +#: plugins/sudoers/def_data.c:494 #, 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:492 +#: plugins/sudoers/def_data.c:498 #, 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:496 +#: plugins/sudoers/def_data.c:502 #, 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:500 +#: plugins/sudoers/def_data.c:506 #, c-format msgid "Execute commands by file descriptor instead of by path: %s" msgstr "Execută comenzile după descriptorul fișierului în loc de, după ruta de acces: %s" -#: plugins/sudoers/def_data.c:504 +#: plugins/sudoers/def_data.c:510 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:508 +#: plugins/sudoers/def_data.c:514 #, 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:512 +#: plugins/sudoers/def_data.c:518 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:516 +#: plugins/sudoers/def_data.c:522 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:520 +#: plugins/sudoers/def_data.c:526 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:524 +#: plugins/sudoers/def_data.c:530 #, 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:528 +#: plugins/sudoers/def_data.c:534 #, c-format msgid "Authentication failure message: %s" msgstr "Mesaj de autentificare eșuată: %s" -#: plugins/sudoers/def_data.c:532 +#: plugins/sudoers/def_data.c:538 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:536 +#: plugins/sudoers/def_data.c:542 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:540 +#: plugins/sudoers/def_data.c:546 msgid "Log when a command is allowed by sudoers" msgstr "Înregistrează când o comandă este permisă de „sudoers”" -#: plugins/sudoers/def_data.c:544 +#: plugins/sudoers/def_data.c:550 msgid "Log when a command is denied by sudoers" msgstr "Înregistrează când o comandă este respinsă de „sudoers”" -#: plugins/sudoers/def_data.c:548 +#: plugins/sudoers/def_data.c:554 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:552 +#: plugins/sudoers/def_data.c:558 #, 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:556 +#: plugins/sudoers/def_data.c:562 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:560 +#: plugins/sudoers/def_data.c:566 #, c-format msgid "Path to the audit server's CA bundle file: %s" msgstr "Ruta către fișierul pachet CA al serverului de auditare: %s" -#: plugins/sudoers/def_data.c:564 +#: plugins/sudoers/def_data.c:570 #, c-format msgid "Path to the sudoers certificate file: %s" msgstr "Ruta către fișierul certificat „sudoers”: %s" -#: plugins/sudoers/def_data.c:568 +#: plugins/sudoers/def_data.c:574 #, c-format msgid "Path to the sudoers private key file: %s" msgstr "Ruta către fișierul cheie privată „sudoers”: %s" -#: plugins/sudoers/def_data.c:572 +#: plugins/sudoers/def_data.c:578 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:576 +#: plugins/sudoers/def_data.c:582 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:580 +#: plugins/sudoers/def_data.c:586 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:584 +#: plugins/sudoers/def_data.c:590 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:588 +#: plugins/sudoers/def_data.c:594 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:592 +#: plugins/sudoers/def_data.c:598 #, 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:596 +#: plugins/sudoers/def_data.c:602 #, 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:600 +#: plugins/sudoers/def_data.c:606 #, c-format msgid "The format of logs to produce: %s" msgstr "Formatul jurnalelor de produs: %s" -#: plugins/sudoers/def_data.c:604 +#: plugins/sudoers/def_data.c:610 msgid "Enable SELinux RBAC support" msgstr "Activează suportul RBAC în SELinux" -#: plugins/sudoers/def_data.c:608 +#: plugins/sudoers/def_data.c:614 #, c-format msgid "Path to the file that is created the first time sudo is run: %s" msgstr "Ruta către fișierul care este creat prima dată când «sudo» este rulat: %s" -#: plugins/sudoers/def_data.c:612 +#: plugins/sudoers/def_data.c:618 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:616 +#: plugins/sudoers/def_data.c:622 msgid "Log sub-commands run by the original command" msgstr "Înregistrează în jurnal subcomenzile executate de comanda originală" -#: plugins/sudoers/def_data.c:620 +#: plugins/sudoers/def_data.c:626 msgid "Log the exit status of commands" msgstr "Înregistrează în jurnal starea de ieșire a comenzilor" -#: plugins/sudoers/def_data.c:624 +#: plugins/sudoers/def_data.c:630 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:628 +#: plugins/sudoers/def_data.c:634 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:632 +#: plugins/sudoers/def_data.c:638 #, 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" @@ -2645,82 +2654,87 @@ 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:636 +#: plugins/sudoers/def_data.c:642 #, 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:640 +#: plugins/sudoers/def_data.c:646 #, 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:644 +#: plugins/sudoers/def_data.c:650 #, 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:648 +#: plugins/sudoers/def_data.c:654 #, 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:652 +#: plugins/sudoers/def_data.c:658 #, 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:656 +#: plugins/sudoers/def_data.c:662 #, 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:660 +#: plugins/sudoers/def_data.c:666 #, 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:664 +#: plugins/sudoers/def_data.c:670 #, 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:668 +#: plugins/sudoers/def_data.c:674 #, 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:672 +#: plugins/sudoers/def_data.c:678 #, 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:676 +#: plugins/sudoers/def_data.c:682 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:680 +#: plugins/sudoers/def_data.c:686 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:684 +#: plugins/sudoers/def_data.c:690 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:688 +#: plugins/sudoers/def_data.c:694 #, 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:692 +#: plugins/sudoers/def_data.c:698 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 +#: plugins/sudoers/def_data.c:702 #, c-format msgid "AppArmor profile to use in the new security context: %s" msgstr "Profilul AppArmor de utilizat în noul context de securitate: %s" +#: plugins/sudoers/def_data.c:706 +#, c-format +msgid "Command denial message: %s" +msgstr "Mesaj de refuz al comenzii: %s" + #: plugins/sudoers/defaults.c:207 #, c-format msgid "unknown defaults entry \"%s\"" @@ -2751,64 +2765,64 @@ 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:1176 plugins/sudoers/policy.c:213 -#: plugins/sudoers/policy.c:222 +#: plugins/sudoers/defaults.c:1189 plugins/sudoers/policy.c:208 +#: plugins/sudoers/policy.c:217 #, c-format msgid "path name for \"%s\" too long" msgstr "numele rutei pentru „%s” este prea lung" -#: plugins/sudoers/defaults.c:1182 +#: plugins/sudoers/defaults.c:1195 #, 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:1189 +#: plugins/sudoers/defaults.c:1202 #, c-format msgid "values for \"%s\" must start with a '/'" msgstr "valorile pentru „%s” trebuie să înceapă cu un caracter „/”" -#: plugins/sudoers/display.c:160 +#: plugins/sudoers/display.c:154 #, c-format msgid "LDAP Role: %s\n" msgstr "Regula LDAP: %s\n" -#: plugins/sudoers/display.c:163 +#: plugins/sudoers/display.c:157 #, c-format msgid "Sudoers entry: %s\n" msgstr "Intrare „sudoers”: %s\n" -#: plugins/sudoers/display.c:166 +#: plugins/sudoers/display.c:160 msgid " RunAsUsers: " msgstr " RuleazăCaUtilizatorii: " -#: plugins/sudoers/display.c:181 +#: plugins/sudoers/display.c:175 msgid " RunAsGroups: " msgstr " RuleazăCaGrupurile: " -#: plugins/sudoers/display.c:191 +#: plugins/sudoers/display.c:185 msgid " Options: " msgstr " Opțiuni: " -#: plugins/sudoers/display.c:255 +#: plugins/sudoers/display.c:249 msgid " Commands:\n" msgstr " Comenzi:\n" -#: plugins/sudoers/display.c:478 +#: plugins/sudoers/display.c:472 #, c-format msgid "Matching Defaults entries for %s on %s:\n" msgstr "Se potrivesc intrările Defaults pentru %s pe %s:\n" -#: plugins/sudoers/display.c:496 +#: plugins/sudoers/display.c:490 #, c-format msgid "Runas and Command-specific defaults for %s:\n" msgstr "Valori implicite specifice „Run_as” și comenzii pentru %s:\n" -#: plugins/sudoers/display.c:514 +#: plugins/sudoers/display.c:508 #, 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/display.c:530 +#: plugins/sudoers/display.c:524 #, 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" @@ -2822,15 +2836,15 @@ msgstr "se ignoră editorul: %.*s" msgid "editor arguments may not contain \"--\"" msgstr "argumentele editorului nu pot să conțină „--”" -#: plugins/sudoers/env.c:426 +#: plugins/sudoers/env.c:443 msgid "sudo_putenv: corrupted envp, length mismatch" msgstr "sudo_putenv: envp corupt, nepotrivire a lungimii" -#: plugins/sudoers/env.c:1119 +#: plugins/sudoers/env.c:1137 msgid "unable to rebuild the environment" msgstr "nu se poate reconstrui mediul" -#: plugins/sudoers/env.c:1199 +#: plugins/sudoers/env.c:1217 #, 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" @@ -2874,37 +2888,37 @@ msgstr "nu se poate analiza masca de rețea „%s”" msgid "Local IP address and netmask pairs:\n" msgstr "Perechile adresă de IP locală și mască de rețea:\n" -#: plugins/sudoers/iolog.c:694 +#: plugins/sudoers/iolog.c:702 msgid "unable to update sequence file" msgstr "nu se poate actualiza fișierul de secvență" -#: plugins/sudoers/iolog.c:728 plugins/sudoers/iolog.c:917 -#: plugins/sudoers/iolog.c:1080 plugins/sudoers/iolog.c:1087 -#: plugins/sudoers/iolog.c:1209 plugins/sudoers/iolog.c:1216 -#: plugins/sudoers/iolog.c:1316 plugins/sudoers/iolog.c:1323 +#: plugins/sudoers/iolog.c:736 plugins/sudoers/iolog.c:925 +#: plugins/sudoers/iolog.c:1088 plugins/sudoers/iolog.c:1095 +#: plugins/sudoers/iolog.c:1217 plugins/sudoers/iolog.c:1224 +#: plugins/sudoers/iolog.c:1324 plugins/sudoers/iolog.c:1331 #, 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" -#: plugins/sudoers/iolog.c:736 +#: plugins/sudoers/iolog.c:744 #, c-format msgid "unable to create %s/%s" msgstr "nu se poate crea %s/%s" -#: plugins/sudoers/iolog.c:965 +#: plugins/sudoers/iolog.c:973 #, 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:1065 plugins/sudoers/iolog.c:1194 -#: plugins/sudoers/iolog.c:1300 plugins/sudoers/timestamp.c:897 -#: plugins/sudoers/timestamp.c:989 plugins/sudoers/visudo.c:555 +#: plugins/sudoers/iolog.c:1073 plugins/sudoers/iolog.c:1202 +#: plugins/sudoers/iolog.c:1308 plugins/sudoers/timestamp.c:900 +#: plugins/sudoers/timestamp.c:992 plugins/sudoers/visudo.c:555 #: plugins/sudoers/visudo.c:561 msgid "unable to read the clock" msgstr "nu se poate citi ceasul" -#: plugins/sudoers/iolog.c:1292 plugins/sudoers/log_client.c:1203 -#: plugins/sudoers/log_client.c:1213 plugins/sudoers/log_client.c:1217 +#: plugins/sudoers/iolog.c:1300 plugins/sudoers/log_client.c:1226 +#: plugins/sudoers/log_client.c:1236 plugins/sudoers/log_client.c:1240 #, c-format msgid "%s: internal error, invalid signal %d" msgstr "%s: eroare internă, semnal nevalid %d" @@ -2951,15 +2965,15 @@ msgstr "tip de URI LDAP neacceptat: %s" msgid "unable to mix ldap and ldaps URIs" msgstr "nu se pot fuziona adrese URI, ldap și ldaps" -#: 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 +#: plugins/sudoers/ldap_util.c:496 plugins/sudoers/ldap_util.c:503 +#: plugins/sudoers/ldap_util.c:511 plugins/sudoers/ldap_util.c:519 +#: plugins/sudoers/ldap_util.c:527 plugins/sudoers/ldap_util.c:535 +#: plugins/sudoers/ldap_util.c:543 plugins/sudoers/ldap_util.c:551 #, c-format msgid "duplicate sudoOption: %s%s%s" msgstr "sudoOption duplicată: %s%s%s" -#: plugins/sudoers/ldap_util.c:568 plugins/sudoers/ldap_util.c:570 +#: plugins/sudoers/ldap_util.c:569 plugins/sudoers/ldap_util.c:571 #, c-format msgid "unable to convert sudoOption: %s%s%s" msgstr "nu se poate converti sudoOption: %s%s%s" @@ -2972,63 +2986,63 @@ 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:125 plugins/sudoers/log_client.c:412 -#: plugins/sudoers/log_client.c:1450 plugins/sudoers/log_client.c:2076 +#: plugins/sudoers/log_client.c:125 plugins/sudoers/log_client.c:421 +#: plugins/sudoers/log_client.c:1473 plugins/sudoers/log_client.c:2101 msgid "error in event loop" msgstr "eroare în bucla de eveniment" -#: plugins/sudoers/log_client.c:205 +#: plugins/sudoers/log_client.c:214 #, 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:230 +#: plugins/sudoers/log_client.c:239 #, 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:252 +#: plugins/sudoers/log_client.c:261 #, c-format msgid "unable to load certificate %s" msgstr "nu se poate încărca certificatul %s" -#: plugins/sudoers/log_client.c:266 +#: plugins/sudoers/log_client.c:275 #, c-format msgid "unable to load private key %s" msgstr "nu se poate încărca cheia privată %s" -#: plugins/sudoers/log_client.c:275 +#: plugins/sudoers/log_client.c:284 #, c-format msgid "Unable to allocate ssl object: %s" msgstr "Nu se poate aloca obiectul ssl: %s" -#: plugins/sudoers/log_client.c:364 plugins/sudoers/log_client.c:369 +#: plugins/sudoers/log_client.c:373 plugins/sudoers/log_client.c:378 #, 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:545 +#: plugins/sudoers/log_client.c:554 msgid "TLS initialization was unsuccessful" msgstr "Inițializarea TLS nu a reușit" -#: plugins/sudoers/log_client.c:555 +#: plugins/sudoers/log_client.c:564 msgid "TLS handshake was unsuccessful" msgstr "Negocierea TLS nu a reușit" -#: plugins/sudoers/log_client.c:1221 +#: plugins/sudoers/log_client.c:1244 #, 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:1757 plugins/sudoers/log_client.c:1782 +#: plugins/sudoers/log_client.c:1780 plugins/sudoers/log_client.c:1805 msgid "lost connection to log server" msgstr "a fost pierdută conexiunea la serverul de înregistrare a jurnalului" -#: plugins/sudoers/log_client.c:1859 +#: plugins/sudoers/log_client.c:1882 msgid "missing write buffer" msgstr "lipsește memoria tampon de scriere" -#: plugins/sudoers/log_client.c:2015 +#: plugins/sudoers/log_client.c:2040 msgid "unable to connect to log server" msgstr "nu se poate conecta la serverul de înregistrare a jurnalului" @@ -3041,42 +3055,55 @@ msgid "user NOT authorized on host" msgstr "utilizatorul NU este autorizat pe gazdă" #: plugins/sudoers/logging.c:299 +msgid "setid command rejected in intercept mode" +msgstr "comanda setid respinsă în modul de interceptare" + +#: plugins/sudoers/logging.c:301 msgid "command not allowed" msgstr "comanda nu este permisă" -#: plugins/sudoers/logging.c:320 +#: plugins/sudoers/logging.c:322 #, 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:323 +#: plugins/sudoers/logging.c:325 #, 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:326 +#: plugins/sudoers/logging.c:328 plugins/sudoers/parser_warnx.c:59 +#, c-format +msgid "%s: %s\n" +msgstr "%s: %s\n" + +#: plugins/sudoers/logging.c:329 +msgid "setid commands are not permitted in intercept mode" +msgstr "comenzile setid nu sunt permise în modul de interceptare" + +#: plugins/sudoers/logging.c:331 #, 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:339 +#: plugins/sudoers/logging.c:344 #, c-format msgid "Sorry, user %s is not allowed to execute '%s%s%s%s' as %s%s%s on %s.\n" msgstr "Utilizatorului %s nu îi este permis să execute „%s%s%s%s” ca %s%s%s pe %s.\n" -#: plugins/sudoers/logging.c:350 +#: plugins/sudoers/logging.c:358 msgid "This incident has been reported to the administrator.\n" msgstr "Acest incident a fost raportat administratorului.\n" -#: plugins/sudoers/logging.c:387 plugins/sudoers/sudoers.c:547 -#: plugins/sudoers/sudoers.c:549 plugins/sudoers/sudoers.c:551 -#: plugins/sudoers/sudoers.c:553 plugins/sudoers/sudoers.c:777 -#: plugins/sudoers/sudoers.c:779 +#: plugins/sudoers/logging.c:395 plugins/sudoers/sudoers.c:564 +#: plugins/sudoers/sudoers.c:566 plugins/sudoers/sudoers.c:568 +#: plugins/sudoers/sudoers.c:570 plugins/sudoers/sudoers.c:794 +#: plugins/sudoers/sudoers.c:796 #, c-format msgid "%s: command not found" msgstr "%s: comanda nu a fost găsită" -#: plugins/sudoers/logging.c:389 plugins/sudoers/sudoers.c:543 +#: plugins/sudoers/logging.c:397 plugins/sudoers/sudoers.c:560 #, c-format msgid "" "ignoring \"%s\" found in '.'\n" @@ -3085,7 +3112,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:409 +#: plugins/sudoers/logging.c:417 #, c-format msgid "%u incorrect password attempt" msgid_plural "%u incorrect password attempts" @@ -3094,24 +3121,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:500 +#: plugins/sudoers/logging.c:508 msgid "authentication failure" msgstr "eșec de autentificare" -#: plugins/sudoers/logging.c:539 plugins/sudoers/logging.c:558 +#: plugins/sudoers/logging.c:552 plugins/sudoers/logging.c:571 msgid "a password is required" msgstr "o parolă este necesară" -#: plugins/sudoers/logging.c:881 +#: plugins/sudoers/logging.c:889 msgid "problem parsing sudoers" msgstr "problemă la analizarea sintaxei lui „sudoers”" -#: plugins/sudoers/logging.c:922 plugins/sudoers/logging.c:930 +#: plugins/sudoers/logging.c:930 plugins/sudoers/logging.c:938 #, c-format msgid "%s:%d:%d: %s" msgstr "%s:%d:%d: %s" -#: plugins/sudoers/logging.c:1108 +#: plugins/sudoers/logging.c:1119 #, c-format msgid "unable to write log file %s" msgstr "nu se poate scrie fișierul de jurnal %s" @@ -3141,11 +3168,6 @@ msgstr "atribut LDIF nevalid: %s" msgid "%s:%d:%d: %s\n" msgstr "%s:%d:%d: %s\n" -#: plugins/sudoers/parser_warnx.c:59 -#, c-format -msgid "%s: %s\n" -msgstr "%s: %s\n" - #: plugins/sudoers/pivot.c:71 msgid "unable to restore root directory" msgstr "nu se poate restabili directorul rădăcină" @@ -3159,59 +3181,59 @@ msgstr "nu se poate restabili directorul de lucru actual" msgid "invalid %.*s set by sudo front-end" msgstr "%.*s nevalid stabilit de interfața «sudo»" -#: plugins/sudoers/policy.c:364 plugins/sudoers/testsudoers.c:329 +#: plugins/sudoers/policy.c:347 plugins/sudoers/testsudoers.c:329 msgid "unable to parse network address list" msgstr "nu se poate analiza lista de adrese de rețea" -#: plugins/sudoers/policy.c:556 +#: plugins/sudoers/policy.c:555 msgid "user name not set by sudo front-end" msgstr "numele de utilizator nu este stabilit de interfața sudo" -#: plugins/sudoers/policy.c:560 +#: plugins/sudoers/policy.c:559 msgid "user-ID not set by sudo front-end" msgstr "ID-ul utilizatorului nu este stabilit de interfața «sudo»" -#: plugins/sudoers/policy.c:564 +#: plugins/sudoers/policy.c:563 msgid "group-ID not set by sudo front-end" msgstr "ID-ul grupului nu este stabilit de interfața «sudo»" -#: plugins/sudoers/policy.c:568 +#: plugins/sudoers/policy.c:567 msgid "host name not set by sudo front-end" msgstr "numele gazdei nu este stabilit de interfața sudo" -#: plugins/sudoers/policy.c:757 +#: plugins/sudoers/policy.c:765 #, c-format msgid "invalid working directory: %s" msgstr "director de lucru nevalid: %s" -#: plugins/sudoers/policy.c:944 +#: plugins/sudoers/policy.c:952 #, c-format msgid "invalid chroot directory: %s" msgstr "director „chroot” nevalid: %s" -#: plugins/sudoers/policy.c:1153 plugins/sudoers/visudo.c:919 +#: plugins/sudoers/policy.c:1163 plugins/sudoers/visudo.c:919 #: plugins/sudoers/visudo.c:1218 #, c-format msgid "unable to execute %s" msgstr "nu se poate executa %s" -#: plugins/sudoers/policy.c:1225 plugins/sudoers/policy.c:1260 -#: plugins/sudoers/policy.c:1282 plugins/sudoers/policy.c:1300 +#: plugins/sudoers/policy.c:1232 plugins/sudoers/policy.c:1267 +#: plugins/sudoers/policy.c:1289 plugins/sudoers/policy.c:1307 #, 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:1323 +#: plugins/sudoers/policy.c:1330 #, c-format msgid "Sudoers policy plugin version %s\n" msgstr "Versiunea modulului de politică „sudoers”, este %s\n" -#: plugins/sudoers/policy.c:1325 +#: plugins/sudoers/policy.c:1332 #, c-format msgid "Sudoers file grammar version %d\n" msgstr "Versiunea de gramatică a fișierului „sudoers”, este %d\n" -#: plugins/sudoers/policy.c:1329 +#: plugins/sudoers/policy.c:1336 #, c-format msgid "" "\n" @@ -3220,27 +3242,27 @@ msgstr "" "\n" "Ruta „sudoers”: %s\n" -#: plugins/sudoers/policy.c:1332 +#: plugins/sudoers/policy.c:1339 #, c-format msgid "nsswitch path: %s\n" msgstr "ruta nsswitch: %s\n" -#: plugins/sudoers/policy.c:1335 +#: plugins/sudoers/policy.c:1342 #, c-format msgid "ldap.conf path: %s\n" msgstr "ruta ldap.conf: %s\n" -#: plugins/sudoers/policy.c:1337 +#: plugins/sudoers/policy.c:1344 #, c-format msgid "ldap.secret path: %s\n" msgstr "ruta ldap.secret: %s\n" -#: plugins/sudoers/policy.c:1370 +#: plugins/sudoers/policy.c:1377 #, 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:1388 +#: plugins/sudoers/policy.c:1395 #, 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)" @@ -3287,24 +3309,24 @@ msgstr "nu se poate stoca în memoria tampon grupul %s" msgid "unable to cache group %s, already exists" msgstr "nu se poate stoca în memoria tampon grupul %s, există deja" -#: plugins/sudoers/pwutil.c:900 plugins/sudoers/pwutil.c:985 -#: plugins/sudoers/pwutil.c:1039 plugins/sudoers/pwutil.c:1095 +#: plugins/sudoers/pwutil.c:900 plugins/sudoers/pwutil.c:988 +#: plugins/sudoers/pwutil.c:1042 plugins/sudoers/pwutil.c:1101 #, c-format msgid "unable to cache group list for %s, already exists" msgstr "nu se poate stoca în memoria tampon lista grupului pentru %s, există deja" -#: plugins/sudoers/pwutil.c:906 plugins/sudoers/pwutil.c:990 -#: plugins/sudoers/pwutil.c:1045 plugins/sudoers/pwutil.c:1100 +#: plugins/sudoers/pwutil.c:906 plugins/sudoers/pwutil.c:993 +#: plugins/sudoers/pwutil.c:1048 plugins/sudoers/pwutil.c:1106 #, c-format msgid "unable to cache group list for %s" msgstr "nu se poate stoca în memoria tampon lista grupului pentru %s" -#: plugins/sudoers/pwutil.c:979 +#: plugins/sudoers/pwutil.c:982 #, c-format msgid "unable to parse groups for %s" msgstr "nu se pot analiza grupurile pentru %s" -#: plugins/sudoers/pwutil.c:1089 +#: plugins/sudoers/pwutil.c:1095 #, c-format msgid "unable to parse gids for %s" msgstr "nu se pot analiza gid-urile pentru %s" @@ -3433,82 +3455,82 @@ msgstr "utilizatorului nu îi este permis să schimbe directorul la %s" 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:542 +#: plugins/sudoers/sudoers.c:559 msgid "command in current directory" msgstr "comandă în directorul curent" -#: plugins/sudoers/sudoers.c:557 +#: plugins/sudoers/sudoers.c:574 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:559 +#: plugins/sudoers/sudoers.c:576 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:561 +#: plugins/sudoers/sudoers.c:578 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:570 +#: plugins/sudoers/sudoers.c:587 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:572 +#: plugins/sudoers/sudoers.c:589 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:580 +#: plugins/sudoers/sudoers.c:597 msgid "user not allowed to preserve the environment" msgstr "utilizatorului nu îi este permis să păstreze mediul" -#: plugins/sudoers/sudoers.c:582 +#: plugins/sudoers/sudoers.c:599 msgid "sorry, you are not allowed to preserve the environment" msgstr "nu aveți permisiunea să păstrați mediul" -#: plugins/sudoers/sudoers.c:618 +#: plugins/sudoers/sudoers.c:635 msgid "no command specified" msgstr "nicio comandă specificată" -#: plugins/sudoers/sudoers.c:759 +#: plugins/sudoers/sudoers.c:776 msgid "error setting user-specified environment variables" msgstr "eroare la stabilirea variabilelor de mediu specificate de utilizator" -#: plugins/sudoers/sudoers.c:1211 +#: plugins/sudoers/sudoers.c:1229 msgid "sudoedit doesn't need to be run via sudo" msgstr "«sudoedit» nu are nevoie să fie rulat via «sudo»" -#: plugins/sudoers/sudoers.c:1296 plugins/sudoers/sudoreplay.c:1613 -#: plugins/sudoers/tsdump.c:138 +#: plugins/sudoers/sudoers.c:1314 plugins/sudoers/sudoreplay.c:1615 +#: plugins/sudoers/tsdump.c:151 #, c-format msgid "unable to read %s" msgstr "nu se poate citi %s" -#: plugins/sudoers/sudoers.c:1321 plugins/sudoers/visudo.c:1123 +#: plugins/sudoers/sudoers.c:1339 plugins/sudoers/visudo.c:1123 #, c-format msgid "%s is not a regular file" msgstr "%s nu este un fișier obișnuit" -#: plugins/sudoers/sudoers.c:1325 plugins/sudoers/timestamp.c:272 toke.l:1355 +#: plugins/sudoers/sudoers.c:1343 plugins/sudoers/timestamp.c:272 toke.l:1335 #, 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:1330 plugins/sudoers/timestamp.c:279 toke.l:1360 +#: plugins/sudoers/sudoers.c:1348 plugins/sudoers/timestamp.c:279 toke.l:1340 #, c-format msgid "%s is world writable" msgstr "%s poate fi scris de oricine" -#: plugins/sudoers/sudoers.c:1334 plugins/sudoers/timestamp.c:284 toke.l:1363 +#: plugins/sudoers/sudoers.c:1352 plugins/sudoers/timestamp.c:284 toke.l:1343 #, 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:1363 +#: plugins/sudoers/sudoers.c:1381 #, c-format msgid "only root can use \"-c %s\"" msgstr "doar root poate utiliza „-c %s”" -#: plugins/sudoers/sudoers.c:1382 +#: plugins/sudoers/sudoers.c:1400 #, c-format msgid "unknown login class %s" msgstr "clasă de autentificare necunoscută %s" @@ -3553,75 +3575,75 @@ msgstr "%s/sincronizare: %s" msgid "Replaying sudo session: %s" msgstr "Se redă sesiunea sudo: %s" -#: plugins/sudoers/sudoreplay.c:634 +#: plugins/sudoers/sudoreplay.c:633 plugins/sudoers/sudoreplay.c:636 msgid "unable to set tty to raw mode" msgstr "nu se poate stabili tty la modul „raw”" -#: plugins/sudoers/sudoreplay.c:685 +#: plugins/sudoers/sudoreplay.c:687 msgid "Warning: your terminal is too small to properly replay the log." msgstr "Avertisment: terminalul este prea mic pentru a putea reda bine jurnalul." -#: plugins/sudoers/sudoreplay.c:686 +#: plugins/sudoers/sudoreplay.c:688 #, c-format msgid "Log geometry is %d x %d, your terminal's geometry is %d x %d." msgstr "Geometria jurnalului este %d x %d, iar geometria terminalului este %d x %d." -#: plugins/sudoers/sudoreplay.c:714 +#: plugins/sudoers/sudoreplay.c:716 msgid "Replay finished, press any key to restore the terminal." msgstr "Redarea s-a încheiat, apăsați orice tastă pentru a restaura terminalul." -#: plugins/sudoers/sudoreplay.c:1217 plugins/sudoers/sudoreplay.c:1247 +#: plugins/sudoers/sudoreplay.c:1219 plugins/sudoers/sudoreplay.c:1249 #, c-format msgid "ambiguous expression \"%s\"" msgstr "expresie ambiguă „%s”" -#: plugins/sudoers/sudoreplay.c:1269 +#: plugins/sudoers/sudoreplay.c:1271 msgid "unmatched ')' in expression" msgstr "„)” fără pereche în expresie" -#: plugins/sudoers/sudoreplay.c:1273 +#: plugins/sudoers/sudoreplay.c:1275 #, c-format msgid "unknown search term \"%s\"" msgstr "termen de căutare necunoscut „%s”" -#: plugins/sudoers/sudoreplay.c:1288 +#: plugins/sudoers/sudoreplay.c:1290 #, c-format msgid "%s requires an argument" msgstr "%s necesită un argument" -#: plugins/sudoers/sudoreplay.c:1298 +#: plugins/sudoers/sudoreplay.c:1300 #, c-format msgid "could not parse date \"%s\"" msgstr "nu s-a putut analiza data „%s”" -#: plugins/sudoers/sudoreplay.c:1307 +#: plugins/sudoers/sudoreplay.c:1309 msgid "unmatched '(' in expression" msgstr "„(” fără pereche în expresie" -#: plugins/sudoers/sudoreplay.c:1309 +#: plugins/sudoers/sudoreplay.c:1311 msgid "illegal trailing \"or\"" msgstr "terminare ilegală a expresiei, cu „or”" -#: plugins/sudoers/sudoreplay.c:1311 +#: plugins/sudoers/sudoreplay.c:1313 msgid "illegal trailing \"!\"" msgstr "terminare ilegală a expresiei, cu „!”" -#: plugins/sudoers/sudoreplay.c:1417 +#: plugins/sudoers/sudoreplay.c:1419 #, c-format msgid "unknown search type %d" msgstr "tip de căutare necunoscută %d" -#: plugins/sudoers/sudoreplay.c:1679 +#: plugins/sudoers/sudoreplay.c:1681 #, 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:1681 +#: plugins/sudoers/sudoreplay.c:1683 #, 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:1695 +#: plugins/sudoers/sudoreplay.c:1697 #, c-format msgid "" "%s - replay sudo session logs\n" @@ -3630,7 +3652,7 @@ msgstr "" "%s - redă jurnalele de sesiune «sudo»\n" "\n" -#: plugins/sudoers/sudoreplay.c:1697 +#: plugins/sudoers/sudoreplay.c:1699 msgid "" "\n" "Options:\n" @@ -3707,26 +3729,26 @@ msgstr "" "\n" "Comanda nu se potrivește" -#: plugins/sudoers/timestamp.c:364 plugins/sudoers/timestamp.c:711 +#: plugins/sudoers/timestamp.c:364 plugins/sudoers/timestamp.c:714 #, 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:908 +#: plugins/sudoers/timestamp.c:911 msgid "ignoring time stamp from the future" msgstr "se vor ignora marcajele de timp pe viitor" -#: plugins/sudoers/timestamp.c:931 +#: plugins/sudoers/timestamp.c:934 #, 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:1067 +#: plugins/sudoers/timestamp.c:1070 #, 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:1114 +#: plugins/sudoers/timestamp.c:1117 #, c-format msgid "%s:%d:%d timestampowner: unknown user %s" msgstr "%s:%d:%d timestampowner: utilizator necunoscut %s" @@ -3928,19 +3950,19 @@ msgstr "continuarea liniei nevalidă" msgid "invalid IPv6 address" msgstr "adresă IPv6 invalidă" -#: toke.l:863 +#: toke.l:843 msgid "unexpected line break in string" msgstr "întrerupere de linie neașteptată în șir" -#: toke.l:982 +#: toke.l:962 msgid "ignoring editor backup file" msgstr "se ignoră fișierul de copie de rezervă al editorului" -#: toke.l:985 +#: toke.l:965 msgid "ignoring file name containing '.'" msgstr "se ignoră numele de fișier care conține „.”" -#: toke.l:1310 +#: toke.l:1290 msgid "too many levels of includes" msgstr "prea multe niveluri de includeri" @@ -4019,9 +4041,6 @@ msgstr "prea multe niveluri de includeri" #~ msgid "problem with defaults entries" #~ msgstr "problemă cu intrările implicite" -#~ msgid "internal error, unable to find %s in list!" -#~ msgstr "eroare internă, nu se poate găsi %s în listă!" - #~ msgid "%s:%u unable to parse \"%s\"" #~ msgstr "%s:%u nu se poate parsa „%s”" diff --git a/plugins/sudoers/po/ru.mo b/plugins/sudoers/po/ru.mo index 7f980667f..6ddd38f9c 100644 Binary files a/plugins/sudoers/po/ru.mo and b/plugins/sudoers/po/ru.mo differ diff --git a/plugins/sudoers/po/ru.po b/plugins/sudoers/po/ru.po index 6e7ded327..36ec6478d 100644 --- a/plugins/sudoers/po/ru.po +++ b/plugins/sudoers/po/ru.po @@ -4,13 +4,13 @@ # # Artem Vorotnikov , 2015. # Pavel Maryanov , 2015, 2022. -# Kirill Isakov , 2023. +# Kirill Isakov , 2023, 2024. msgid "" msgstr "" -"Project-Id-Version: sudoers 1.9.15b1\n" +"Project-Id-Version: sudoers 1.9.16b1\n" "Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n" -"POT-Creation-Date: 2023-10-19 10:02-0600\n" -"PO-Revision-Date: 2023-10-22 18:07+0600\n" +"POT-Creation-Date: 2024-06-08 09:06-0600\n" +"PO-Revision-Date: 2024-06-16 21:13+0500\n" "Last-Translator: Kirill Isakov \n" "Language-Team: Russian \n" "Language: ru\n" @@ -18,10 +18,10 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "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-Generator: Poedit 3.3.2\n" +"X-Generator: Poedit 3.4.2\n" "X-Bugs: Report translation errors to the Language-Team address.\n" -#: confstr.sh:1 gram.y:1257 plugins/sudoers/logging.c:911 +#: confstr.sh:1 gram.y:1240 plugins/sudoers/logging.c:919 msgid "syntax error" msgstr "ошибка синтаксиса" @@ -46,16 +46,16 @@ msgid "Sorry, try again." msgstr "Попробуйте ещё раз." #: gram.y:238 gram.y:305 gram.y:314 gram.y:323 gram.y:333 gram.y:343 gram.y:367 -#: gram.y:394 gram.y:403 gram.y:411 gram.y:420 gram.y:429 gram.y:503 gram.y:513 -#: gram.y:525 gram.y:573 gram.y:582 gram.y:591 gram.y:600 gram.y:733 gram.y:742 -#: gram.y:757 gram.y:777 gram.y:796 gram.y:959 gram.y:964 gram.y:972 gram.y:986 -#: gram.y:992 gram.y:1004 gram.y:1010 gram.y:1135 gram.y:1144 gram.y:1152 -#: gram.y:1161 gram.y:1170 gram.y:1199 gram.y:1208 gram.y:1216 gram.y:1317 -#: gram.y:1447 gram.y:1829 gram.y:1840 gram.y:1922 lib/eventlog/eventlog.c:236 -#: lib/eventlog/eventlog.c:313 lib/eventlog/eventlog.c:765 -#: lib/eventlog/eventlog.c:842 lib/eventlog/eventlog.c:1175 -#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:484 -#: lib/eventlog/parse_json.c:514 lib/iolog/iolog_filter.c:142 +#: gram.y:394 gram.y:403 gram.y:411 gram.y:420 gram.y:429 gram.y:502 gram.y:512 +#: gram.y:524 gram.y:566 gram.y:575 gram.y:584 gram.y:593 gram.y:726 gram.y:735 +#: gram.y:750 gram.y:770 gram.y:789 gram.y:942 gram.y:947 gram.y:955 gram.y:969 +#: gram.y:975 gram.y:987 gram.y:993 gram.y:1118 gram.y:1127 gram.y:1135 +#: gram.y:1144 gram.y:1153 gram.y:1182 gram.y:1191 gram.y:1199 gram.y:1300 +#: gram.y:1430 gram.y:1811 gram.y:1822 gram.y:1898 lib/eventlog/eventlog.c:236 +#: lib/eventlog/eventlog.c:313 lib/eventlog/eventlog.c:778 +#: lib/eventlog/eventlog.c:855 lib/eventlog/eventlog.c:1189 +#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:501 +#: lib/eventlog/parse_json.c:531 lib/iolog/iolog_filter.c:142 #: lib/iolog/iolog_filter.c:202 lib/iolog/iolog_filter.c:233 #: lib/iolog/iolog_legacy.c:101 lib/iolog/iolog_legacy.c:112 #: lib/iolog/iolog_legacy.c:124 lib/iolog/iolog_legacy.c:134 @@ -66,13 +66,13 @@ msgstr "Попробуйте ещё раз." #: logsrvd/iolog_writer.c:218 logsrvd/iolog_writer.c:228 #: logsrvd/iolog_writer.c:257 logsrvd/iolog_writer.c:278 #: logsrvd/iolog_writer.c:290 logsrvd/iolog_writer.c:300 -#: logsrvd/iolog_writer.c:310 logsrvd/iolog_writer.c:320 -#: logsrvd/iolog_writer.c:330 logsrvd/iolog_writer.c:342 -#: logsrvd/iolog_writer.c:377 logsrvd/iolog_writer.c:383 -#: logsrvd/iolog_writer.c:390 logsrvd/iolog_writer.c:396 -#: logsrvd/iolog_writer.c:580 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:323 -#: logsrvd/logsrvd.c:1057 logsrvd/logsrvd.c:1120 logsrvd/logsrvd.c:1589 -#: logsrvd/logsrvd.c:1594 logsrvd/logsrvd.c:1781 logsrvd/logsrvd.c:2003 +#: logsrvd/iolog_writer.c:318 logsrvd/iolog_writer.c:328 +#: logsrvd/iolog_writer.c:338 logsrvd/iolog_writer.c:350 +#: logsrvd/iolog_writer.c:385 logsrvd/iolog_writer.c:391 +#: logsrvd/iolog_writer.c:398 logsrvd/iolog_writer.c:404 +#: logsrvd/iolog_writer.c:588 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:324 +#: logsrvd/logsrvd.c:1058 logsrvd/logsrvd.c:1121 logsrvd/logsrvd.c:1599 +#: logsrvd/logsrvd.c:1604 logsrvd/logsrvd.c:1791 logsrvd/logsrvd.c:2046 #: 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 @@ -80,11 +80,11 @@ msgstr "Попробуйте ещё раз." #: 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_conf.c:829 logsrvd/logsrvd_conf.c:1041 +#: logsrvd/logsrvd_conf.c:1058 logsrvd/logsrvd_conf.c:1453 +#: logsrvd/logsrvd_conf.c:1600 logsrvd/logsrvd_conf.c:1626 +#: logsrvd/logsrvd_conf.c:1638 logsrvd/logsrvd_conf.c:1645 +#: logsrvd/logsrvd_conf.c:1651 logsrvd/logsrvd_conf.c:1748 #: logsrvd/logsrvd_journal.c:76 logsrvd/logsrvd_journal.c:216 #: logsrvd/logsrvd_journal.c:217 logsrvd/logsrvd_journal.c:274 #: logsrvd/logsrvd_journal.c:279 logsrvd/logsrvd_journal.c:439 @@ -97,10 +97,10 @@ msgstr "Попробуйте ещё раз." #: logsrvd/logsrvd_queue.c:266 logsrvd/logsrvd_relay.c:446 #: logsrvd/logsrvd_relay.c:748 logsrvd/logsrvd_relay.c:855 #: logsrvd/sendlog.c:256 logsrvd/sendlog.c:265 logsrvd/sendlog.c:297 -#: logsrvd/sendlog.c:303 logsrvd/sendlog.c:352 logsrvd/sendlog.c:630 -#: logsrvd/sendlog.c:1822 plugins/sudoers/audit.c:118 -#: plugins/sudoers/auth/bsdauth.c:154 plugins/sudoers/auth/kerb5.c:122 -#: plugins/sudoers/auth/kerb5.c:150 plugins/sudoers/auth/pam.c:697 +#: logsrvd/sendlog.c:303 logsrvd/sendlog.c:352 logsrvd/sendlog.c:651 +#: logsrvd/sendlog.c:1847 plugins/sudoers/audit.c:118 +#: plugins/sudoers/auth/bsdauth.c:154 plugins/sudoers/auth/kerb5.c:123 +#: plugins/sudoers/auth/kerb5.c:151 plugins/sudoers/auth/pam.c:697 #: plugins/sudoers/auth/rfc1938.c:112 plugins/sudoers/auth/sia.c:61 #: plugins/sudoers/canon_path.c:129 plugins/sudoers/canon_path.c:161 #: plugins/sudoers/check_aliases.c:128 plugins/sudoers/check_util.c:56 @@ -110,33 +110,30 @@ msgstr "Попробуйте ещё раз." #: plugins/sudoers/cvtsudoers.c:379 plugins/sudoers/cvtsudoers.c:399 #: plugins/sudoers/cvtsudoers.c:545 plugins/sudoers/cvtsudoers.c:698 #: plugins/sudoers/cvtsudoers.c:716 plugins/sudoers/cvtsudoers.c:891 -#: plugins/sudoers/cvtsudoers.c:899 plugins/sudoers/cvtsudoers.c:1395 -#: plugins/sudoers/cvtsudoers.c:1399 plugins/sudoers/cvtsudoers.c:1501 -#: plugins/sudoers/cvtsudoers_csv.c:183 plugins/sudoers/cvtsudoers_csv.c:247 -#: plugins/sudoers/cvtsudoers_json.c:76 plugins/sudoers/cvtsudoers_ldif.c:152 -#: plugins/sudoers/cvtsudoers_ldif.c:195 plugins/sudoers/cvtsudoers_ldif.c:236 -#: plugins/sudoers/cvtsudoers_ldif.c:302 plugins/sudoers/cvtsudoers_ldif.c:378 -#: plugins/sudoers/cvtsudoers_ldif.c:432 plugins/sudoers/cvtsudoers_ldif.c:440 -#: plugins/sudoers/cvtsudoers_ldif.c:451 plugins/sudoers/cvtsudoers_ldif.c:458 -#: plugins/sudoers/cvtsudoers_ldif.c:470 plugins/sudoers/cvtsudoers_ldif.c:483 -#: plugins/sudoers/cvtsudoers_ldif.c:491 plugins/sudoers/cvtsudoers_ldif.c:638 -#: 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:455 -#: plugins/sudoers/defaults.c:689 plugins/sudoers/defaults.c:1051 -#: plugins/sudoers/defaults.c:1235 plugins/sudoers/editor.c:198 -#: plugins/sudoers/env.c:263 plugins/sudoers/exptilde.c:92 +#: plugins/sudoers/cvtsudoers.c:899 plugins/sudoers/cvtsudoers.c:1393 +#: plugins/sudoers/cvtsudoers.c:1397 plugins/sudoers/cvtsudoers.c:1497 +#: plugins/sudoers/cvtsudoers_csv.c:182 plugins/sudoers/cvtsudoers_csv.c:255 +#: plugins/sudoers/cvtsudoers_json.c:604 plugins/sudoers/cvtsudoers_json.c:639 +#: plugins/sudoers/cvtsudoers_json.c:1016 +#: plugins/sudoers/cvtsudoers_json.c:1041 plugins/sudoers/cvtsudoers_ldif.c:112 +#: plugins/sudoers/cvtsudoers_ldif.c:144 plugins/sudoers/cvtsudoers_ldif.c:260 +#: plugins/sudoers/cvtsudoers_ldif.c:573 plugins/sudoers/cvtsudoers_ldif.c:586 +#: plugins/sudoers/cvtsudoers_ldif.c:591 plugins/sudoers/cvtsudoers_ldif.c:761 +#: plugins/sudoers/cvtsudoers_merge.c:57 plugins/sudoers/cvtsudoers_merge.c:357 +#: plugins/sudoers/cvtsudoers_merge.c:405 +#: plugins/sudoers/cvtsudoers_merge.c:454 +#: plugins/sudoers/cvtsudoers_merge.c:476 +#: plugins/sudoers/cvtsudoers_merge.c:588 +#: plugins/sudoers/cvtsudoers_merge.c:664 +#: plugins/sudoers/cvtsudoers_merge.c:1197 +#: plugins/sudoers/cvtsudoers_merge.c:1281 plugins/sudoers/defaults.c:455 +#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1062 +#: plugins/sudoers/defaults.c:1248 plugins/sudoers/editor.c:198 +#: plugins/sudoers/env.c:280 plugins/sudoers/exptilde.c:92 #: plugins/sudoers/filedigest.c:66 plugins/sudoers/filedigest.c:70 #: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:212 -#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268 -#: plugins/sudoers/iolog.c:675 plugins/sudoers/iolog.c:703 +#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:270 +#: plugins/sudoers/iolog.c:683 plugins/sudoers/iolog.c:711 #: plugins/sudoers/ldap.c:161 plugins/sudoers/ldap.c:448 #: plugins/sudoers/ldap.c:625 plugins/sudoers/ldap.c:789 #: plugins/sudoers/ldap.c:1214 plugins/sudoers/ldap.c:1642 @@ -146,23 +143,23 @@ msgstr "Попробуйте ещё раз." #: plugins/sudoers/ldap_conf.c:299 plugins/sudoers/ldap_conf.c:335 #: plugins/sudoers/ldap_conf.c:441 plugins/sudoers/ldap_conf.c:456 #: plugins/sudoers/ldap_conf.c:565 plugins/sudoers/ldap_conf.c:598 -#: plugins/sudoers/ldap_conf.c:694 plugins/sudoers/ldap_conf.c:776 +#: plugins/sudoers/ldap_conf.c:696 plugins/sudoers/ldap_conf.c:778 #: 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:717 plugins/sudoers/log_client.c:739 -#: plugins/sudoers/log_client.c:744 plugins/sudoers/log_client.c:1426 -#: plugins/sudoers/log_client.c:1547 plugins/sudoers/log_client.c:1670 -#: plugins/sudoers/log_client.c:1993 plugins/sudoers/log_client.c:2052 +#: plugins/sudoers/ldap_util.c:615 plugins/sudoers/linux_audit.c:86 +#: plugins/sudoers/log_client.c:117 plugins/sudoers/log_client.c:411 +#: plugins/sudoers/log_client.c:726 plugins/sudoers/log_client.c:748 +#: plugins/sudoers/log_client.c:753 plugins/sudoers/log_client.c:1449 +#: plugins/sudoers/log_client.c:1570 plugins/sudoers/log_client.c:1693 +#: plugins/sudoers/log_client.c:2018 plugins/sudoers/log_client.c:2077 #: plugins/sudoers/logging.c:110 plugins/sudoers/logging.c:190 -#: plugins/sudoers/logging.c:475 plugins/sudoers/logging.c:711 -#: plugins/sudoers/logging.c:872 plugins/sudoers/lookup.c:338 -#: plugins/sudoers/lookup.c:355 plugins/sudoers/lookup.c:374 -#: plugins/sudoers/lookup.c:393 plugins/sudoers/lookup.c:410 -#: plugins/sudoers/lookup.c:433 plugins/sudoers/lookup.c:444 -#: plugins/sudoers/match_command.c:302 plugins/sudoers/match_command.c:574 -#: plugins/sudoers/match_command.c:641 plugins/sudoers/match_command.c:737 -#: plugins/sudoers/match_command.c:785 plugins/sudoers/match_digest.c:88 +#: plugins/sudoers/logging.c:483 plugins/sudoers/logging.c:723 +#: plugins/sudoers/logging.c:880 plugins/sudoers/lookup.c:331 +#: plugins/sudoers/lookup.c:348 plugins/sudoers/lookup.c:366 +#: plugins/sudoers/lookup.c:384 plugins/sudoers/lookup.c:401 +#: plugins/sudoers/lookup.c:423 plugins/sudoers/lookup.c:434 +#: plugins/sudoers/match_command.c:280 plugins/sudoers/match_command.c:544 +#: plugins/sudoers/match_command.c:608 plugins/sudoers/match_command.c:702 +#: plugins/sudoers/match_command.c:750 plugins/sudoers/match_digest.c:88 #: 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 @@ -173,107 +170,107 @@ msgstr "Попробуйте ещё раз." #: 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:646 plugins/sudoers/policy.c:1061 +#: plugins/sudoers/policy.c:654 plugins/sudoers/policy.c:1071 #: plugins/sudoers/prompt.c:94 plugins/sudoers/pwutil.c:219 #: plugins/sudoers/pwutil.c:290 plugins/sudoers/pwutil.c:368 #: plugins/sudoers/pwutil.c:542 plugins/sudoers/pwutil.c:607 #: plugins/sudoers/pwutil.c:679 plugins/sudoers/pwutil.c:877 -#: plugins/sudoers/pwutil.c:967 plugins/sudoers/pwutil.c:1015 -#: plugins/sudoers/pwutil.c:1076 plugins/sudoers/sethost.c:85 +#: plugins/sudoers/pwutil.c:970 plugins/sudoers/pwutil.c:1018 +#: plugins/sudoers/pwutil.c:1082 plugins/sudoers/sethost.c:89 #: plugins/sudoers/sssd.c:145 plugins/sudoers/sssd.c:186 #: plugins/sudoers/sssd.c:415 plugins/sudoers/sssd.c:480 #: plugins/sudoers/sssd.c:507 plugins/sudoers/sssd.c:570 #: plugins/sudoers/sssd.c:765 plugins/sudoers/strvec_join.c:53 #: plugins/sudoers/sudoers.c:405 plugins/sudoers/sudoers.c:412 -#: plugins/sudoers/sudoers.c:656 plugins/sudoers/sudoers.c:666 -#: plugins/sudoers/sudoers.c:811 plugins/sudoers/sudoers.c:877 -#: plugins/sudoers/sudoers.c:936 plugins/sudoers/sudoers.c:985 -#: plugins/sudoers/sudoers.c:1144 plugins/sudoers/sudoers.c:1213 -#: plugins/sudoers/sudoers.c:1307 plugins/sudoers/sudoers_cb.c:150 +#: plugins/sudoers/sudoers.c:673 plugins/sudoers/sudoers.c:683 +#: plugins/sudoers/sudoers.c:828 plugins/sudoers/sudoers.c:894 +#: plugins/sudoers/sudoers.c:953 plugins/sudoers/sudoers.c:1002 +#: plugins/sudoers/sudoers.c:1162 plugins/sudoers/sudoers.c:1231 +#: plugins/sudoers/sudoers.c:1325 plugins/sudoers/sudoers_cb.c:150 #: plugins/sudoers/sudoreplay.c:559 plugins/sudoers/sudoreplay.c:562 -#: plugins/sudoers/sudoreplay.c:1279 plugins/sudoers/sudoreplay.c:1335 -#: plugins/sudoers/sudoreplay.c:1531 plugins/sudoers/sudoreplay.c:1535 +#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1337 +#: plugins/sudoers/sudoreplay.c:1533 plugins/sudoers/sudoreplay.c:1537 #: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:256 #: plugins/sudoers/testsudoers.c:265 plugins/sudoers/testsudoers.c:275 #: plugins/sudoers/testsudoers.c:282 plugins/sudoers/testsudoers.c:302 -#: plugins/sudoers/testsudoers.c:758 plugins/sudoers/timestamp.c:469 -#: plugins/sudoers/timestamp.c:513 plugins/sudoers/timestamp.c:1042 -#: plugins/sudoers/timestamp.c:1216 plugins/sudoers/toke_util.c:79 +#: plugins/sudoers/testsudoers.c:756 plugins/sudoers/timestamp.c:468 +#: plugins/sudoers/timestamp.c:514 plugins/sudoers/timestamp.c:1045 +#: plugins/sudoers/timestamp.c:1248 plugins/sudoers/toke_util.c:79 #: plugins/sudoers/toke_util.c:108 plugins/sudoers/toke_util.c:134 #: plugins/sudoers/toke_util.c:164 plugins/sudoers/toke_util.c:204 -#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:151 +#: plugins/sudoers/tsdump.c:136 plugins/sudoers/visudo.c:151 #: plugins/sudoers/visudo.c:258 plugins/sudoers/visudo.c:383 #: plugins/sudoers/visudo.c:389 plugins/sudoers/visudo.c:501 #: plugins/sudoers/visudo.c:1073 plugins/sudoers/visudo.c:1095 -#: plugins/sudoers/visudo.c:1189 toke.l:1031 toke.l:1194 toke.l:1213 -#: toke.l:1240 toke.l:1320 +#: plugins/sudoers/visudo.c:1189 toke.l:1011 toke.l:1174 toke.l:1193 +#: toke.l:1220 toke.l:1300 msgid "unable to allocate memory" msgstr "не удаётся выделить память" -#: gram.y:624 +#: gram.y:617 msgid "a digest requires a path name" msgstr "для контрольной суммы нужно указать полный путь" -#: gram.y:646 +#: gram.y:639 msgid "values for \"CWD\" must start with a '/', '~', or '*'" msgstr "значения «CWD» должны начинаться с «/», «~» или «*»" -#: gram.y:652 +#: gram.y:645 msgid "\"CWD\" path too long" msgstr "Слишком длинный путь «CWD»" -#: gram.y:662 +#: gram.y:655 msgid "values for \"CHROOT\" must start with a '/', '~', or '*'" msgstr "значения «CHROOT» должны начинаться с «/», «~» или «*»" -#: gram.y:668 +#: gram.y:661 msgid "\"CHROOT\" path too long" msgstr "Слишком длинный путь «CHROOT»" -#: gram.y:817 +#: gram.y:810 #, c-format msgid "syntax error, reserved word %s used as an alias name" msgstr "ошибка синтаксиса, зарезервированное слово %s используется в качестве псевдонима" -#: gram.y:840 +#: gram.y:833 msgid "invalid notbefore value" msgstr "некорректное значение notbefore" -#: gram.y:849 +#: gram.y:842 msgid "invalid notafter value" msgstr "некорректное значение notafter" -#: gram.y:859 plugins/sudoers/policy.c:390 +#: gram.y:852 plugins/sudoers/policy.c:373 msgid "timeout value too large" msgstr "время ожидания слишком велико" -#: gram.y:861 plugins/sudoers/policy.c:392 +#: gram.y:854 plugins/sudoers/policy.c:375 msgid "invalid timeout value" msgstr "некорректное время ожидания" -#: gram.y:982 plugins/sudoers/sudoers.c:1162 +#: gram.y:965 plugins/sudoers/sudoers.c:1180 msgid "command too long" msgstr "слишком длинная команда" -#: gram.y:1016 +#: gram.y:999 msgid "expected a fully-qualified path name" msgstr "ожидался полный путь" -#: gram.y:1261 +#: gram.y:1244 #, c-format msgid "%s:%d:%zu: %s\n" msgstr "%s:%d:%zu: %s\n" -#: gram.y:1315 +#: gram.y:1298 #, c-format msgid "Alias \"%s\" already defined" msgstr "Псевдоним «%s» уже определён" -#: gram.y:1829 gram.y:1840 gram.y:1922 lib/eventlog/eventlog.c:236 -#: lib/eventlog/eventlog.c:765 lib/eventlog/eventlog.c:838 -#: lib/eventlog/eventlog.c:841 lib/eventlog/eventlog.c:1175 -#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:483 -#: lib/eventlog/parse_json.c:514 lib/iolog/iolog_filter.c:142 +#: gram.y:1811 gram.y:1822 gram.y:1898 lib/eventlog/eventlog.c:236 +#: lib/eventlog/eventlog.c:778 lib/eventlog/eventlog.c:851 +#: lib/eventlog/eventlog.c:854 lib/eventlog/eventlog.c:1189 +#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:500 +#: lib/eventlog/parse_json.c:531 lib/iolog/iolog_filter.c:142 #: lib/iolog/iolog_filter.c:202 lib/iolog/iolog_filter.c:232 #: lib/iolog/iolog_legacy.c:101 lib/iolog/iolog_legacy.c:112 #: lib/iolog/iolog_legacy.c:124 lib/iolog/iolog_legacy.c:134 @@ -286,16 +283,16 @@ msgstr "Псевдоним «%s» уже определён" #: logsrvd/iolog_writer.c:246 logsrvd/iolog_writer.c:256 #: logsrvd/iolog_writer.c:267 logsrvd/iolog_writer.c:277 #: logsrvd/iolog_writer.c:289 logsrvd/iolog_writer.c:299 -#: logsrvd/iolog_writer.c:309 logsrvd/iolog_writer.c:319 -#: logsrvd/iolog_writer.c:329 logsrvd/iolog_writer.c:341 -#: logsrvd/iolog_writer.c:377 logsrvd/iolog_writer.c:383 -#: logsrvd/iolog_writer.c:390 logsrvd/iolog_writer.c:396 -#: logsrvd/iolog_writer.c:580 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:323 -#: logsrvd/logsrvd.c:461 logsrvd/logsrvd.c:498 logsrvd/logsrvd.c:530 -#: logsrvd/logsrvd.c:584 logsrvd/logsrvd.c:619 logsrvd/logsrvd.c:668 -#: logsrvd/logsrvd.c:704 logsrvd/logsrvd.c:740 logsrvd/logsrvd.c:1131 -#: logsrvd/logsrvd.c:1446 logsrvd/logsrvd.c:1453 logsrvd/logsrvd.c:1589 -#: logsrvd/logsrvd.c:1594 logsrvd/logsrvd.c:1781 logsrvd/logsrvd.c:2003 +#: logsrvd/iolog_writer.c:317 logsrvd/iolog_writer.c:327 +#: logsrvd/iolog_writer.c:337 logsrvd/iolog_writer.c:349 +#: logsrvd/iolog_writer.c:385 logsrvd/iolog_writer.c:391 +#: logsrvd/iolog_writer.c:398 logsrvd/iolog_writer.c:404 +#: logsrvd/iolog_writer.c:588 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:324 +#: logsrvd/logsrvd.c:462 logsrvd/logsrvd.c:499 logsrvd/logsrvd.c:531 +#: logsrvd/logsrvd.c:585 logsrvd/logsrvd.c:620 logsrvd/logsrvd.c:669 +#: logsrvd/logsrvd.c:705 logsrvd/logsrvd.c:741 logsrvd/logsrvd.c:1132 +#: logsrvd/logsrvd.c:1456 logsrvd/logsrvd.c:1463 logsrvd/logsrvd.c:1599 +#: logsrvd/logsrvd.c:1604 logsrvd/logsrvd.c:1791 logsrvd/logsrvd.c:2046 #: 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 @@ -303,11 +300,11 @@ msgstr "Псевдоним «%s» уже определён" #: 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_conf.c:829 logsrvd/logsrvd_conf.c:1041 +#: logsrvd/logsrvd_conf.c:1058 logsrvd/logsrvd_conf.c:1453 +#: logsrvd/logsrvd_conf.c:1600 logsrvd/logsrvd_conf.c:1626 +#: logsrvd/logsrvd_conf.c:1638 logsrvd/logsrvd_conf.c:1645 +#: logsrvd/logsrvd_conf.c:1651 logsrvd/logsrvd_conf.c:1747 #: logsrvd/logsrvd_journal.c:76 logsrvd/logsrvd_journal.c:125 #: logsrvd/logsrvd_journal.c:216 logsrvd/logsrvd_journal.c:246 #: logsrvd/logsrvd_journal.c:250 logsrvd/logsrvd_journal.c:258 @@ -318,8 +315,8 @@ msgstr "Псевдоним «%s» уже определён" #: logsrvd/logsrvd_queue.c:158 logsrvd/logsrvd_queue.c:189 #: logsrvd/logsrvd_queue.c:266 logsrvd/sendlog.c:256 logsrvd/sendlog.c:265 #: logsrvd/sendlog.c:297 logsrvd/sendlog.c:303 logsrvd/sendlog.c:352 -#: logsrvd/sendlog.c:630 logsrvd/sendlog.c:1523 logsrvd/sendlog.c:1530 -#: logsrvd/sendlog.c:1753 logsrvd/sendlog.c:1822 logsrvd/tls_init.c:305 +#: logsrvd/sendlog.c:651 logsrvd/sendlog.c:1548 logsrvd/sendlog.c:1555 +#: logsrvd/sendlog.c:1778 logsrvd/sendlog.c:1847 logsrvd/tls_init.c:305 #: logsrvd/tls_init.c:329 logsrvd/tls_init.c:340 plugins/sudoers/audit.c:118 #: plugins/sudoers/auth/pam.c:518 plugins/sudoers/auth/pam.c:697 #: plugins/sudoers/auth/rfc1938.c:112 plugins/sudoers/canon_path.c:129 @@ -330,34 +327,31 @@ msgstr "Псевдоним «%s» уже определён" #: plugins/sudoers/cvtsudoers.c:337 plugins/sudoers/cvtsudoers.c:544 #: plugins/sudoers/cvtsudoers.c:697 plugins/sudoers/cvtsudoers.c:715 #: plugins/sudoers/cvtsudoers.c:891 plugins/sudoers/cvtsudoers.c:898 -#: plugins/sudoers/cvtsudoers.c:1395 plugins/sudoers/cvtsudoers.c:1399 -#: plugins/sudoers/cvtsudoers.c:1501 plugins/sudoers/cvtsudoers_csv.c:182 -#: plugins/sudoers/cvtsudoers_csv.c:246 plugins/sudoers/cvtsudoers_json.c:75 -#: plugins/sudoers/cvtsudoers_ldif.c:151 plugins/sudoers/cvtsudoers_ldif.c:194 -#: plugins/sudoers/cvtsudoers_ldif.c:235 plugins/sudoers/cvtsudoers_ldif.c:301 -#: plugins/sudoers/cvtsudoers_ldif.c:377 plugins/sudoers/cvtsudoers_ldif.c:431 -#: plugins/sudoers/cvtsudoers_ldif.c:439 plugins/sudoers/cvtsudoers_ldif.c:450 -#: plugins/sudoers/cvtsudoers_ldif.c:457 plugins/sudoers/cvtsudoers_ldif.c:469 -#: plugins/sudoers/cvtsudoers_ldif.c:482 plugins/sudoers/cvtsudoers_ldif.c:490 -#: plugins/sudoers/cvtsudoers_ldif.c:637 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:455 -#: plugins/sudoers/defaults.c:689 plugins/sudoers/defaults.c:1051 -#: plugins/sudoers/defaults.c:1235 plugins/sudoers/editor.c:198 -#: plugins/sudoers/env.c:263 plugins/sudoers/exptilde.c:92 +#: plugins/sudoers/cvtsudoers.c:1393 plugins/sudoers/cvtsudoers.c:1397 +#: plugins/sudoers/cvtsudoers.c:1497 plugins/sudoers/cvtsudoers_csv.c:182 +#: plugins/sudoers/cvtsudoers_csv.c:255 plugins/sudoers/cvtsudoers_json.c:604 +#: plugins/sudoers/cvtsudoers_json.c:639 plugins/sudoers/cvtsudoers_json.c:1016 +#: plugins/sudoers/cvtsudoers_json.c:1041 plugins/sudoers/cvtsudoers_ldif.c:112 +#: plugins/sudoers/cvtsudoers_ldif.c:144 plugins/sudoers/cvtsudoers_ldif.c:260 +#: plugins/sudoers/cvtsudoers_ldif.c:573 plugins/sudoers/cvtsudoers_ldif.c:586 +#: plugins/sudoers/cvtsudoers_ldif.c:591 plugins/sudoers/cvtsudoers_ldif.c:761 +#: plugins/sudoers/cvtsudoers_merge.c:57 plugins/sudoers/cvtsudoers_merge.c:357 +#: plugins/sudoers/cvtsudoers_merge.c:405 +#: plugins/sudoers/cvtsudoers_merge.c:453 +#: plugins/sudoers/cvtsudoers_merge.c:475 +#: plugins/sudoers/cvtsudoers_merge.c:583 +#: plugins/sudoers/cvtsudoers_merge.c:588 +#: plugins/sudoers/cvtsudoers_merge.c:661 +#: plugins/sudoers/cvtsudoers_merge.c:664 +#: plugins/sudoers/cvtsudoers_merge.c:1196 +#: plugins/sudoers/cvtsudoers_merge.c:1281 plugins/sudoers/defaults.c:455 +#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1062 +#: plugins/sudoers/defaults.c:1248 plugins/sudoers/editor.c:198 +#: plugins/sudoers/env.c:280 plugins/sudoers/exptilde.c:92 #: plugins/sudoers/filedigest.c:66 plugins/sudoers/filedigest.c:70 #: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:211 -#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268 -#: plugins/sudoers/iolog.c:675 plugins/sudoers/iolog.c:703 +#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:270 +#: plugins/sudoers/iolog.c:683 plugins/sudoers/iolog.c:711 #: plugins/sudoers/ldap.c:161 plugins/sudoers/ldap.c:448 #: plugins/sudoers/ldap.c:625 plugins/sudoers/ldap.c:789 #: plugins/sudoers/ldap.c:1214 plugins/sudoers/ldap.c:1642 @@ -367,26 +361,26 @@ msgstr "Псевдоним «%s» уже определён" #: plugins/sudoers/ldap_conf.c:299 plugins/sudoers/ldap_conf.c:335 #: plugins/sudoers/ldap_conf.c:441 plugins/sudoers/ldap_conf.c:456 #: plugins/sudoers/ldap_conf.c:565 plugins/sudoers/ldap_conf.c:598 -#: plugins/sudoers/ldap_conf.c:693 plugins/sudoers/ldap_conf.c:776 +#: plugins/sudoers/ldap_conf.c:695 plugins/sudoers/ldap_conf.c:778 #: 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:717 -#: plugins/sudoers/log_client.c:739 plugins/sudoers/log_client.c:744 -#: plugins/sudoers/log_client.c:1426 plugins/sudoers/log_client.c:1547 -#: plugins/sudoers/log_client.c:1670 plugins/sudoers/log_client.c:1993 -#: plugins/sudoers/log_client.c:2052 plugins/sudoers/logging.c:110 +#: plugins/sudoers/ldap_util.c:615 plugins/sudoers/linux_audit.c:86 +#: plugins/sudoers/log_client.c:117 plugins/sudoers/log_client.c:237 +#: plugins/sudoers/log_client.c:259 plugins/sudoers/log_client.c:273 +#: plugins/sudoers/log_client.c:411 plugins/sudoers/log_client.c:726 +#: plugins/sudoers/log_client.c:748 plugins/sudoers/log_client.c:753 +#: plugins/sudoers/log_client.c:1449 plugins/sudoers/log_client.c:1570 +#: plugins/sudoers/log_client.c:1693 plugins/sudoers/log_client.c:2018 +#: plugins/sudoers/log_client.c:2077 plugins/sudoers/logging.c:110 #: plugins/sudoers/logging.c:189 plugins/sudoers/logging.c:190 -#: plugins/sudoers/logging.c:475 plugins/sudoers/logging.c:711 -#: plugins/sudoers/logging.c:755 plugins/sudoers/logging.c:872 -#: plugins/sudoers/logging.c:925 plugins/sudoers/logging.c:932 -#: plugins/sudoers/lookup.c:337 plugins/sudoers/lookup.c:354 -#: plugins/sudoers/lookup.c:373 plugins/sudoers/lookup.c:392 -#: plugins/sudoers/lookup.c:409 plugins/sudoers/lookup.c:432 -#: plugins/sudoers/lookup.c:443 plugins/sudoers/match_command.c:301 -#: plugins/sudoers/match_command.c:573 plugins/sudoers/match_command.c:640 -#: plugins/sudoers/match_command.c:737 plugins/sudoers/match_command.c:784 +#: plugins/sudoers/logging.c:483 plugins/sudoers/logging.c:723 +#: plugins/sudoers/logging.c:763 plugins/sudoers/logging.c:880 +#: plugins/sudoers/logging.c:933 plugins/sudoers/logging.c:940 +#: plugins/sudoers/lookup.c:330 plugins/sudoers/lookup.c:347 +#: plugins/sudoers/lookup.c:365 plugins/sudoers/lookup.c:383 +#: plugins/sudoers/lookup.c:400 plugins/sudoers/lookup.c:422 +#: plugins/sudoers/lookup.c:433 plugins/sudoers/match_command.c:279 +#: plugins/sudoers/match_command.c:543 plugins/sudoers/match_command.c:607 +#: plugins/sudoers/match_command.c:702 plugins/sudoers/match_command.c:749 #: plugins/sudoers/match_digest.c:88 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 @@ -397,52 +391,52 @@ msgstr "Псевдоним «%s» уже определён" #: plugins/sudoers/parse_ldif.c:595 plugins/sudoers/parse_ldif.c:624 #: plugins/sudoers/parse_ldif.c:649 plugins/sudoers/parse_ldif.c:707 #: plugins/sudoers/parse_ldif.c:724 plugins/sudoers/parse_ldif.c:752 -#: plugins/sudoers/parse_ldif.c:759 plugins/sudoers/policy.c:157 -#: plugins/sudoers/policy.c:166 plugins/sudoers/policy.c:175 -#: plugins/sudoers/policy.c:204 plugins/sudoers/policy.c:374 -#: plugins/sudoers/policy.c:390 plugins/sudoers/policy.c:392 -#: plugins/sudoers/policy.c:430 plugins/sudoers/policy.c:439 -#: plugins/sudoers/policy.c:448 plugins/sudoers/policy.c:457 -#: plugins/sudoers/policy.c:493 plugins/sudoers/policy.c:502 -#: plugins/sudoers/policy.c:511 plugins/sudoers/policy.c:520 -#: plugins/sudoers/policy.c:529 plugins/sudoers/policy.c:538 -#: plugins/sudoers/policy.c:547 plugins/sudoers/policy.c:646 -#: plugins/sudoers/policy.c:1061 plugins/sudoers/prompt.c:94 +#: plugins/sudoers/parse_ldif.c:759 plugins/sudoers/policy.c:152 +#: plugins/sudoers/policy.c:161 plugins/sudoers/policy.c:170 +#: plugins/sudoers/policy.c:199 plugins/sudoers/policy.c:357 +#: plugins/sudoers/policy.c:373 plugins/sudoers/policy.c:375 +#: plugins/sudoers/policy.c:414 plugins/sudoers/policy.c:423 +#: plugins/sudoers/policy.c:432 plugins/sudoers/policy.c:441 +#: plugins/sudoers/policy.c:492 plugins/sudoers/policy.c:501 +#: plugins/sudoers/policy.c:510 plugins/sudoers/policy.c:519 +#: plugins/sudoers/policy.c:528 plugins/sudoers/policy.c:537 +#: plugins/sudoers/policy.c:546 plugins/sudoers/policy.c:654 +#: plugins/sudoers/policy.c:1071 plugins/sudoers/prompt.c:94 #: plugins/sudoers/pwutil.c:219 plugins/sudoers/pwutil.c:290 #: plugins/sudoers/pwutil.c:368 plugins/sudoers/pwutil.c:542 #: plugins/sudoers/pwutil.c:607 plugins/sudoers/pwutil.c:679 -#: plugins/sudoers/pwutil.c:877 plugins/sudoers/pwutil.c:967 -#: plugins/sudoers/pwutil.c:1015 plugins/sudoers/pwutil.c:1076 +#: plugins/sudoers/pwutil.c:877 plugins/sudoers/pwutil.c:970 +#: plugins/sudoers/pwutil.c:1018 plugins/sudoers/pwutil.c:1082 #: plugins/sudoers/set_perms.c:374 plugins/sudoers/set_perms.c:723 #: plugins/sudoers/set_perms.c:1096 plugins/sudoers/set_perms.c:1409 -#: plugins/sudoers/set_perms.c:1579 plugins/sudoers/sethost.c:85 +#: plugins/sudoers/set_perms.c:1579 plugins/sudoers/sethost.c:89 #: plugins/sudoers/sssd.c:144 plugins/sudoers/sssd.c:186 #: plugins/sudoers/sssd.c:415 plugins/sudoers/sssd.c:480 #: plugins/sudoers/sssd.c:507 plugins/sudoers/sssd.c:570 #: plugins/sudoers/sssd.c:765 plugins/sudoers/strvec_join.c:53 #: plugins/sudoers/sudoers.c:405 plugins/sudoers/sudoers.c:412 -#: plugins/sudoers/sudoers.c:656 plugins/sudoers/sudoers.c:666 -#: plugins/sudoers/sudoers.c:811 plugins/sudoers/sudoers.c:877 -#: plugins/sudoers/sudoers.c:936 plugins/sudoers/sudoers.c:985 -#: plugins/sudoers/sudoers.c:1144 plugins/sudoers/sudoers.c:1213 -#: plugins/sudoers/sudoers.c:1306 plugins/sudoers/sudoers_cb.c:150 +#: plugins/sudoers/sudoers.c:673 plugins/sudoers/sudoers.c:683 +#: plugins/sudoers/sudoers.c:828 plugins/sudoers/sudoers.c:894 +#: plugins/sudoers/sudoers.c:953 plugins/sudoers/sudoers.c:1002 +#: plugins/sudoers/sudoers.c:1162 plugins/sudoers/sudoers.c:1231 +#: plugins/sudoers/sudoers.c:1324 plugins/sudoers/sudoers_cb.c:150 #: plugins/sudoers/sudoreplay.c:559 plugins/sudoers/sudoreplay.c:562 -#: plugins/sudoers/sudoreplay.c:1279 plugins/sudoers/sudoreplay.c:1335 -#: plugins/sudoers/sudoreplay.c:1531 plugins/sudoers/sudoreplay.c:1535 +#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1337 +#: plugins/sudoers/sudoreplay.c:1533 plugins/sudoers/sudoreplay.c:1537 #: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:255 #: plugins/sudoers/testsudoers.c:264 plugins/sudoers/testsudoers.c:275 #: plugins/sudoers/testsudoers.c:282 plugins/sudoers/testsudoers.c:302 -#: plugins/sudoers/testsudoers.c:758 plugins/sudoers/timestamp.c:469 -#: plugins/sudoers/timestamp.c:513 plugins/sudoers/timestamp.c:1042 -#: plugins/sudoers/timestamp.c:1216 plugins/sudoers/toke_util.c:79 +#: plugins/sudoers/testsudoers.c:756 plugins/sudoers/timestamp.c:468 +#: plugins/sudoers/timestamp.c:514 plugins/sudoers/timestamp.c:1045 +#: plugins/sudoers/timestamp.c:1248 plugins/sudoers/toke_util.c:79 #: plugins/sudoers/toke_util.c:108 plugins/sudoers/toke_util.c:134 #: plugins/sudoers/toke_util.c:163 plugins/sudoers/toke_util.c:204 -#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:151 +#: plugins/sudoers/tsdump.c:136 plugins/sudoers/visudo.c:151 #: plugins/sudoers/visudo.c:258 plugins/sudoers/visudo.c:383 #: plugins/sudoers/visudo.c:389 plugins/sudoers/visudo.c:501 #: plugins/sudoers/visudo.c:1073 plugins/sudoers/visudo.c:1094 -#: plugins/sudoers/visudo.c:1189 toke.l:1031 toke.l:1194 toke.l:1213 -#: toke.l:1240 toke.l:1309 toke.l:1320 +#: plugins/sudoers/visudo.c:1189 toke.l:1011 toke.l:1174 toke.l:1193 +#: toke.l:1220 toke.l:1289 toke.l:1300 #, c-format msgid "%s: %s" msgstr "%s: %s" @@ -471,12 +465,12 @@ msgstr "не удаётся разветвить процесс: %m" msgid "unable to open pipe: %m" msgstr "не удаётся открыть канал: %m" -#: lib/eventlog/eventlog.c:1000 +#: lib/eventlog/eventlog.c:1013 #, c-format msgid "%8s : %s" msgstr "%8s : %s" -#: lib/eventlog/eventlog.c:1029 +#: lib/eventlog/eventlog.c:1042 #, c-format msgid "%8s : (command continued) %s" msgstr "%8s : (выполнение команды продолжено) %s" @@ -490,73 +484,73 @@ msgstr "ожидался JSON_STRING, получен %d" msgid "JSON_ARRAY too large" msgstr "JSON_ARRAY слишком велик" -#: lib/eventlog/parse_json.c:506 +#: lib/eventlog/parse_json.c:523 msgid "missing double quote in name" msgstr "пропущены двойные кавычки в названии" -#: lib/eventlog/parse_json.c:624 +#: lib/eventlog/parse_json.c:641 msgid "missing JSON_OBJECT" msgstr "пропущен JSON_OBJECT" -#: lib/eventlog/parse_json.c:628 +#: lib/eventlog/parse_json.c:645 #, c-format msgid "expected JSON_OBJECT, got %d" msgstr "ожидался JSON_OBJECT, получен %d" -#: lib/eventlog/parse_json.c:762 +#: lib/eventlog/parse_json.c:779 #, c-format msgid "json stack exhausted (max %u frames)" msgstr "исчерпан стек json (не больше %u кадров)" -#: lib/eventlog/parse_json.c:840 +#: lib/eventlog/parse_json.c:857 msgid "objects must consist of name:value pairs" msgstr "объекты должны состоять из пар «название:значение»" -#: lib/eventlog/parse_json.c:845 lib/eventlog/parse_json.c:876 -#: lib/eventlog/parse_json.c:920 lib/eventlog/parse_json.c:942 -#: lib/eventlog/parse_json.c:964 lib/eventlog/parse_json.c:986 -#: lib/eventlog/parse_json.c:1008 +#: lib/eventlog/parse_json.c:862 lib/eventlog/parse_json.c:893 +#: lib/eventlog/parse_json.c:937 lib/eventlog/parse_json.c:959 +#: lib/eventlog/parse_json.c:981 lib/eventlog/parse_json.c:1003 +#: lib/eventlog/parse_json.c:1025 msgid "missing separator between values" msgstr "пропущен разделитель между значениями" -#: lib/eventlog/parse_json.c:860 lib/eventlog/parse_json.c:1034 +#: lib/eventlog/parse_json.c:877 lib/eventlog/parse_json.c:1051 msgid "unmatched close brace" msgstr "закрывающая фигурная скобка без открывающей" -#: lib/eventlog/parse_json.c:871 +#: lib/eventlog/parse_json.c:888 msgid "unexpected array" msgstr "неожиданный массив" -#: lib/eventlog/parse_json.c:891 lib/eventlog/parse_json.c:1037 +#: lib/eventlog/parse_json.c:908 lib/eventlog/parse_json.c:1054 msgid "unmatched close bracket" msgstr "закрывающая скобка без открывающей" -#: lib/eventlog/parse_json.c:902 +#: lib/eventlog/parse_json.c:919 msgid "unexpected string" msgstr "неожиданная строка" -#: lib/eventlog/parse_json.c:913 +#: lib/eventlog/parse_json.c:930 msgid "missing colon after name" msgstr "пропущено двоеточие после названия" -#: lib/eventlog/parse_json.c:934 lib/eventlog/parse_json.c:956 +#: lib/eventlog/parse_json.c:951 lib/eventlog/parse_json.c:973 msgid "unexpected boolean" msgstr "неожиданное булево значение" -#: lib/eventlog/parse_json.c:978 +#: lib/eventlog/parse_json.c:995 msgid "unexpected null" msgstr "неожиданный null" -#: lib/eventlog/parse_json.c:999 +#: lib/eventlog/parse_json.c:1016 msgid "unexpected number" msgstr "неожиданное число" -#: lib/eventlog/parse_json.c:1045 +#: lib/eventlog/parse_json.c:1062 msgid "parse error" msgstr "ошибка разбора" -#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1290 -#: plugins/sudoers/sudoreplay.c:1291 plugins/sudoers/sudoreplay.c:1587 +#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1303 +#: plugins/sudoers/sudoreplay.c:1293 plugins/sudoers/sudoreplay.c:1589 #, c-format msgid "invalid regular expression \"%s\": %s" msgstr "некорректное регулярное выражение «%s»: %s" @@ -596,8 +590,8 @@ msgstr "%s: не указано имя группы, от которой про msgid "%s exists but is not a directory (0%o)" msgstr "%s существует, но не является каталогом (0%o)" -#: lib/iolog/iolog_mkdirs.c:124 lib/iolog/iolog_mkdtemp.c:80 -#: logsrvd/iolog_writer.c:795 plugins/sudoers/timestamp.c:218 +#: lib/iolog/iolog_mkdirs.c:125 lib/iolog/iolog_mkdtemp.c:80 +#: logsrvd/iolog_writer.c:803 plugins/sudoers/timestamp.c:218 #, c-format msgid "unable to mkdir %s" msgstr "не удаётся создать каталог %s" @@ -635,90 +629,90 @@ msgstr "%s: ошибка протокола: некорректный тип д msgid "%s: protocol error: NULL value found in %s" msgstr "%s: ошибка протокола: значение NULL встречено в %s" -#: logsrvd/iolog_writer.c:141 plugins/sudoers/logging.c:1024 -#: plugins/sudoers/policy.c:613 +#: logsrvd/iolog_writer.c:141 plugins/sudoers/logging.c:1035 +#: plugins/sudoers/policy.c:621 msgid "unable to generate UUID" msgstr "не удаётся создать UUID" -#: logsrvd/iolog_writer.c:354 logsrvd/iolog_writer.c:359 -#: logsrvd/iolog_writer.c:364 logsrvd/iolog_writer.c:369 +#: logsrvd/iolog_writer.c:362 logsrvd/iolog_writer.c:367 +#: logsrvd/iolog_writer.c:372 logsrvd/iolog_writer.c:377 #, c-format msgid "%s: protocol error: %s missing from AcceptMessage" msgstr "%s: ошибка протокола: %s отсутствует в AcceptMessage" -#: logsrvd/iolog_writer.c:430 +#: logsrvd/iolog_writer.c:438 #, c-format msgid "%s: unable to format session id" msgstr "%s: не удаётся выполнить форматирование идентификатора сеанса" -#: logsrvd/iolog_writer.c:444 logsrvd/iolog_writer.c:458 -#: logsrvd/iolog_writer.c:472 logsrvd/iolog_writer.c:487 -#: logsrvd/iolog_writer.c:501 logsrvd/iolog_writer.c:515 +#: logsrvd/iolog_writer.c:452 logsrvd/iolog_writer.c:466 +#: logsrvd/iolog_writer.c:480 logsrvd/iolog_writer.c:495 +#: logsrvd/iolog_writer.c:509 logsrvd/iolog_writer.c:523 #, c-format msgid "%s: %s is not set" msgstr "%s: %s не указан" -#: logsrvd/iolog_writer.c:551 logsrvd/iolog_writer.c:558 +#: logsrvd/iolog_writer.c:559 logsrvd/iolog_writer.c:566 #, c-format msgid "unable to expand iolog path %s" msgstr "не удаётся развернуть путь журнала ввода-вывода %s" -#: logsrvd/iolog_writer.c:576 +#: logsrvd/iolog_writer.c:584 #, c-format msgid "unable to create iolog path %s" msgstr "не удаётся создать путь к журналу ввода-вывода %s" -#: logsrvd/iolog_writer.c:606 +#: logsrvd/iolog_writer.c:614 #, c-format msgid "invalid iofd %d" msgstr "некорректный дескриптор файла ввода-вывода %d" -#: logsrvd/iolog_writer.c:626 +#: logsrvd/iolog_writer.c:634 #, c-format msgid "error closing iofd %u: %s" msgstr "ошибка при закрытии дескриптора файла ввода-вывода %u: %s" -#: logsrvd/iolog_writer.c:647 +#: logsrvd/iolog_writer.c:655 #, c-format msgid "error flushing iofd %u: %s" msgstr "ошибка при сбросе дескриптора файла ввода-вывода %u: %s" -#: logsrvd/iolog_writer.c:765 +#: logsrvd/iolog_writer.c:773 #, c-format msgid "invalid I/O log %s: %s referenced but not present" msgstr "некорректный журнал ввода-вывода %s: есть ссылки на %s, но сама запись отсутствует" -#: logsrvd/iolog_writer.c:777 logsrvd/logsrvd_journal.c:391 +#: logsrvd/iolog_writer.c:785 logsrvd/logsrvd_journal.c:391 #, c-format msgid "%s: unable to find resume point [%lld, %ld]" msgstr "%s: не удаётся найти точку восстановления [%lld, %ld]" -#: logsrvd/iolog_writer.c:799 logsrvd/logsrvd_journal.c:434 +#: logsrvd/iolog_writer.c:807 logsrvd/logsrvd_journal.c:434 #: logsrvd/logsrvd_queue.c:115 logsrvd/tls_init.c:256 -#: plugins/sudoers/check.c:285 plugins/sudoers/cvtsudoers.c:758 -#: plugins/sudoers/cvtsudoers.c:780 plugins/sudoers/cvtsudoers.c:1461 -#: plugins/sudoers/cvtsudoers_csv.c:697 plugins/sudoers/cvtsudoers_json.c:902 -#: plugins/sudoers/cvtsudoers_ldif.c:711 plugins/sudoers/sudoers.c:1291 -#: plugins/sudoers/sudoers.c:1317 plugins/sudoers/sudoreplay.c:1497 -#: plugins/sudoers/timestamp.c:478 plugins/sudoers/tsdump.c:128 +#: plugins/sudoers/check.c:278 plugins/sudoers/cvtsudoers.c:758 +#: plugins/sudoers/cvtsudoers.c:780 plugins/sudoers/cvtsudoers.c:1457 +#: plugins/sudoers/cvtsudoers_csv.c:722 plugins/sudoers/cvtsudoers_json.c:1034 +#: plugins/sudoers/cvtsudoers_ldif.c:753 plugins/sudoers/sudoers.c:1309 +#: plugins/sudoers/sudoers.c:1335 plugins/sudoers/sudoreplay.c:1499 +#: plugins/sudoers/timestamp.c:477 plugins/sudoers/tsdump.c:141 #: plugins/sudoers/visudo.c:990 #, c-format msgid "unable to open %s" msgstr "не удаётся открыть %s" -#: logsrvd/iolog_writer.c:811 logsrvd/logsrv_util.c:111 +#: logsrvd/iolog_writer.c:819 logsrvd/logsrv_util.c:111 #: logsrvd/logsrv_util.c:118 plugins/sudoers/sudoreplay.c:355 #: plugins/sudoers/sudoreplay.c:361 #, c-format msgid "unable to open %s/%s" msgstr "не удаётся открыть %s/%s" -#: logsrvd/iolog_writer.c:824 +#: logsrvd/iolog_writer.c:832 #, c-format msgid "unable to copy %s/%s to %s/%s: %s" msgstr "не удаётся скопировать %s/%s в %s/%s: %s" -#: logsrvd/iolog_writer.c:853 logsrvd/logsrvd_journal.c:198 +#: logsrvd/iolog_writer.c:861 logsrvd/logsrvd_journal.c:198 #, c-format msgid "unable to rename %s to %s" msgstr "не удаётся переименовать %s в %s" @@ -738,209 +732,209 @@ msgstr "отсутствует файл журнала ввода-вывода % msgid "%s/%s: unable to seek forward %zu" msgstr "%s/%s: не удаётся изменить позицию вперёд на %zu" -#: logsrvd/logsrvd.c:271 logsrvd/logsrvd_queue.c:135 +#: logsrvd/logsrvd.c:272 logsrvd/logsrvd_queue.c:135 msgid "unable to connect to relay" msgstr "не удаётся связаться с ретранслятором" -#: logsrvd/logsrvd.c:338 logsrvd/logsrvd_relay.c:847 +#: logsrvd/logsrvd.c:339 logsrvd/logsrvd_relay.c:847 #, c-format msgid "server message too large: %zu" msgstr "сообщение сервера слишком велико: %zu" -#: logsrvd/logsrvd.c:430 logsrvd/logsrvd.c:553 logsrvd/logsrvd.c:639 -#: logsrvd/logsrvd.c:881 logsrvd/logsrvd.c:895 logsrvd/logsrvd.c:1056 -#: logsrvd/logsrvd.c:1181 logsrvd/logsrvd.c:1354 logsrvd/logsrvd.c:1372 -#: logsrvd/logsrvd.c:1471 logsrvd/logsrvd.c:1596 logsrvd/logsrvd.c:1783 +#: logsrvd/logsrvd.c:431 logsrvd/logsrvd.c:554 logsrvd/logsrvd.c:640 +#: logsrvd/logsrvd.c:882 logsrvd/logsrvd.c:896 logsrvd/logsrvd.c:1057 +#: logsrvd/logsrvd.c:1182 logsrvd/logsrvd.c:1364 logsrvd/logsrvd.c:1382 +#: logsrvd/logsrvd.c:1481 logsrvd/logsrvd.c:1606 logsrvd/logsrvd.c:1793 #: logsrvd/logsrvd_journal.c:503 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:391 logsrvd/logsrvd_relay.c:583 #: logsrvd/logsrvd_relay.c:747 logsrvd/logsrvd_relay.c:1137 -#: logsrvd/sendlog.c:1308 logsrvd/tls_client.c:136 logsrvd/tls_client.c:152 -#: logsrvd/tls_client.c:216 plugins/sudoers/audit.c:281 -#: plugins/sudoers/iolog.c:1041 plugins/sudoers/iolog.c:1175 -#: plugins/sudoers/iolog.c:1274 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:613 -#: plugins/sudoers/log_client.c:620 plugins/sudoers/log_client.c:1114 -#: plugins/sudoers/log_client.c:1395 plugins/sudoers/log_client.c:1436 -#: plugins/sudoers/log_client.c:1444 plugins/sudoers/log_client.c:1603 -#: plugins/sudoers/log_client.c:1728 plugins/sudoers/log_client.c:2060 -#: plugins/sudoers/log_client.c:2068 plugins/sudoers/logging.c:148 +#: logsrvd/sendlog.c:1333 logsrvd/tls_client.c:145 logsrvd/tls_client.c:161 +#: logsrvd/tls_client.c:225 plugins/sudoers/audit.c:281 +#: plugins/sudoers/iolog.c:1049 plugins/sudoers/iolog.c:1183 +#: plugins/sudoers/iolog.c:1282 plugins/sudoers/log_client.c:121 +#: plugins/sudoers/log_client.c:352 plugins/sudoers/log_client.c:368 +#: plugins/sudoers/log_client.c:416 plugins/sudoers/log_client.c:622 +#: plugins/sudoers/log_client.c:629 plugins/sudoers/log_client.c:1137 +#: plugins/sudoers/log_client.c:1418 plugins/sudoers/log_client.c:1459 +#: plugins/sudoers/log_client.c:1467 plugins/sudoers/log_client.c:1626 +#: plugins/sudoers/log_client.c:1751 plugins/sudoers/log_client.c:2085 +#: plugins/sudoers/log_client.c:2093 plugins/sudoers/logging.c:148 #: plugins/sudoers/logging.c:206 plugins/sudoers/sudoreplay.c:519 -#: plugins/sudoers/sudoreplay.c:566 plugins/sudoers/sudoreplay.c:808 -#: plugins/sudoers/sudoreplay.c:920 plugins/sudoers/sudoreplay.c:1011 -#: plugins/sudoers/sudoreplay.c:1026 plugins/sudoers/sudoreplay.c:1033 -#: plugins/sudoers/sudoreplay.c:1040 plugins/sudoers/sudoreplay.c:1047 -#: plugins/sudoers/sudoreplay.c:1054 plugins/sudoers/sudoreplay.c:1182 +#: plugins/sudoers/sudoreplay.c:566 plugins/sudoers/sudoreplay.c:810 +#: plugins/sudoers/sudoreplay.c:922 plugins/sudoers/sudoreplay.c:1013 +#: plugins/sudoers/sudoreplay.c:1028 plugins/sudoers/sudoreplay.c:1035 +#: plugins/sudoers/sudoreplay.c:1042 plugins/sudoers/sudoreplay.c:1049 +#: plugins/sudoers/sudoreplay.c:1056 plugins/sudoers/sudoreplay.c:1184 msgid "unable to add event to queue" msgstr "не удаётся добавить событие в очередь" -#: logsrvd/logsrvd.c:454 logsrvd/logsrvd.c:491 logsrvd/logsrvd.c:523 -#: logsrvd/logsrvd.c:577 logsrvd/logsrvd.c:656 logsrvd/logsrvd.c:692 -#: logsrvd/logsrvd.c:728 logsrvd/logsrvd.c:764 logsrvd/logsrvd_relay.c:512 +#: logsrvd/logsrvd.c:455 logsrvd/logsrvd.c:492 logsrvd/logsrvd.c:524 +#: logsrvd/logsrvd.c:578 logsrvd/logsrvd.c:657 logsrvd/logsrvd.c:693 +#: logsrvd/logsrvd.c:729 logsrvd/logsrvd.c:765 logsrvd/logsrvd_relay.c:512 #: logsrvd/logsrvd_relay.c:545 #, c-format msgid "unexpected state %d for %s" msgstr "неожиданный статус %d для %s" -#: logsrvd/logsrvd.c:455 logsrvd/logsrvd.c:492 logsrvd/logsrvd.c:524 -#: logsrvd/logsrvd.c:578 logsrvd/logsrvd.c:657 logsrvd/logsrvd.c:693 -#: logsrvd/logsrvd.c:729 logsrvd/logsrvd.c:765 logsrvd/logsrvd_relay.c:514 +#: logsrvd/logsrvd.c:456 logsrvd/logsrvd.c:493 logsrvd/logsrvd.c:525 +#: logsrvd/logsrvd.c:579 logsrvd/logsrvd.c:658 logsrvd/logsrvd.c:694 +#: logsrvd/logsrvd.c:730 logsrvd/logsrvd.c:766 logsrvd/logsrvd_relay.c:514 #: logsrvd/logsrvd_relay.c:547 msgid "state machine error" msgstr "ошибка конечного автомата" -#: logsrvd/logsrvd.c:461 logsrvd/logsrvd.c:462 +#: logsrvd/logsrvd.c:462 logsrvd/logsrvd.c:463 msgid "invalid AcceptMessage" msgstr "некорректный AcceptMessage" -#: logsrvd/logsrvd.c:498 logsrvd/logsrvd.c:499 +#: logsrvd/logsrvd.c:499 logsrvd/logsrvd.c:500 msgid "invalid RejectMessage" msgstr "некорректный RejectMessage" -#: logsrvd/logsrvd.c:530 logsrvd/logsrvd.c:531 +#: logsrvd/logsrvd.c:531 logsrvd/logsrvd.c:532 msgid "invalid ExitMessage" msgstr "некорректный ExitMessage" -#: logsrvd/logsrvd.c:584 logsrvd/logsrvd.c:585 +#: logsrvd/logsrvd.c:585 logsrvd/logsrvd.c:586 msgid "invalid RestartMessage" msgstr "некорректный RestartMessage" -#: logsrvd/logsrvd.c:619 logsrvd/logsrvd.c:620 +#: logsrvd/logsrvd.c:620 logsrvd/logsrvd.c:621 msgid "invalid AlertMessage" msgstr "некорректный AlertMessage" -#: logsrvd/logsrvd.c:661 logsrvd/logsrvd.c:697 logsrvd/logsrvd.c:733 +#: logsrvd/logsrvd.c:662 logsrvd/logsrvd.c:698 logsrvd/logsrvd.c:734 #, c-format msgid "%s: unexpected IoBuffer" msgstr "%s: неожиданное значение IoBuffer" -#: logsrvd/logsrvd.c:662 logsrvd/logsrvd.c:698 logsrvd/logsrvd.c:734 +#: logsrvd/logsrvd.c:663 logsrvd/logsrvd.c:699 logsrvd/logsrvd.c:735 msgid "protocol error" msgstr "ошибка протокола" -#: logsrvd/logsrvd.c:668 logsrvd/logsrvd.c:669 +#: logsrvd/logsrvd.c:669 logsrvd/logsrvd.c:670 msgid "invalid IoBuffer" msgstr "некорректный IoBuffer" -#: logsrvd/logsrvd.c:704 logsrvd/logsrvd.c:705 +#: logsrvd/logsrvd.c:705 logsrvd/logsrvd.c:706 msgid "invalid ChangeWindowSize" msgstr "некорректный ChangeWindowSize" -#: logsrvd/logsrvd.c:740 logsrvd/logsrvd.c:741 +#: logsrvd/logsrvd.c:741 logsrvd/logsrvd.c:742 msgid "invalid CommandSuspend" msgstr "некорректный CommandSuspend" -#: logsrvd/logsrvd.c:790 logsrvd/logsrvd_journal.c:302 -#: logsrvd/logsrvd_relay.c:654 logsrvd/sendlog.c:1207 -#: plugins/sudoers/log_client.c:1593 +#: logsrvd/logsrvd.c:791 logsrvd/logsrvd_journal.c:302 +#: logsrvd/logsrvd_relay.c:654 logsrvd/sendlog.c:1232 +#: plugins/sudoers/log_client.c:1616 #, c-format msgid "unable to unpack %s size %zu" msgstr "не удаётся распаковать %s, размер %zu" -#: logsrvd/logsrvd.c:835 logsrvd/logsrvd_journal.c:376 +#: logsrvd/logsrvd.c:836 logsrvd/logsrvd_journal.c:376 #: logsrvd/logsrvd_relay.c:678 #, c-format msgid "unexpected type_case value %d in %s from %s" msgstr "неожиданное значение type_case %d в %s из %s" -#: logsrvd/logsrvd.c:837 +#: logsrvd/logsrvd.c:838 msgid "unrecognized ClientMessage type" msgstr "неизвестный тип ClientMessage" -#: logsrvd/logsrvd.c:927 +#: logsrvd/logsrvd.c:928 #, c-format msgid "timed out writing to client %s" msgstr "истекло время ожидания записи клиенту %s" -#: logsrvd/logsrvd.c:932 logsrvd/logsrvd_relay.c:919 logsrvd/sendlog.c:1413 +#: logsrvd/logsrvd.c:933 logsrvd/logsrvd_relay.c:919 logsrvd/sendlog.c:1438 #, c-format msgid "missing write buffer for client %s" msgstr "пропущен буфер записи для клиента %s" -#: logsrvd/logsrvd.c:1027 +#: logsrvd/logsrvd.c:1028 #, c-format msgid "timed out reading from client %s" msgstr "истекло время ожидания от клиента %s" -#: logsrvd/logsrvd.c:1068 logsrvd/logsrvd_relay.c:782 +#: logsrvd/logsrvd.c:1069 logsrvd/logsrvd_relay.c:782 #, c-format msgid "EOF from %s without proper TLS shutdown" msgstr "EOF от %s без корректного завершения сеанса TLS" -#: logsrvd/logsrvd.c:1112 logsrvd/logsrvd_relay.c:205 logsrvd/sendlog.c:336 -#: plugins/sudoers/log_client.c:723 +#: logsrvd/logsrvd.c:1113 logsrvd/logsrvd_relay.c:205 logsrvd/sendlog.c:336 +#: plugins/sudoers/log_client.c:732 #, c-format msgid "client message too large: %zu" msgstr "сообщение клиента слишком велико: %zu" -#: logsrvd/logsrvd.c:1113 logsrvd/logsrvd_journal.c:259 +#: logsrvd/logsrvd.c:1114 logsrvd/logsrvd_journal.c:259 #: logsrvd/logsrvd_journal.c:260 msgid "client message too large" msgstr "сообщение клиента слишком велико" -#: logsrvd/logsrvd.c:1131 logsrvd/logsrvd.c:1132 +#: logsrvd/logsrvd.c:1132 logsrvd/logsrvd.c:1133 msgid "invalid ClientMessage" msgstr "некорректный ClientMessage" -#: logsrvd/logsrvd.c:1432 +#: logsrvd/logsrvd.c:1442 msgid "unable to get remote IP addr" msgstr "не удаётся получить удалённый IP-адрес" -#: logsrvd/logsrvd.c:1463 logsrvd/tls_client.c:203 -#: plugins/sudoers/log_client.c:281 +#: logsrvd/logsrvd.c:1473 logsrvd/tls_client.c:212 +#: plugins/sudoers/log_client.c:290 #, c-format msgid "Unable to attach user data to the ssl object: %s" msgstr "Не удаётся присоединить данные пользователя к SSL-объекту: %s" -#: logsrvd/logsrvd.c:1646 logsrvd/logsrvd.c:2007 +#: logsrvd/logsrvd.c:1656 logsrvd/logsrvd.c:2050 msgid "unable to setup listen socket" msgstr "не удаётся настроить слушающий сокет" -#: logsrvd/logsrvd.c:1766 +#: logsrvd/logsrvd.c:1776 #, c-format msgid "unexpected signal %d" msgstr "неожиданный сигнал %d" -#: logsrvd/logsrvd.c:1909 +#: logsrvd/logsrvd.c:1949 msgid "sudo log server" msgstr "сервер журнала sudo" -#: logsrvd/logsrvd.c:1911 logsrvd/sendlog.c:126 +#: logsrvd/logsrvd.c:1951 logsrvd/sendlog.c:126 msgid "Options:" msgstr "Параметры:" -#: logsrvd/logsrvd.c:1913 +#: logsrvd/logsrvd.c:1953 msgid "path to configuration file" msgstr "путь к файлу конфигурации" -#: logsrvd/logsrvd.c:1915 logsrvd/sendlog.c:128 +#: logsrvd/logsrvd.c:1955 logsrvd/sendlog.c:128 msgid "display help message and exit" msgstr "показать справку и выйти" -#: logsrvd/logsrvd.c:1917 +#: logsrvd/logsrvd.c:1957 msgid "do not fork, run in the foreground" msgstr "не переходить в фоновый режим" -#: logsrvd/logsrvd.c:1919 +#: logsrvd/logsrvd.c:1959 msgid "percent chance connections will drop" msgstr "вероятность разрыва подключений в процентах" -#: logsrvd/logsrvd.c:1921 logsrvd/sendlog.c:158 +#: logsrvd/logsrvd.c:1961 logsrvd/sendlog.c:158 msgid "display version information and exit" msgstr "показать информацию о версии и выйти" -#: logsrvd/logsrvd.c:1971 logsrvd/sendlog.c:1722 +#: logsrvd/logsrvd.c:2011 logsrvd/sendlog.c:1747 msgid "Protobuf-C version 1.3 or higher required" msgstr "Требуется Protobuf-C версии 1.3 или выше" -#: logsrvd/logsrvd.c:1987 +#: logsrvd/logsrvd.c:2027 #, c-format msgid "invalid random drop value: %s" msgstr "некорректное значение вероятности сброса: %s" -#: logsrvd/logsrvd.c:1990 logsrvd/sendlog.c:1776 +#: logsrvd/logsrvd.c:2030 logsrvd/sendlog.c:1801 #: plugins/sudoers/cvtsudoers.c:250 plugins/sudoers/sudoreplay.c:294 #: plugins/sudoers/visudo.c:181 #, c-format @@ -949,16 +943,16 @@ msgstr "%s версии %s\n" #: logsrvd/logsrvd_conf.c:422 plugins/sudoers/check.c:69 #: plugins/sudoers/exptilde.c:85 plugins/sudoers/iolog.c:122 -#: plugins/sudoers/sudoers.c:419 plugins/sudoers/sudoers.c:929 -#: plugins/sudoers/sudoers.c:1034 plugins/sudoers/sudoers.c:1424 +#: plugins/sudoers/sudoers.c:419 plugins/sudoers/sudoers.c:946 +#: plugins/sudoers/sudoers.c:1052 plugins/sudoers/sudoers.c:1442 #: plugins/sudoers/testsudoers.c:169 plugins/sudoers/testsudoers.c:285 -#: plugins/sudoers/testsudoers.c:459 +#: plugins/sudoers/testsudoers.c:459 plugins/sudoers/tsdump.c:131 #, c-format msgid "unknown user %s" msgstr "неизвестный пользователь %s" #: logsrvd/logsrvd_conf.c:439 plugins/sudoers/iolog.c:148 -#: plugins/sudoers/sudoers.c:425 plugins/sudoers/sudoers.c:1458 +#: plugins/sudoers/sudoers.c:425 plugins/sudoers/sudoers.c:1476 #: plugins/sudoers/testsudoers.c:483 #, c-format msgid "unknown group %s" @@ -969,7 +963,7 @@ msgstr "неизвестная группа %s" msgid "unable to parse iolog mode %s" msgstr "не удаётся разобрать режим журнала ввода-вывода %s" -#: logsrvd/logsrvd_conf.c:474 logsrvd/logsrvd_conf.c:1243 +#: logsrvd/logsrvd_conf.c:474 logsrvd/logsrvd_conf.c:1248 #, c-format msgid "invalid value for %s: %s" msgstr "некорректное значение для %s: %s" @@ -983,65 +977,65 @@ msgstr "TLS не поддерживается" msgid "%s:%s" msgstr "%s:%s" -#: logsrvd/logsrvd_conf.c:622 logsrvd/logsrvd_conf.c:1032 +#: logsrvd/logsrvd_conf.c:622 logsrvd/logsrvd_conf.c:1037 #, c-format msgid "%s: not a fully qualified path" msgstr "%s: не является полным путём" -#: logsrvd/logsrvd_conf.c:951 logsrvd/logsrvd_conf.c:967 -#: logsrvd/logsrvd_conf.c:1676 +#: logsrvd/logsrvd_conf.c:956 logsrvd/logsrvd_conf.c:972 +#: logsrvd/logsrvd_conf.c:1681 #, c-format msgid "unknown syslog facility %s" msgstr "неизвестная возможность syslog %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 +#: logsrvd/logsrvd_conf.c:988 logsrvd/logsrvd_conf.c:1004 +#: logsrvd/logsrvd_conf.c:1020 logsrvd/logsrvd_conf.c:1685 +#: logsrvd/logsrvd_conf.c:1689 logsrvd/logsrvd_conf.c:1693 #, c-format msgid "unknown syslog priority %s" msgstr "неизвестный приоритет syslog %s" -#: logsrvd/logsrvd_conf.c:1197 +#: logsrvd/logsrvd_conf.c:1202 #, c-format msgid "%s:%d unmatched '[': %s" msgstr "%s:%d «[» без парной скобки: %s" -#: logsrvd/logsrvd_conf.c:1203 +#: logsrvd/logsrvd_conf.c:1208 #, c-format msgid "%s:%d garbage after ']': %s" msgstr "%s:%d мусор после «]»: %s" -#: logsrvd/logsrvd_conf.c:1215 +#: logsrvd/logsrvd_conf.c:1220 #, c-format msgid "%s:%d invalid config section: %s" msgstr "%s:%d некорректный раздел настроек: %s" -#: logsrvd/logsrvd_conf.c:1223 +#: logsrvd/logsrvd_conf.c:1228 #, c-format msgid "%s:%d invalid configuration line: %s" msgstr "%s:%d некорректная строка настроек: %s" -#: logsrvd/logsrvd_conf.c:1229 +#: logsrvd/logsrvd_conf.c:1234 #, c-format msgid "%s:%d expected section name: %s" msgstr "%s:%d ожидалось имя раздела: %s" -#: logsrvd/logsrvd_conf.c:1251 +#: logsrvd/logsrvd_conf.c:1256 #, c-format msgid "%s:%d [%s] illegal key: %s" msgstr "%s:%d [%s] недопустимый ключ: %s" -#: logsrvd/logsrvd_conf.c:1281 plugins/sudoers/cvtsudoers.c:273 -#: plugins/sudoers/logging.c:1076 +#: logsrvd/logsrvd_conf.c:1286 plugins/sudoers/cvtsudoers.c:273 +#: plugins/sudoers/logging.c:1087 #, c-format msgid "unable to open log file %s" msgstr "не удаётся открыть файл журнала %s" -#: logsrvd/logsrvd_conf.c:1763 +#: logsrvd/logsrvd_conf.c:1768 msgid "unable to initialize server TLS context" msgstr "не удаётся инициализировать контекст сервера TLS" -#: logsrvd/logsrvd_conf.c:1783 +#: logsrvd/logsrvd_conf.c:1788 msgid "unable to initialize relay TLS context" msgstr "не удаётся инициализировать контекст ретранслятора TLS" @@ -1145,7 +1139,7 @@ msgstr "невозможно отформатировать буфер часо #: logsrvd/logsrvd_local.c:601 logsrvd/logsrvd_local.c:609 #: logsrvd/logsrvd_local.c:657 logsrvd/logsrvd_local.c:692 -#: plugins/sudoers/sudoreplay.c:344 toke.l:981 toke.l:984 +#: plugins/sudoers/sudoreplay.c:344 toke.l:961 toke.l:964 #, c-format msgid "%s/%s: %s" msgstr "%s/%s: %s" @@ -1179,8 +1173,8 @@ msgstr "не удаётся связаться с узлом ретрансля msgid "%s: invalid ServerHello, missing server_id" msgstr "%s: некорректный ServerHello, отсутствует server_id" -#: logsrvd/logsrvd_relay.c:522 logsrvd/sendlog.c:1111 -#: plugins/sudoers/log_client.c:1479 +#: logsrvd/logsrvd_relay.c:522 logsrvd/sendlog.c:1136 +#: plugins/sudoers/log_client.c:1502 msgid "invalid ServerHello" msgstr "некорректный ServerHello" @@ -1284,7 +1278,7 @@ msgstr "остановить отправку по достижению этог msgid "test audit server by sending selected I/O log n times in parallel" msgstr "проверить сервер аудита параллельной отправкой выбранного журнала ввода/вывода n раз" -#: logsrvd/sendlog.c:181 plugins/sudoers/log_client.c:453 +#: logsrvd/sendlog.c:181 plugins/sudoers/log_client.c:462 #, c-format msgid "unable to look up %s:%s: %s" msgstr "не удаётся выполнить поиск %s:%s: %s" @@ -1293,108 +1287,108 @@ msgstr "не удаётся выполнить поиск %s:%s: %s" msgid "unable to get server IP addr" msgstr "не удаётся получить IP-адрес сервера" -#: logsrvd/sendlog.c:314 plugins/sudoers/sudoreplay.c:868 +#: logsrvd/sendlog.c:314 plugins/sudoers/sudoreplay.c:870 #, c-format msgid "unable to read %s/%s: %s" msgstr "не удаётся прочитать %s/%s: %s" -#: logsrvd/sendlog.c:1035 plugins/sudoers/iolog.c:959 -#: plugins/sudoers/iolog.c:1034 +#: logsrvd/sendlog.c:1060 plugins/sudoers/iolog.c:967 +#: plugins/sudoers/iolog.c:1042 #, c-format msgid "unexpected I/O event %d" msgstr "неожиданное событие ввода-вывода %d" -#: logsrvd/sendlog.c:1088 logsrvd/sendlog.c:1105 logsrvd/sendlog.c:1139 -#: plugins/sudoers/log_client.c:1129 plugins/sudoers/log_client.c:1405 -#: plugins/sudoers/log_client.c:1473 plugins/sudoers/log_client.c:1512 +#: logsrvd/sendlog.c:1113 logsrvd/sendlog.c:1130 logsrvd/sendlog.c:1164 +#: plugins/sudoers/log_client.c:1152 plugins/sudoers/log_client.c:1428 +#: plugins/sudoers/log_client.c:1496 plugins/sudoers/log_client.c:1535 #, c-format msgid "%s: unexpected state %d" msgstr "%s: неожиданное состояние %d" -#: logsrvd/sendlog.c:1175 plugins/sudoers/log_client.c:1561 +#: logsrvd/sendlog.c:1200 plugins/sudoers/log_client.c:1584 #, c-format msgid "error message received from server: %s" msgstr "получено уведомление об ошибке от сервера: %s" -#: logsrvd/sendlog.c:1188 plugins/sudoers/log_client.c:1574 +#: logsrvd/sendlog.c:1213 plugins/sudoers/log_client.c:1597 #, c-format msgid "abort message received from server: %s" msgstr "получено уведомление о прерывании от сервера: %s" -#: logsrvd/sendlog.c:1247 plugins/sudoers/log_client.c:1624 +#: logsrvd/sendlog.c:1272 plugins/sudoers/log_client.c:1647 #, c-format msgid "%s: unexpected type_case value %d" msgstr "%s: неожиданное значение type_case %d" -#: logsrvd/sendlog.c:1276 +#: logsrvd/sendlog.c:1301 msgid "timeout reading from server" msgstr "превышено время ожидания чтения с сервера" -#: logsrvd/sendlog.c:1327 plugins/sudoers/log_client.c:1747 +#: logsrvd/sendlog.c:1352 plugins/sudoers/log_client.c:1770 msgid "host name does not match certificate" msgstr "имя узла не соответствует сертификату" -#: logsrvd/sendlog.c:1361 +#: logsrvd/sendlog.c:1386 msgid "premature EOF" msgstr "преждевременный EOF" -#: logsrvd/sendlog.c:1374 plugins/sudoers/log_client.c:1795 +#: logsrvd/sendlog.c:1399 plugins/sudoers/log_client.c:1818 #, c-format msgid "server message too large: %u" msgstr "сообщение сервера слишком большое: %u" -#: logsrvd/sendlog.c:1430 +#: logsrvd/sendlog.c:1455 msgid "timeout writing to server" msgstr "превышено время ожидания записи на сервер" -#: logsrvd/sendlog.c:1800 +#: logsrvd/sendlog.c:1825 msgid "both restart point and iolog ID must be specified" msgstr "должна быть указана как точка перезапуска, так и идентификатор журнала ввода-вывода" -#: logsrvd/sendlog.c:1804 +#: logsrvd/sendlog.c:1829 msgid "a restart point may not be set when no I/O is sent" msgstr "точка перезапуска не может быть установлена, когда не отправляются данные ввода/вывода" -#: logsrvd/sendlog.c:1880 +#: logsrvd/sendlog.c:1905 #, c-format msgid "exited prematurely with state %d" msgstr "преждевременный выход из состояния %d" -#: logsrvd/sendlog.c:1881 +#: logsrvd/sendlog.c:1906 #, c-format msgid "elapsed time sent to server [%lld, %ld]" msgstr "истёкшее время отправлено на сервер [%lld, %ld]" -#: logsrvd/sendlog.c:1883 +#: logsrvd/sendlog.c:1908 #, c-format msgid "commit point received from server [%lld, %ld]" msgstr "точка фиксации получена от сервера [%lld, %ld]" -#: logsrvd/tls_client.c:111 plugins/sudoers/log_client.c:315 +#: logsrvd/tls_client.c:120 plugins/sudoers/log_client.c:324 msgid "TLS handshake timeout occurred" msgstr "время ожидания согласования TLS истекло" -#: logsrvd/tls_client.c:131 logsrvd/tls_client.c:147 -#: plugins/sudoers/log_client.c:337 plugins/sudoers/log_client.c:353 +#: logsrvd/tls_client.c:140 logsrvd/tls_client.c:156 +#: plugins/sudoers/log_client.c:346 plugins/sudoers/log_client.c:362 msgid "unable to set event" msgstr "не удаётся назначить событие" -#: logsrvd/tls_client.c:157 logsrvd/tls_client.c:161 +#: logsrvd/tls_client.c:166 logsrvd/tls_client.c:170 #, c-format msgid "TLS connection failed: %s" msgstr "Не удаётся установить TLS-подключение: %s" -#: logsrvd/tls_client.c:196 +#: logsrvd/tls_client.c:205 #, c-format msgid "unable to allocate ssl object: %s" msgstr "не удаётся выделить память под SSL-объект: %s" -#: logsrvd/tls_client.c:210 +#: logsrvd/tls_client.c:219 #, c-format msgid "Unable to attach socket to the ssl object: %s" msgstr "Не удаётся подключить сокет к объекту SSL: %s" -#: logsrvd/tls_client.c:238 +#: logsrvd/tls_client.c:247 msgid "unable to initialize TLS context" msgstr "не удаётся инициализировать контекст TLS" @@ -1423,12 +1417,11 @@ msgstr "не удаётся создать TLS-контекст: %s" msgid "unable to set minimum protocol version to TLS 1.2: %s" msgstr "не удаётся установить минимальную версию протокола на TLS 1.2: %s" -#: plugins/sudoers/audit.c:272 plugins/sudoers/audit.c:452 -#: plugins/sudoers/log_client.c:962 plugins/sudoers/log_client.c:1011 -#: plugins/sudoers/log_client.c:1060 plugins/sudoers/log_client.c:1185 -#: plugins/sudoers/logging.c:614 plugins/sudoers/logging.c:732 -#: plugins/sudoers/logging.c:859 plugins/sudoers/logging.c:1031 -#: plugins/sudoers/policy.c:123 +#: plugins/sudoers/audit.c:272 plugins/sudoers/log_client.c:985 +#: plugins/sudoers/log_client.c:1034 plugins/sudoers/log_client.c:1083 +#: plugins/sudoers/log_client.c:1208 plugins/sudoers/logging.c:627 +#: plugins/sudoers/logging.c:867 plugins/sudoers/logging.c:1017 +#: plugins/sudoers/logging.c:1041 plugins/sudoers/policy.c:1055 msgid "unable to get time of day" msgstr "не удаётся получить время" @@ -1484,47 +1477,47 @@ msgstr "" "ошибка сервера аутентификации:\n" "%s" -#: plugins/sudoers/auth/kerb5.c:116 +#: plugins/sudoers/auth/kerb5.c:117 #, c-format msgid "%s: unable to convert principal to string ('%s'): %s" msgstr "%s: не удаётся преобразовать регистрационную запись в строку ('%s'): %s" -#: plugins/sudoers/auth/kerb5.c:166 +#: plugins/sudoers/auth/kerb5.c:167 #, c-format msgid "%s: unable to parse '%s': %s" msgstr "%s: не удаётся прочитать '%s': %s" -#: plugins/sudoers/auth/kerb5.c:175 +#: plugins/sudoers/auth/kerb5.c:176 #, c-format msgid "%s: unable to resolve credential cache: %s" msgstr "%s: не удаётся разрешить кэш учётных данных: %s" -#: plugins/sudoers/auth/kerb5.c:226 +#: plugins/sudoers/auth/kerb5.c:227 #, c-format msgid "%s: unable to allocate options: %s" msgstr "%s: не удаётся выделить параметры: %s" -#: plugins/sudoers/auth/kerb5.c:241 +#: plugins/sudoers/auth/kerb5.c:242 #, c-format msgid "%s: unable to get credentials: %s" msgstr "%s: не удаётся получить учётные данные: %s" -#: plugins/sudoers/auth/kerb5.c:254 +#: plugins/sudoers/auth/kerb5.c:255 #, c-format msgid "%s: unable to initialize credential cache: %s" msgstr "%s: не удаётся инициализировать кэш учётных данных: %s" -#: plugins/sudoers/auth/kerb5.c:257 +#: plugins/sudoers/auth/kerb5.c:258 #, c-format msgid "%s: unable to store credential in cache: %s" msgstr "%s: не удаётся сохранить учётные данные в кэше: %s" -#: plugins/sudoers/auth/kerb5.c:322 +#: plugins/sudoers/auth/kerb5.c:324 #, c-format msgid "%s: unable to get host principal: %s" msgstr "%s: не удаётся получить регистрационную запись узла: %s" -#: plugins/sudoers/auth/kerb5.c:336 +#: plugins/sudoers/auth/kerb5.c:338 #, c-format msgid "%s: Cannot verify TGT! Possible attack!: %s" msgstr "%s: Не удаётся проверить TGT. Нас атакуют?!: %s" @@ -1602,7 +1595,7 @@ msgstr "неизвестная ошибка SecurID" msgid "invalid passcode length for SecurID" msgstr "некорректная длина пароля для SecurID" -#: plugins/sudoers/auth/sia.c:72 plugins/sudoers/auth/sia.c:130 +#: plugins/sudoers/auth/sia.c:72 plugins/sudoers/auth/sia.c:131 msgid "unable to initialize SIA session" msgstr "не удаётся инициализировать сеанс SIA" @@ -1639,22 +1632,22 @@ msgid "unable to commit audit record" msgstr "не удаётся отправить запись аудита" #: plugins/sudoers/check.c:63 plugins/sudoers/check.c:74 -#: plugins/sudoers/lookup.c:79 plugins/sudoers/tsdump.c:119 +#: plugins/sudoers/lookup.c:79 #, c-format msgid "unknown uid %u" msgstr "неизвестный идентификатор пользователя %u" -#: plugins/sudoers/check.c:277 +#: plugins/sudoers/check.c:270 #, c-format msgid "error reading lecture file %s" msgstr "ошибка при чтении файла инструкции %s" -#: plugins/sudoers/check.c:280 +#: plugins/sudoers/check.c:273 #, c-format msgid "ignoring lecture file %s: not a regular file" msgstr "игнорируем файл инструкции %s: не является обычным файлом" -#: plugins/sudoers/check.c:293 +#: plugins/sudoers/check.c:286 msgid "" "\n" "We trust you have received the usual lecture from the local System\n" @@ -1674,7 +1667,7 @@ msgstr "" " №3) С большой властью приходит большая ответственность.\n" "\n" -#: plugins/sudoers/check.c:301 +#: plugins/sudoers/check.c:294 msgid "" "For security reasons, the password you type will not be visible.\n" "\n" @@ -1763,13 +1756,13 @@ msgstr "некорректный фильтр: %s" msgid "failed to parse %s file, unknown error" msgstr "не удаётся разобрать файл %s, неизвестная ошибка" -#: plugins/sudoers/cvtsudoers.c:1508 plugins/sudoers/sudoreplay.c:1143 +#: plugins/sudoers/cvtsudoers.c:1504 plugins/sudoers/sudoreplay.c:1145 #: plugins/sudoers/timestamp.c:353 plugins/sudoers/timestamp.c:356 #, c-format msgid "unable to write to %s" msgstr "не удаётся записать в %s" -#: plugins/sudoers/cvtsudoers.c:1536 +#: plugins/sudoers/cvtsudoers.c:1532 #, c-format msgid "" "%s - convert between sudoers file formats\n" @@ -1778,7 +1771,7 @@ msgstr "" "%s - конвертировать между форматами файлов sudoers\n" "\n" -#: plugins/sudoers/cvtsudoers.c:1538 +#: plugins/sudoers/cvtsudoers.c:1534 msgid "" "\n" "Options:\n" @@ -1819,817 +1812,836 @@ msgstr "" " -V, --version показать информацию о версии и выйти" #: plugins/sudoers/cvtsudoers_csv.c:192 plugins/sudoers/cvtsudoers_csv.c:199 -#: plugins/sudoers/cvtsudoers_ldif.c:245 plugins/sudoers/cvtsudoers_ldif.c:252 -#: plugins/sudoers/cvtsudoers_ldif.c:594 plugins/sudoers/env.c:340 -#: plugins/sudoers/env.c:347 plugins/sudoers/env.c:458 +#: plugins/sudoers/cvtsudoers_ldif.c:270 plugins/sudoers/cvtsudoers_ldif.c:277 +#: plugins/sudoers/cvtsudoers_ldif.c:628 plugins/sudoers/env.c:357 +#: plugins/sudoers/env.c:364 plugins/sudoers/env.c:475 #: plugins/sudoers/ldap.c:511 plugins/sudoers/ldap.c:629 #: plugins/sudoers/ldap.c:1003 plugins/sudoers/ldap_conf.c:219 -#: plugins/sudoers/ldap_conf.c:310 plugins/sudoers/ldap_util.c:486 -#: plugins/sudoers/linux_audit.c:93 plugins/sudoers/logging.c:479 -#: plugins/sudoers/policy.c:828 plugins/sudoers/policy.c:840 +#: plugins/sudoers/ldap_conf.c:310 plugins/sudoers/ldap_util.c:483 +#: plugins/sudoers/linux_audit.c:93 plugins/sudoers/logging.c:487 +#: plugins/sudoers/policy.c:836 plugins/sudoers/policy.c:848 #: plugins/sudoers/prompt.c:169 plugins/sudoers/serialize_list.c:62 #: plugins/sudoers/serialize_list.c:71 plugins/sudoers/strvec_join.c:62 -#: plugins/sudoers/sudoreplay.c:1340 plugins/sudoers/sudoreplay.c:1346 -#: plugins/sudoers/sudoreplay.c:1352 plugins/sudoers/testsudoers.c:306 -#: plugins/sudoers/toke_util.c:217 toke.l:995 toke.l:1277 +#: plugins/sudoers/sudoreplay.c:1342 plugins/sudoers/sudoreplay.c:1348 +#: plugins/sudoers/sudoreplay.c:1354 plugins/sudoers/testsudoers.c:306 +#: plugins/sudoers/toke_util.c:217 toke.l:975 toke.l:1257 #, c-format msgid "internal error, %s overflow" msgstr "внутренняя ошибка, переполнение %s" -#: plugins/sudoers/cvtsudoers_csv.c:454 plugins/sudoers/cvtsudoers_csv.c:468 -#: plugins/sudoers/cvtsudoers_json.c:661 plugins/sudoers/cvtsudoers_json.c:676 -#: plugins/sudoers/cvtsudoers_ldif.c:349 plugins/sudoers/cvtsudoers_ldif.c:362 +#: plugins/sudoers/cvtsudoers_csv.c:481 plugins/sudoers/cvtsudoers_csv.c:495 +#: plugins/sudoers/cvtsudoers_json.c:760 plugins/sudoers/cvtsudoers_json.c:776 +#: plugins/sudoers/cvtsudoers_ldif.c:384 plugins/sudoers/cvtsudoers_ldif.c:398 #: plugins/sudoers/ldap.c:495 msgid "unable to get GMT time" msgstr "не удаётся получить время по Гринвичу" -#: plugins/sudoers/cvtsudoers_csv.c:459 plugins/sudoers/cvtsudoers_csv.c:473 -#: plugins/sudoers/cvtsudoers_json.c:666 plugins/sudoers/cvtsudoers_json.c:681 -#: plugins/sudoers/cvtsudoers_ldif.c:354 plugins/sudoers/cvtsudoers_ldif.c:367 +#: plugins/sudoers/cvtsudoers_csv.c:486 plugins/sudoers/cvtsudoers_csv.c:500 +#: plugins/sudoers/cvtsudoers_json.c:765 plugins/sudoers/cvtsudoers_json.c:781 +#: plugins/sudoers/cvtsudoers_ldif.c:389 plugins/sudoers/cvtsudoers_ldif.c:403 #: plugins/sudoers/ldap.c:503 msgid "unable to format timestamp" msgstr "не удаётся отформатировать метку времени" -#: plugins/sudoers/cvtsudoers_json.c:481 plugins/sudoers/cvtsudoers_json.c:516 -#: plugins/sudoers/cvtsudoers_json.c:732 +#: plugins/sudoers/cvtsudoers_json.c:547 plugins/sudoers/cvtsudoers_json.c:588 +#: plugins/sudoers/cvtsudoers_json.c:841 #, c-format msgid "%s:%d:%d: unknown defaults entry \"%s\"" msgstr "%s:%d:%d: неизвестная запись по умолчанию «%s»" -#: plugins/sudoers/cvtsudoers_ldif.c:663 +#: plugins/sudoers/cvtsudoers_ldif.c:116 +#, c-format +msgid "unable to base64 encode value \"%s\"" +msgstr "не удаётся закодировать «%s» в base64" + +#: plugins/sudoers/cvtsudoers_ldif.c:595 +#, c-format +msgid "internal error, unable insert user %s" +msgstr "внутренняя ошибка, не удаётся вставить пользователя %s" + +#: plugins/sudoers/cvtsudoers_ldif.c:702 #, c-format msgid "too many sudoers entries, maximum %u" msgstr "слишком много записей sudoers, максимум %u" -#: plugins/sudoers/cvtsudoers_ldif.c:706 +#: plugins/sudoers/cvtsudoers_ldif.c:747 msgid "the SUDOERS_BASE environment variable is not set and the -b option was not specified." msgstr "переменная окружения SUDOERS_BASE не задана и не указан параметр -b." -#: plugins/sudoers/cvtsudoers_merge.c:273 -#: plugins/sudoers/cvtsudoers_merge.c:309 +#: plugins/sudoers/cvtsudoers_merge.c:275 +#: plugins/sudoers/cvtsudoers_merge.c:313 #, c-format msgid "%s:%d:%d: converting host list to ALL" msgstr "%s:%d:%d: преобразуем список узлов в ALL" -#: plugins/sudoers/cvtsudoers_merge.c:545 +#: plugins/sudoers/cvtsudoers_merge.c:568 #, c-format msgid "unable to find alias %s" msgstr "не удаётся найти псевдоним %s" -#: plugins/sudoers/cvtsudoers_merge.c:548 +#: plugins/sudoers/cvtsudoers_merge.c:572 #, c-format msgid "%s:%d:%d: renaming alias %s to %s" msgstr "%s:%d:%d: переименование псевдонима %s в %s" -#: plugins/sudoers/cvtsudoers_merge.c:605 +#: plugins/sudoers/cvtsudoers_merge.c:634 #, c-format msgid "%s:%d:%d: removing duplicate alias %s" msgstr "%s:%d:%d: удаление дубля псевдонима %s" -#: plugins/sudoers/cvtsudoers_merge.c:830 +#: plugins/sudoers/cvtsudoers_merge.c:868 #, c-format msgid "%s:%d:%d: conflicting Defaults entry \"%s\" host-specific in %s:%d:%d" msgstr "%s:%d:%d: конфликт записи Defaults «%s» специфичен для узла в %s:%d:%d" -#: plugins/sudoers/cvtsudoers_merge.c:864 +#: plugins/sudoers/cvtsudoers_merge.c:904 #, c-format msgid "%s:%d:%d: made Defaults \"%s\" specific to host %s" msgstr "%s:%d:%d: Defaults «%s» сделано специфичным для узла %s" -#: plugins/sudoers/cvtsudoers_merge.c:882 +#: plugins/sudoers/cvtsudoers_merge.c:922 #, c-format msgid "%s:%d:%d: unable to make Defaults \"%s\" host-specific" msgstr "%s:%d:%d: не удаётся сделать Defaults «%s» специфичным для узла" -#: plugins/sudoers/cvtsudoers_merge.c:892 +#: plugins/sudoers/cvtsudoers_merge.c:932 #, c-format msgid "%s:%d:%d: removing Defaults \"%s\" overridden by subsequent entries" msgstr "%s:%d:%d: удаление Defaults «%s» переопределено последующими записями" -#: plugins/sudoers/cvtsudoers_merge.c:1088 +#: plugins/sudoers/cvtsudoers_merge.c:1128 #, c-format msgid "%s:%d:%d: merging userspec into %s:%d:%d" msgstr "%s:%d:%d: объединяем спецификации пользователей в %s:%d:%d" -#: plugins/sudoers/cvtsudoers_merge.c:1182 +#: plugins/sudoers/cvtsudoers_merge.c:1224 #, c-format msgid "%s:%d:%d: removing userspec overridden by subsequent entries" msgstr "%s:%d:%d: удаление userpec переопределено последующими записями" -#: plugins/sudoers/def_data.c:56 +#: plugins/sudoers/def_data.c:58 #, c-format msgid "Syslog facility if syslog is being used for logging: %s" msgstr "Средство Syslog, если syslog используется для ведения журнала: %s" -#: plugins/sudoers/def_data.c:60 +#: plugins/sudoers/def_data.c:62 #, c-format msgid "Syslog priority to use when user authenticates successfully: %s" msgstr "Приоритет Syslog, который следует использовать при успешной аутентификации пользователя: %s" -#: plugins/sudoers/def_data.c:64 +#: plugins/sudoers/def_data.c:66 #, c-format msgid "Syslog priority to use when user authenticates unsuccessfully: %s" msgstr "Приоритет Syslog, который следует использовать при неудачной аутентификации пользователя: %s" -#: plugins/sudoers/def_data.c:68 +#: plugins/sudoers/def_data.c:70 msgid "Put OTP prompt on its own line" msgstr "Размещать запрос OTP в отдельной строке" -#: plugins/sudoers/def_data.c:72 +#: plugins/sudoers/def_data.c:74 msgid "Ignore '.' in $PATH" msgstr "Игнорировать '.' в переменной $PATH" -#: plugins/sudoers/def_data.c:76 +#: plugins/sudoers/def_data.c:78 msgid "Always send mail when sudo is run" msgstr "Отправлять письмо при каждом запуске sudo" -#: plugins/sudoers/def_data.c:80 +#: plugins/sudoers/def_data.c:82 msgid "Send mail if user authentication fails" msgstr "Отправлять письмо при ошибке аутентификации" -#: plugins/sudoers/def_data.c:84 +#: plugins/sudoers/def_data.c:86 msgid "Send mail if the user is not in sudoers" msgstr "Отправлять письмо, если пользователя нет в группе sudoers" -#: plugins/sudoers/def_data.c:88 +#: plugins/sudoers/def_data.c:90 msgid "Send mail if the user is not in sudoers for this host" msgstr "Отправлять письмо, если пользователя нет в группе sudoers для данного компьютера" -#: plugins/sudoers/def_data.c:92 +#: plugins/sudoers/def_data.c:94 msgid "Send mail if the user is not allowed to run a command" msgstr "Отправлять письмо, если пользователю не разрешено выполнять команду" -#: plugins/sudoers/def_data.c:96 +#: plugins/sudoers/def_data.c:98 msgid "Send mail if the user tries to run a command" msgstr "Отправлять письмо, если пользователь пытается выполнить команду" -#: plugins/sudoers/def_data.c:100 +#: plugins/sudoers/def_data.c:102 msgid "Use a separate timestamp for each user/tty combo" msgstr "Отдельная метка времени для каждой комбинации пользователь/tty" -#: plugins/sudoers/def_data.c:104 +#: plugins/sudoers/def_data.c:106 msgid "Lecture user the first time they run sudo" msgstr "Показывать инструкцию пользователю при первом запуске sudo" -#: plugins/sudoers/def_data.c:108 +#: plugins/sudoers/def_data.c:110 #, c-format msgid "File containing the sudo lecture: %s" msgstr "Файл, содержащий инструкцию по sudo: %s" -#: plugins/sudoers/def_data.c:112 +#: plugins/sudoers/def_data.c:114 msgid "Require users to authenticate by default" msgstr "Требовать от пользователей аутентификацию по умолчанию" -#: plugins/sudoers/def_data.c:116 +#: plugins/sudoers/def_data.c:118 msgid "Root may run sudo" msgstr "Root может запускать sudo" -#: plugins/sudoers/def_data.c:120 +#: plugins/sudoers/def_data.c:122 msgid "Log the hostname in the (non-syslog) log file" msgstr "Записывать имя узла в файл журнала (не syslog)" -#: plugins/sudoers/def_data.c:124 +#: plugins/sudoers/def_data.c:126 msgid "Log the year in the (non-syslog) log file" msgstr "Записывать год в файл журнала (не syslog)" -#: plugins/sudoers/def_data.c:128 +#: plugins/sudoers/def_data.c:130 msgid "If sudo is invoked with no arguments, start a shell" msgstr "Если sudo вызывается без аргументов, запускать командную оболочку" -#: plugins/sudoers/def_data.c:132 +#: plugins/sudoers/def_data.c:134 msgid "Set $HOME to the target user when starting a shell with -s" msgstr "Устанавливать $HOME на каталог целевого пользователя при запуске оболочки с -s" -#: plugins/sudoers/def_data.c:136 +#: plugins/sudoers/def_data.c:138 msgid "Always set $HOME to the target user's home directory" msgstr "Всегда устанавливать $HOME на каталог целевого пользователя" -#: plugins/sudoers/def_data.c:140 +#: plugins/sudoers/def_data.c:142 msgid "Allow some information gathering to give useful error messages" msgstr "Разрешить сбор информации для получения полезных сообщений об ошибках" -#: plugins/sudoers/def_data.c:144 +#: plugins/sudoers/def_data.c:146 msgid "Require fully-qualified hostnames in the sudoers file" msgstr "Требовать полные имена узлов в файле sudoers" -#: plugins/sudoers/def_data.c:148 +#: plugins/sudoers/def_data.c:150 msgid "Insult the user when they enter an incorrect password" msgstr "Издеваться над пользователем при вводе неправильного пароля" -#: plugins/sudoers/def_data.c:152 +#: plugins/sudoers/def_data.c:154 msgid "Only allow the user to run sudo if they have a tty" msgstr "Разрешить пользователю запускать sudo, только если у него есть tty" -#: plugins/sudoers/def_data.c:156 +#: plugins/sudoers/def_data.c:158 msgid "Visudo will honor the EDITOR environment variable" msgstr "Visudo будет использовать переменную окружения EDITOR" -#: plugins/sudoers/def_data.c:160 -msgid "Prompt for root's password, not the users's" +#: plugins/sudoers/def_data.c:162 +msgid "Prompt for root's password, not the user's" msgstr "Запрашивать пароль root, а не пользователя" -#: plugins/sudoers/def_data.c:164 -msgid "Prompt for the runas_default user's password, not the users's" +#: plugins/sudoers/def_data.c:166 +msgid "Prompt for the runas_default user's password, not the user's" msgstr "Запрашивать пароль пользователя runas_default, а не самого пользователя" -#: plugins/sudoers/def_data.c:168 -msgid "Prompt for the target user's password, not the users's" +#: plugins/sudoers/def_data.c:170 +msgid "Prompt for the target user's password, not the user's" msgstr "Запрашивать пароль целевого пользователя, а не самого пользователя" -#: plugins/sudoers/def_data.c:172 +#: plugins/sudoers/def_data.c:174 msgid "Apply defaults in the target user's login class if there is one" msgstr "Применить значения по умолчанию в классе целевого пользователя, если он есть" -#: plugins/sudoers/def_data.c:176 +#: plugins/sudoers/def_data.c:178 msgid "Set the LOGNAME and USER environment variables" msgstr "Установить переменные окружения LOGNAME и USER" -#: plugins/sudoers/def_data.c:180 +#: plugins/sudoers/def_data.c:182 msgid "Only set the effective uid to the target user, not the real uid" msgstr "Установить только эффективный uid равным целевому пользователю, без реального uid" -#: plugins/sudoers/def_data.c:184 +#: plugins/sudoers/def_data.c:186 msgid "Don't initialize the group vector to that of the target user" msgstr "Не инициализировать вектор группы на вектор целевого пользователя" -#: plugins/sudoers/def_data.c:188 +#: plugins/sudoers/def_data.c:190 #, c-format msgid "Length at which to wrap log file lines (0 for no wrap): %u" msgstr "Длина, на которой переносить строки файла журнала (0 ­— без переноса): %u" -#: plugins/sudoers/def_data.c:192 +#: plugins/sudoers/def_data.c:194 #, c-format msgid "Authentication timestamp timeout: %.1f minutes" msgstr "Время ожидания метки времени аутентификации: %.1f минут" -#: plugins/sudoers/def_data.c:196 +#: plugins/sudoers/def_data.c:198 #, c-format msgid "Password prompt timeout: %.1f minutes" msgstr "Время ожидания запроса пароля: %.1f минут" -#: plugins/sudoers/def_data.c:200 +#: plugins/sudoers/def_data.c:202 #, c-format msgid "Number of tries to enter a password: %u" msgstr "Количество попыток ввода пароля: %u" -#: plugins/sudoers/def_data.c:204 +#: plugins/sudoers/def_data.c:206 #, c-format msgid "Umask to use or 0777 to use user's: 0%o" msgstr "Значение umask или 0777 для применения пользовательского значения: 0%o" -#: plugins/sudoers/def_data.c:208 +#: plugins/sudoers/def_data.c:210 #, c-format msgid "Path to log file: %s" msgstr "Путь к файлу журнала: %s" -#: plugins/sudoers/def_data.c:212 +#: plugins/sudoers/def_data.c:214 #, c-format msgid "Path to mail program: %s" msgstr "Путь к почтовой программе: %s" -#: plugins/sudoers/def_data.c:216 +#: plugins/sudoers/def_data.c:218 #, c-format msgid "Flags for mail program: %s" msgstr "Флаги для почтовой программы: %s" -#: plugins/sudoers/def_data.c:220 +#: plugins/sudoers/def_data.c:222 #, c-format msgid "Address to send mail to: %s" msgstr "Адрес для отправки почты: %s" -#: plugins/sudoers/def_data.c:224 +#: plugins/sudoers/def_data.c:226 #, c-format msgid "Address to send mail from: %s" msgstr "Адрес для отправки почты от: %s" -#: plugins/sudoers/def_data.c:228 +#: plugins/sudoers/def_data.c:230 #, c-format msgid "Subject line for mail messages: %s" msgstr "Тема письма: %s" -#: plugins/sudoers/def_data.c:232 +#: plugins/sudoers/def_data.c:234 #, c-format msgid "Incorrect password message: %s" msgstr "Сообщение о некорректном пароле: %s" -#: plugins/sudoers/def_data.c:236 +#: plugins/sudoers/def_data.c:238 #, c-format msgid "Path to lecture status dir: %s" msgstr "Путь к каталогу состояния обучения: %s" -#: plugins/sudoers/def_data.c:240 +#: plugins/sudoers/def_data.c:242 #, c-format msgid "Path to authentication timestamp dir: %s" msgstr "Путь к каталогу меток времени аутентификации: %s" -#: plugins/sudoers/def_data.c:244 +#: plugins/sudoers/def_data.c:246 #, c-format msgid "Owner of the authentication timestamp dir: %s" msgstr "Владелец каталога меток времени аутентификации: %s" -#: plugins/sudoers/def_data.c:248 +#: plugins/sudoers/def_data.c:250 #, c-format msgid "Users in this group are exempt from password and PATH requirements: %s" msgstr "Пользователи этой группы освобождены от необходимости ввода пароля и PATH: %s" -#: plugins/sudoers/def_data.c:252 +#: plugins/sudoers/def_data.c:254 #, c-format msgid "Default password prompt: %s" msgstr "Подсказка пароля по умолчанию: %s" -#: plugins/sudoers/def_data.c:256 +#: plugins/sudoers/def_data.c:258 msgid "If set, passprompt will override system prompt in all cases." msgstr "Если установлено, запрос пароля будет заменять запрос системы." -#: plugins/sudoers/def_data.c:260 +#: plugins/sudoers/def_data.c:262 #, c-format msgid "Default user to run commands as: %s" msgstr "Пользователь по умолчанию для выполнения команд: %s" -#: plugins/sudoers/def_data.c:264 +#: plugins/sudoers/def_data.c:266 #, c-format msgid "Value to override user's $PATH with: %s" msgstr "Значение для переопределения $PATH пользователя: %s" -#: plugins/sudoers/def_data.c:268 +#: plugins/sudoers/def_data.c:270 #, c-format msgid "Path to the editor for use by visudo: %s" msgstr "Путь к редактору для использования visudo: %s" -#: plugins/sudoers/def_data.c:272 +#: plugins/sudoers/def_data.c:274 #, c-format msgid "When to require a password for 'list' pseudocommand: %s" msgstr "Когда требовать пароль для псевдокоманды «list»: %s" -#: plugins/sudoers/def_data.c:276 +#: plugins/sudoers/def_data.c:278 #, c-format msgid "When to require a password for 'verify' pseudocommand: %s" msgstr "Когда требовать пароль для псевдокоманды «verify»: %s" -#: plugins/sudoers/def_data.c:280 +#: plugins/sudoers/def_data.c:282 msgid "Preload the sudo_noexec library which replaces the exec functions" msgstr "Предварительно загрузить библиотеку sudo_noexec, заменяющую функции выполнения" -#: plugins/sudoers/def_data.c:284 +#: plugins/sudoers/def_data.c:286 msgid "If LDAP directory is up, do we ignore local sudoers file" msgstr "Игнорировать ли локальный файл sudoers, если есть доступ к каталогу LDAP" -#: plugins/sudoers/def_data.c:288 +#: plugins/sudoers/def_data.c:290 #, c-format msgid "File descriptors >= %d will be closed before executing a command" msgstr "Дескрипторы файлов >= %d будут закрыты перед выполнением команды" -#: plugins/sudoers/def_data.c:292 +#: plugins/sudoers/def_data.c:294 msgid "If set, users may override the value of \"closefrom\" with the -C option" msgstr "Если установлено, пользователи могут переопределять значение closefrom с помощью параметра -C" -#: plugins/sudoers/def_data.c:296 +#: plugins/sudoers/def_data.c:298 msgid "Allow users to set arbitrary environment variables" msgstr "Разрешить пользователям устанавливать произвольные переменные окружения" -#: plugins/sudoers/def_data.c:300 +#: plugins/sudoers/def_data.c:302 msgid "Reset the environment to a default set of variables" msgstr "Сбрасывать окружение к набору переменных по умолчанию" -#: plugins/sudoers/def_data.c:304 +#: plugins/sudoers/def_data.c:306 msgid "Environment variables to check for safety:" msgstr "Переменные окружения, безопасность которых следует проверить:" -#: plugins/sudoers/def_data.c:308 +#: plugins/sudoers/def_data.c:310 msgid "Environment variables to remove:" msgstr "Переменные окружения, которые необходимо удалить:" -#: plugins/sudoers/def_data.c:312 +#: plugins/sudoers/def_data.c:314 msgid "Environment variables to preserve:" msgstr "Переменные окружения, которые необходимо сохранить:" -#: plugins/sudoers/def_data.c:316 +#: plugins/sudoers/def_data.c:318 #, c-format msgid "SELinux role to use in the new security context: %s" msgstr "Роль SELinux для использования в новом контексте безопасности: %s" -#: plugins/sudoers/def_data.c:320 +#: plugins/sudoers/def_data.c:322 #, c-format msgid "SELinux type to use in the new security context: %s" msgstr "Тип SELinux для использования в новом контексте безопасности: %s" -#: plugins/sudoers/def_data.c:324 +#: plugins/sudoers/def_data.c:326 #, c-format msgid "Path to the sudo-specific environment file: %s" msgstr "Путь к специфическому для sudo файлу окружения: %s" -#: plugins/sudoers/def_data.c:328 +#: plugins/sudoers/def_data.c:330 #, c-format msgid "Path to the restricted sudo-specific environment file: %s" msgstr "Путь к специфическому для sudo файлу окружения с ограниченным доступом: %s" -#: plugins/sudoers/def_data.c:332 +#: plugins/sudoers/def_data.c:334 #, c-format msgid "Locale to use while parsing sudoers: %s" msgstr "Локаль, которую следует использовать при разборе sudoers: %s" -#: plugins/sudoers/def_data.c:336 +#: plugins/sudoers/def_data.c:338 msgid "Allow sudo to prompt for a password even if it would be visible" msgstr "Разрешить sudo запрашивать пароль, даже если он будет виден" -#: plugins/sudoers/def_data.c:340 +#: plugins/sudoers/def_data.c:342 msgid "Provide visual feedback at the password prompt when there is user input" msgstr "Сопровождать ввод пароля показом заменителей символов пароля" -#: plugins/sudoers/def_data.c:344 +#: plugins/sudoers/def_data.c:346 msgid "Use faster globbing that is less accurate but does not access the filesystem" msgstr "Использовать быструю подстановку путей, которая менее точна, но не требует доступа к файловой системе" -#: plugins/sudoers/def_data.c:348 +#: plugins/sudoers/def_data.c:350 msgid "The umask specified in sudoers will override the user's, even if it is more permissive" msgstr "Значение umask, указанное в sudoers, будет переопределять значения пользователя, даже если это открывает более широкий доступ" -#: plugins/sudoers/def_data.c:352 +#: plugins/sudoers/def_data.c:354 msgid "Log user's input for the command being run" msgstr "Записывать в журнал данные, введённые пользователем для выполнения команды" -#: plugins/sudoers/def_data.c:356 +#: plugins/sudoers/def_data.c:358 msgid "Log the command's standard input if not connected to a terminal" msgstr "Записывать в журнал данные из стандартного ввода команды, если она не соединена с терминалом" -#: plugins/sudoers/def_data.c:360 +#: plugins/sudoers/def_data.c:362 msgid "Log the user's terminal input for the command being run" msgstr "Записывать в журнал данные, вводимые пользователем в терминал при выполнении команды" -#: plugins/sudoers/def_data.c:364 +#: plugins/sudoers/def_data.c:366 msgid "Log the output of the command being run" msgstr "Записывать в журнал вывод выполняемой команды" -#: plugins/sudoers/def_data.c:368 +#: plugins/sudoers/def_data.c:370 msgid "Log the command's standard output if not connected to a terminal" msgstr "Записывать в журнал стандартный вывод команды, если она не подключена к терминалу" -#: plugins/sudoers/def_data.c:372 +#: plugins/sudoers/def_data.c:374 msgid "Log the command's standard error if not connected to a terminal" msgstr "Записывать в журнал стандартный вывод ошибок команды, если она не подключена к терминалу" -#: plugins/sudoers/def_data.c:376 +#: plugins/sudoers/def_data.c:378 msgid "Log the terminal output of the command being run" msgstr "Записывать в журнал данные, выведенные командой в терминал во время выполнения" -#: plugins/sudoers/def_data.c:380 +#: plugins/sudoers/def_data.c:382 msgid "Compress I/O logs using zlib" msgstr "Сжимать журналы ввода/вывода с помощью zlib" -#: plugins/sudoers/def_data.c:384 +#: plugins/sudoers/def_data.c:386 msgid "Always run commands in a pseudo-tty" msgstr "Всегда запускать команды в псевдо-tty" -#: plugins/sudoers/def_data.c:388 +#: plugins/sudoers/def_data.c:390 #, c-format msgid "Plugin for non-Unix group support: %s" msgstr "Модель для поддержки не-Unix групп: %s" -#: plugins/sudoers/def_data.c:392 +#: plugins/sudoers/def_data.c:394 #, c-format msgid "Directory in which to store input/output logs: %s" msgstr "Каталог, в котором будут храниться журналы ввода/вывода: %s" -#: plugins/sudoers/def_data.c:396 +#: plugins/sudoers/def_data.c:398 #, c-format msgid "File in which to store the input/output log: %s" msgstr "Файл, в который будет сохраняться журнал ввода/вывода: %s" -#: plugins/sudoers/def_data.c:400 +#: plugins/sudoers/def_data.c:402 msgid "Add an entry to the utmp/utmpx file when allocating a pty" msgstr "Добавлять запись в файл utmp/utmpx при выделении pty" -#: plugins/sudoers/def_data.c:404 +#: plugins/sudoers/def_data.c:406 msgid "Set the user in utmp to the runas user, not the invoking user" msgstr "Установить пользователя в utmp в значение runas, а не имя пользователя, от имени которого выполняется команда" -#: plugins/sudoers/def_data.c:408 +#: plugins/sudoers/def_data.c:410 #, c-format msgid "Set of permitted privileges: %s" msgstr "Набор разрешённых прав доступа: %s" -#: plugins/sudoers/def_data.c:412 +#: plugins/sudoers/def_data.c:414 #, c-format msgid "Set of limit privileges: %s" msgstr "Набор ограничительных прав доступа: %s" -#: plugins/sudoers/def_data.c:416 +#: plugins/sudoers/def_data.c:418 msgid "Run commands on a pty in the background" msgstr "Выполнять команды на pty в фоновом режиме" -#: plugins/sudoers/def_data.c:420 +#: plugins/sudoers/def_data.c:422 #, c-format msgid "PAM service name to use: %s" msgstr "Название службы PAM, которую следует использовать: %s" -#: plugins/sudoers/def_data.c:424 +#: plugins/sudoers/def_data.c:426 #, c-format msgid "PAM service name to use for login shells: %s" msgstr "Название службы PAM, которую следует использовать для оболочек входа в систему: %s" -#: plugins/sudoers/def_data.c:428 +#: plugins/sudoers/def_data.c:430 #, 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:432 +#: plugins/sudoers/def_data.c:434 msgid "Attempt to establish PAM credentials for the target user" msgstr "Попытаться установить регистрационные данные PAM для пользователя, от имени которого будут выполняться команды" -#: plugins/sudoers/def_data.c:436 +#: plugins/sudoers/def_data.c:438 msgid "Create a new PAM session for the command to run in" msgstr "Создать сеанс PAM для выполнения команды" -#: plugins/sudoers/def_data.c:440 +#: plugins/sudoers/def_data.c:442 msgid "Perform PAM account validation management" msgstr "Выполнять проверку корректности учётной записи PAM" -#: plugins/sudoers/def_data.c:444 +#: plugins/sudoers/def_data.c:446 +msgid "Do not allow PAM authentication modules to generate output" +msgstr "Не позволять модулям аутентификации PAM выводить данные" + +#: plugins/sudoers/def_data.c:450 #, c-format msgid "Maximum I/O log sequence number: %s" msgstr "Максимальный номер в журнале ввода/вывода: %s" -#: plugins/sudoers/def_data.c:448 +#: plugins/sudoers/def_data.c:454 msgid "Enable sudoers netgroup support" msgstr "Включить поддержку сетевых групп в sudoers" -#: plugins/sudoers/def_data.c:452 +#: plugins/sudoers/def_data.c:458 msgid "Check parent directories for writability when editing files with sudoedit" msgstr "Проверять родительские каталоги на возможность записи при редактировании файлов с помощью sudoedit" -#: plugins/sudoers/def_data.c:456 +#: plugins/sudoers/def_data.c:462 msgid "Follow symbolic links when editing files with sudoedit" msgstr "Переходить по символическим ссылкам при редактировании файлов с помощью sudoedit" -#: plugins/sudoers/def_data.c:460 +#: plugins/sudoers/def_data.c:466 msgid "Query the group plugin for unknown system groups" msgstr "Отправлять запрос в модуль групп по неизвестным группам системы" -#: plugins/sudoers/def_data.c:464 +#: plugins/sudoers/def_data.c:470 msgid "Match netgroups based on the entire tuple: user, host and domain" msgstr "Устанавливать соответствие сетевым группам по всему кортежу данных: пользователю, узлу и домену" -#: plugins/sudoers/def_data.c:468 +#: plugins/sudoers/def_data.c:474 msgid "Allow commands to be run even if sudo cannot write to the audit log" msgstr "Разрешить выполнение команд, даже если sudo не может записать в журнал аудита" -#: plugins/sudoers/def_data.c:472 +#: plugins/sudoers/def_data.c:478 msgid "Allow commands to be run even if sudo cannot write to the I/O log" msgstr "Разрешить выполнение команд, даже если sudo не может записать в журнал ввода/вывода" -#: plugins/sudoers/def_data.c:476 +#: plugins/sudoers/def_data.c:482 msgid "Allow commands to be run even if sudo cannot write to the log file" msgstr "Разрешить выполнение команд, даже если sudo не может записать в файл журнала" -#: plugins/sudoers/def_data.c:480 +#: plugins/sudoers/def_data.c:486 msgid "Resolve groups in sudoers and match on the group ID, not the name" msgstr "Определять группы в sudoers и устанавливать соответствие по идентификатору группы, а не названию" -#: plugins/sudoers/def_data.c:484 +#: plugins/sudoers/def_data.c:490 #, 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:488 +#: plugins/sudoers/def_data.c:494 #, c-format msgid "User that will own the I/O log files: %s" msgstr "Пользователь, который будет владеть файлами журнала ввода/вывода: %s" -#: plugins/sudoers/def_data.c:492 +#: plugins/sudoers/def_data.c:498 #, c-format msgid "Group that will own the I/O log files: %s" msgstr "Группа, которая будет владеть файлами журнала ввода/вывода: %s" -#: plugins/sudoers/def_data.c:496 +#: plugins/sudoers/def_data.c:502 #, c-format msgid "File mode to use for the I/O log files: 0%o" msgstr "Режим доступа к файлам журнала ввода/вывода: 0%o" -#: plugins/sudoers/def_data.c:500 +#: plugins/sudoers/def_data.c:506 #, c-format msgid "Execute commands by file descriptor instead of by path: %s" msgstr "Выполнять команды по дескриптору файла, а не пути: %s" -#: plugins/sudoers/def_data.c:504 +#: plugins/sudoers/def_data.c:510 msgid "Ignore unknown Defaults entries in sudoers instead of producing a warning" msgstr "Игнорировать неизвестные записи Defaults в sudoers вместо показа предупреждения" -#: plugins/sudoers/def_data.c:508 +#: plugins/sudoers/def_data.c:514 #, c-format msgid "Time in seconds after which the command will be terminated: %u" msgstr "Время в секундах, после которого выполнение команды будет прервано: %u" -#: plugins/sudoers/def_data.c:512 +#: plugins/sudoers/def_data.c:518 msgid "Allow the user to specify a timeout on the command line" msgstr "Разрешить пользователю указывать время ожидания в командной строке" -#: plugins/sudoers/def_data.c:516 +#: plugins/sudoers/def_data.c:522 msgid "Flush I/O log data to disk immediately instead of buffering it" msgstr "Сбрасывать данные журнала ввода/вывода на диск немедленно, без буферизации" -#: plugins/sudoers/def_data.c:520 +#: plugins/sudoers/def_data.c:526 msgid "Include the process ID when logging via syslog" msgstr "Включать идентификатор процесса в журнал syslog" -#: plugins/sudoers/def_data.c:524 +#: plugins/sudoers/def_data.c:530 #, c-format msgid "Type of authentication timestamp record: %s" msgstr "Тип записи временной метки аутентификации: %s" -#: plugins/sudoers/def_data.c:528 +#: plugins/sudoers/def_data.c:534 #, c-format msgid "Authentication failure message: %s" msgstr "Сообщение об ошибке аутентификации: %s" -#: plugins/sudoers/def_data.c:532 +#: plugins/sudoers/def_data.c:538 msgid "Ignore case when matching user names" msgstr "Игнорировать регистр при сопоставлении имён пользователей" -#: plugins/sudoers/def_data.c:536 +#: plugins/sudoers/def_data.c:542 msgid "Ignore case when matching group names" msgstr "Игнорировать регистр при сопоставлении имён групп" -#: plugins/sudoers/def_data.c:540 +#: plugins/sudoers/def_data.c:546 msgid "Log when a command is allowed by sudoers" msgstr "Записывать в журнал, когда выполнение команды разрешено sudoers" -#: plugins/sudoers/def_data.c:544 +#: plugins/sudoers/def_data.c:550 msgid "Log when a command is denied by sudoers" msgstr "Записывать в журнал, когда выполнение команды заблокировано sudoers" -#: plugins/sudoers/def_data.c:548 +#: plugins/sudoers/def_data.c:554 msgid "Sudo log server(s) to connect to with optional port" msgstr "Сервер(ы) журнала sudo с необязательным портом, к которым следует установить подключение" -#: plugins/sudoers/def_data.c:552 +#: plugins/sudoers/def_data.c:558 #, c-format msgid "Sudo log server timeout in seconds: %u" msgstr "Время ожидания сервера журнала sudo в секундах: %u" -#: plugins/sudoers/def_data.c:556 +#: plugins/sudoers/def_data.c:562 msgid "Enable SO_KEEPALIVE socket option on the socket connected to the logserver" msgstr "Включить опцию SO_KEEPALIVE на сокете, подключенном к серверу журналов" -#: plugins/sudoers/def_data.c:560 +#: plugins/sudoers/def_data.c:566 #, c-format msgid "Path to the audit server's CA bundle file: %s" msgstr "Путь к файлу пакета CA сервера аудита: %s" -#: plugins/sudoers/def_data.c:564 +#: plugins/sudoers/def_data.c:570 #, c-format msgid "Path to the sudoers certificate file: %s" msgstr "Путь к файлу сертификата sudoers: %s" -#: plugins/sudoers/def_data.c:568 +#: plugins/sudoers/def_data.c:574 #, c-format msgid "Path to the sudoers private key file: %s" msgstr "Путь к файлу закрытого ключа sudoers: %s" -#: plugins/sudoers/def_data.c:572 +#: plugins/sudoers/def_data.c:578 msgid "Verify that the log server's certificate is valid" msgstr "Проверять, что сертификат сервера журнала действителен" -#: plugins/sudoers/def_data.c:576 +#: plugins/sudoers/def_data.c:582 msgid "Allow the use of unknown runas user and/or group ID" msgstr "Разрешить использование неизвестного идентификатора пользователя и/или группы для runas" -#: plugins/sudoers/def_data.c:580 +#: plugins/sudoers/def_data.c:586 msgid "Only permit running commands as a user with a valid shell" msgstr "Разрешить выполнение команд только от имени пользователя с корректной оболочкой" -#: plugins/sudoers/def_data.c:584 +#: plugins/sudoers/def_data.c:590 msgid "Set the pam remote user to the user running sudo" msgstr "Установить для удалённого пользователя PAM то же имя, что и для пользователя, от имени которого запущен sudo" -#: plugins/sudoers/def_data.c:588 +#: plugins/sudoers/def_data.c:594 msgid "Set the pam remote host to the local host name" msgstr "Установить для удалённого узла PAM название локального узла" -#: plugins/sudoers/def_data.c:592 +#: plugins/sudoers/def_data.c:598 #, c-format msgid "Working directory to change to before executing the command: %s" msgstr "Рабочий каталог, в который следует перейти перед выполнением команды: %s" -#: plugins/sudoers/def_data.c:596 +#: plugins/sudoers/def_data.c:602 #, c-format msgid "Root directory to change to before executing the command: %s" msgstr "Корневой каталог, в который следует перейти перед выполнением команды: %s" -#: plugins/sudoers/def_data.c:600 +#: plugins/sudoers/def_data.c:606 #, c-format msgid "The format of logs to produce: %s" msgstr "Формат журнала: %s" -#: plugins/sudoers/def_data.c:604 +#: plugins/sudoers/def_data.c:610 msgid "Enable SELinux RBAC support" msgstr "Включить поддержку SELinux RBAC" -#: plugins/sudoers/def_data.c:608 +#: plugins/sudoers/def_data.c:614 #, 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:612 +#: plugins/sudoers/def_data.c:618 msgid "Intercept further commands and apply sudoers restrictions to them" msgstr "Перехватывать дальнейшие команды и применять к ним ограничения sudoers" -#: plugins/sudoers/def_data.c:616 +#: plugins/sudoers/def_data.c:622 msgid "Log sub-commands run by the original command" msgstr "Записывать в журнал подкоманды, выполняемые исходной командой" -#: plugins/sudoers/def_data.c:620 +#: plugins/sudoers/def_data.c:626 msgid "Log the exit status of commands" msgstr "Записывать в журнал статус выхода команд" -#: plugins/sudoers/def_data.c:624 +#: plugins/sudoers/def_data.c:630 msgid "Subsequent commands in an intercepted session must be authenticated" msgstr "Для выполнения следующих команд в перехваченном сеансе необходимо пройти аутентификацию" -#: plugins/sudoers/def_data.c:628 +#: plugins/sudoers/def_data.c:634 msgid "Allow an intercepted command to run set setuid or setgid programs" msgstr "Разрешить перехваченной команде запускать программы, выполняющие setuid или setgid" -#: plugins/sudoers/def_data.c:632 +#: plugins/sudoers/def_data.c:638 #, 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:636 +#: plugins/sudoers/def_data.c:642 #, c-format msgid "The largest size core dump file that may be created (in bytes): %s" msgstr "Наибольший размер файла дампа ядра, который может быть создан (в байтах): %s" -#: plugins/sudoers/def_data.c:640 +#: plugins/sudoers/def_data.c:646 #, c-format msgid "The maximum amount of CPU time that the process may use (in seconds): %s" msgstr "Максимальное количество процессорного времени, которое процесс может использовать (в секундах): %s" -#: plugins/sudoers/def_data.c:644 +#: plugins/sudoers/def_data.c:650 #, c-format msgid "The maximum size of the data segment for the process (in bytes): %s" msgstr "Максимальный размер сегмента данных процесса (в байтах): %s" -#: plugins/sudoers/def_data.c:648 +#: plugins/sudoers/def_data.c:654 #, c-format msgid "The largest size file that the process may create (in bytes): %s" msgstr "Наибольший размер файла, который процесс может создать (в байтах): %s" -#: plugins/sudoers/def_data.c:652 +#: plugins/sudoers/def_data.c:658 #, c-format msgid "The maximum number of locks that the process may establish: %s" msgstr "Максимальное количество блокировок, которые может установить процесс: %s" -#: plugins/sudoers/def_data.c:656 +#: plugins/sudoers/def_data.c:662 #, c-format msgid "The maximum size that the process may lock in memory (in bytes): %s" msgstr "Максимальный размер, который процесс может заблокировать в памяти (в байтах): %s" -#: plugins/sudoers/def_data.c:660 +#: plugins/sudoers/def_data.c:666 #, c-format msgid "The maximum number of files that the process may have open: %s" msgstr "Максимальное количество файлов, которое может быть открыто процессом: %s" -#: plugins/sudoers/def_data.c:664 +#: plugins/sudoers/def_data.c:670 #, c-format msgid "The maximum number of processes that the user may run simultaneously: %s" msgstr "Максимальное количество процессов, которые пользователь может запускать одновременно: %s" -#: plugins/sudoers/def_data.c:668 +#: plugins/sudoers/def_data.c:674 #, 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:672 +#: plugins/sudoers/def_data.c:678 #, c-format msgid "The maximum size to which the process's stack may grow (in bytes): %s" msgstr "Максимальный размер, до которого может вырасти стек процесса (в байтах): %s" -#: plugins/sudoers/def_data.c:676 +#: plugins/sudoers/def_data.c:682 msgid "Attempt authentication even when in non-interactive mode" msgstr "Пытаться пройти аутентификацию даже в неинтерактивном режиме" -#: plugins/sudoers/def_data.c:680 +#: plugins/sudoers/def_data.c:686 msgid "Store plaintext passwords in I/O log input" msgstr "Сохранять вводимые пароли в открытом виде в журнале ввода-вывода" -#: plugins/sudoers/def_data.c:684 +#: plugins/sudoers/def_data.c:690 msgid "List of regular expressions to use when matching a password prompt" msgstr "Список регулярных выражений, которые будут использоваться при сопоставлении запроса пароля" -#: plugins/sudoers/def_data.c:688 +#: plugins/sudoers/def_data.c:694 #, c-format msgid "The mechanism used by the intercept and log_subcmds options: %s" msgstr "Механизм, используемый параметрами intercept и log_subcmds: %s" -#: plugins/sudoers/def_data.c:692 +#: plugins/sudoers/def_data.c:698 msgid "Attempt to verify the command and arguments after execution" msgstr "Попытаться проверить команду и аргументы после выполнения" -#: plugins/sudoers/def_data.c:696 +#: plugins/sudoers/def_data.c:702 #, c-format msgid "AppArmor profile to use in the new security context: %s" msgstr "Профиль AppArmor, который следует использовать в новом контексте безопасности: %s" +#: plugins/sudoers/def_data.c:706 +#, c-format +msgid "Command denial message: %s" +msgstr "Сообщение при блокировке команды: %s" + #: plugins/sudoers/defaults.c:207 #, c-format msgid "unknown defaults entry \"%s\"" @@ -2660,64 +2672,64 @@ msgstr "некорректный тип Defaults 0x%x для параметра msgid "value \"%s\" is invalid for option \"%s\"" msgstr "значение «%s» недопустимо для параметра «%s»" -#: plugins/sudoers/defaults.c:1176 plugins/sudoers/policy.c:213 -#: plugins/sudoers/policy.c:222 +#: plugins/sudoers/defaults.c:1189 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:1182 +#: plugins/sudoers/defaults.c:1195 #, c-format msgid "values for \"%s\" must start with a '/', '~', or '*'" msgstr "значения для «%s» должны начинаться с «/», «~» или «*»" -#: plugins/sudoers/defaults.c:1189 +#: plugins/sudoers/defaults.c:1202 #, c-format msgid "values for \"%s\" must start with a '/'" msgstr "значения для «%s» должны начинаться с «/»" -#: plugins/sudoers/display.c:160 +#: plugins/sudoers/display.c:154 #, c-format msgid "LDAP Role: %s\n" msgstr "Роль LDAP: %s\n" -#: plugins/sudoers/display.c:163 +#: plugins/sudoers/display.c:157 #, c-format msgid "Sudoers entry: %s\n" msgstr "Запись sudoers: %s\n" -#: plugins/sudoers/display.c:166 +#: plugins/sudoers/display.c:160 msgid " RunAsUsers: " msgstr " ПользователиДляЗапуска: " -#: plugins/sudoers/display.c:181 +#: plugins/sudoers/display.c:175 msgid " RunAsGroups: " msgstr " ГруппыДляЗапуска: " -#: plugins/sudoers/display.c:191 +#: plugins/sudoers/display.c:185 msgid " Options: " msgstr " Параметры: " -#: plugins/sudoers/display.c:255 +#: plugins/sudoers/display.c:249 msgid " Commands:\n" msgstr " Команды:\n" -#: plugins/sudoers/display.c:478 +#: plugins/sudoers/display.c:472 #, c-format msgid "Matching Defaults entries for %s on %s:\n" msgstr "Соответствие записей Defaults для %s на %s:\n" -#: plugins/sudoers/display.c:496 +#: plugins/sudoers/display.c:490 #, c-format msgid "Runas and Command-specific defaults for %s:\n" msgstr "Значения Runas и Command по умолчанию для %s:\n" -#: plugins/sudoers/display.c:514 +#: plugins/sudoers/display.c:508 #, c-format msgid "User %s may run the following commands on %s:\n" msgstr "Пользователь %s может выполнять следующие команды на %s:\n" -#: plugins/sudoers/display.c:530 +#: plugins/sudoers/display.c:524 #, c-format msgid "User %s is not allowed to run sudo on %s.\n" msgstr "Пользователю %s не разрешено запускать sudo на %s.\n" @@ -2731,15 +2743,15 @@ msgstr "игнорируется редактор: %.*s" msgid "editor arguments may not contain \"--\"" msgstr "аргументы редактора не могут содержать «--»" -#: plugins/sudoers/env.c:426 +#: plugins/sudoers/env.c:443 msgid "sudo_putenv: corrupted envp, length mismatch" msgstr "sudo_putenv: ошибочное значение envp, несоответствие длин" -#: plugins/sudoers/env.c:1119 +#: plugins/sudoers/env.c:1137 msgid "unable to rebuild the environment" msgstr "не удаётся перестроить среду" -#: plugins/sudoers/env.c:1199 +#: plugins/sudoers/env.c:1217 #, c-format msgid "sorry, you are not allowed to set the following environment variables: %s" msgstr "извините, вам не разрешено устанавливать следующие переменные окружения: %s" @@ -2783,37 +2795,37 @@ msgstr "не удаётся разобрать сетевую маску «%s»" msgid "Local IP address and netmask pairs:\n" msgstr "Пары локальных IP-адресов и масок сети:\n" -#: plugins/sudoers/iolog.c:694 +#: plugins/sudoers/iolog.c:702 msgid "unable to update sequence file" msgstr "не удаётся обновить файл последовательности" -#: plugins/sudoers/iolog.c:728 plugins/sudoers/iolog.c:917 -#: plugins/sudoers/iolog.c:1080 plugins/sudoers/iolog.c:1087 -#: plugins/sudoers/iolog.c:1209 plugins/sudoers/iolog.c:1216 -#: plugins/sudoers/iolog.c:1316 plugins/sudoers/iolog.c:1323 +#: plugins/sudoers/iolog.c:736 plugins/sudoers/iolog.c:925 +#: plugins/sudoers/iolog.c:1088 plugins/sudoers/iolog.c:1095 +#: plugins/sudoers/iolog.c:1217 plugins/sudoers/iolog.c:1224 +#: plugins/sudoers/iolog.c:1324 plugins/sudoers/iolog.c:1331 #, c-format msgid "unable to write to I/O log file: %s" msgstr "не удаётся добавить запись в файл журнала ввода-вывода: %s" -#: plugins/sudoers/iolog.c:736 +#: plugins/sudoers/iolog.c:744 #, c-format msgid "unable to create %s/%s" msgstr "не удаётся создать %s/%s" -#: plugins/sudoers/iolog.c:965 +#: plugins/sudoers/iolog.c:973 #, c-format msgid "%s: internal error, I/O log file for event %d not open" msgstr "%s: внутренняя ошибка, файл журнала ввода/вывода для события %d не открыт" -#: plugins/sudoers/iolog.c:1065 plugins/sudoers/iolog.c:1194 -#: plugins/sudoers/iolog.c:1300 plugins/sudoers/timestamp.c:897 -#: plugins/sudoers/timestamp.c:989 plugins/sudoers/visudo.c:555 +#: plugins/sudoers/iolog.c:1073 plugins/sudoers/iolog.c:1202 +#: plugins/sudoers/iolog.c:1308 plugins/sudoers/timestamp.c:900 +#: plugins/sudoers/timestamp.c:992 plugins/sudoers/visudo.c:555 #: plugins/sudoers/visudo.c:561 msgid "unable to read the clock" msgstr "не удаётся прочитать время" -#: plugins/sudoers/iolog.c:1292 plugins/sudoers/log_client.c:1203 -#: plugins/sudoers/log_client.c:1213 plugins/sudoers/log_client.c:1217 +#: plugins/sudoers/iolog.c:1300 plugins/sudoers/log_client.c:1226 +#: plugins/sudoers/log_client.c:1236 plugins/sudoers/log_client.c:1240 #, c-format msgid "%s: internal error, invalid signal %d" msgstr "%s: внутренняя ошибка, недопустимый сигнал %d" @@ -2860,15 +2872,15 @@ msgstr "неподдерживаемый тип адреса LDAP: %s" msgid "unable to mix ldap and ldaps URIs" msgstr "нельзя использовать вместе адреса ldap и ldaps" -#: 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 +#: plugins/sudoers/ldap_util.c:496 plugins/sudoers/ldap_util.c:503 +#: plugins/sudoers/ldap_util.c:511 plugins/sudoers/ldap_util.c:519 +#: plugins/sudoers/ldap_util.c:527 plugins/sudoers/ldap_util.c:535 +#: plugins/sudoers/ldap_util.c:543 plugins/sudoers/ldap_util.c:551 #, c-format msgid "duplicate sudoOption: %s%s%s" msgstr "дубль sudoOption: %s%s%s" -#: plugins/sudoers/ldap_util.c:568 plugins/sudoers/ldap_util.c:570 +#: plugins/sudoers/ldap_util.c:569 plugins/sudoers/ldap_util.c:571 #, c-format msgid "unable to convert sudoOption: %s%s%s" msgstr "не удаётся преобразовать запись sudoOption: %s%s%s" @@ -2881,63 +2893,63 @@ msgstr "не удаётся открыть систему аудита" msgid "unable to send audit message" msgstr "не удаётся отправить сообщение аудита" -#: plugins/sudoers/log_client.c:125 plugins/sudoers/log_client.c:412 -#: plugins/sudoers/log_client.c:1450 plugins/sudoers/log_client.c:2076 +#: plugins/sudoers/log_client.c:125 plugins/sudoers/log_client.c:421 +#: plugins/sudoers/log_client.c:1473 plugins/sudoers/log_client.c:2101 msgid "error in event loop" msgstr "ошибка в цикле обработки событий" -#: plugins/sudoers/log_client.c:205 +#: plugins/sudoers/log_client.c:214 #, c-format msgid "Creation of new SSL_CTX object failed: %s" msgstr "Не удаётся создать объект SSL_CTX: %s" -#: plugins/sudoers/log_client.c:230 +#: plugins/sudoers/log_client.c:239 #, c-format msgid "unable to load certificate authority bundle %s" msgstr "не удаётся загрузить пакет центра сертификации %s" -#: plugins/sudoers/log_client.c:252 +#: plugins/sudoers/log_client.c:261 #, c-format msgid "unable to load certificate %s" msgstr "не удаётся загрузить сертификат %s" -#: plugins/sudoers/log_client.c:266 +#: plugins/sudoers/log_client.c:275 #, c-format msgid "unable to load private key %s" msgstr "не удаётся загрузить закрытый ключ %s" -#: plugins/sudoers/log_client.c:275 +#: plugins/sudoers/log_client.c:284 #, c-format msgid "Unable to allocate ssl object: %s" msgstr "Не удаётся разместить SSL-объект в памяти: %s" -#: plugins/sudoers/log_client.c:364 plugins/sudoers/log_client.c:369 +#: plugins/sudoers/log_client.c:373 plugins/sudoers/log_client.c:378 #, c-format msgid "TLS connection to %s:%s failed: %s" msgstr "Не удаётся установить TLS-соединение с %s:%s: %s" -#: plugins/sudoers/log_client.c:545 +#: plugins/sudoers/log_client.c:554 msgid "TLS initialization was unsuccessful" msgstr "Инициализация TLS не удалась" -#: plugins/sudoers/log_client.c:555 +#: plugins/sudoers/log_client.c:564 msgid "TLS handshake was unsuccessful" msgstr "Попытка согласования TLS-подключения завершилась неудачно" -#: plugins/sudoers/log_client.c:1221 +#: plugins/sudoers/log_client.c:1244 #, c-format msgid "%s: internal error, invalid exit status %d" msgstr "%s: внутренняя ошибка, некорректный статус выхода %d" -#: plugins/sudoers/log_client.c:1757 plugins/sudoers/log_client.c:1782 +#: plugins/sudoers/log_client.c:1780 plugins/sudoers/log_client.c:1805 msgid "lost connection to log server" msgstr "потеряно соединение с сервером журнала" -#: plugins/sudoers/log_client.c:1859 +#: plugins/sudoers/log_client.c:1882 msgid "missing write buffer" msgstr "не указан буфер записи" -#: plugins/sudoers/log_client.c:2015 +#: plugins/sudoers/log_client.c:2040 msgid "unable to connect to log server" msgstr "не удаётся подключиться к серверу журнала" @@ -2950,42 +2962,55 @@ msgid "user NOT authorized on host" msgstr "пользователь НЕ имеет прав на действия на узле" #: plugins/sudoers/logging.c:299 +msgid "setid command rejected in intercept mode" +msgstr "команда setid отклонена в режиме перехвата" + +#: plugins/sudoers/logging.c:301 msgid "command not allowed" msgstr "команда не разрешена" -#: plugins/sudoers/logging.c:320 +#: plugins/sudoers/logging.c:322 #, c-format msgid "%s is not in the sudoers file.\n" msgstr "%s отсутствует в файле sudoers.\n" -#: plugins/sudoers/logging.c:323 +#: plugins/sudoers/logging.c:325 #, c-format msgid "%s is not allowed to run sudo on %s.\n" msgstr "%s не имеет права запускать sudo на %s.\n" -#: plugins/sudoers/logging.c:326 +#: plugins/sudoers/logging.c:328 plugins/sudoers/parser_warnx.c:59 +#, c-format +msgid "%s: %s\n" +msgstr "%s: %s\n" + +#: plugins/sudoers/logging.c:329 +msgid "setid commands are not permitted in intercept mode" +msgstr "команды setid запрещены в режиме перехвата" + +#: plugins/sudoers/logging.c:331 #, c-format msgid "Sorry, user %s may not run sudo on %s.\n" msgstr "Извините, пользователь %s не может запустить sudo на %s.\n" -#: plugins/sudoers/logging.c:339 +#: plugins/sudoers/logging.c:344 #, c-format msgid "Sorry, user %s is not allowed to execute '%s%s%s%s' as %s%s%s on %s.\n" msgstr "Извините, пользователю %s не разрешено выполнять «%s%s%s%s» как %s%s%s на %s.\n" -#: plugins/sudoers/logging.c:350 +#: plugins/sudoers/logging.c:358 msgid "This incident has been reported to the administrator.\n" msgstr "Администратор был оповещён об этом событии.\n" -#: plugins/sudoers/logging.c:387 plugins/sudoers/sudoers.c:547 -#: plugins/sudoers/sudoers.c:549 plugins/sudoers/sudoers.c:551 -#: plugins/sudoers/sudoers.c:553 plugins/sudoers/sudoers.c:777 -#: plugins/sudoers/sudoers.c:779 +#: plugins/sudoers/logging.c:395 plugins/sudoers/sudoers.c:564 +#: plugins/sudoers/sudoers.c:566 plugins/sudoers/sudoers.c:568 +#: plugins/sudoers/sudoers.c:570 plugins/sudoers/sudoers.c:794 +#: plugins/sudoers/sudoers.c:796 #, c-format msgid "%s: command not found" msgstr "%s: команда не найдена" -#: plugins/sudoers/logging.c:389 plugins/sudoers/sudoers.c:543 +#: plugins/sudoers/logging.c:397 plugins/sudoers/sudoers.c:560 #, c-format msgid "" "ignoring \"%s\" found in '.'\n" @@ -2994,7 +3019,7 @@ msgstr "" "пропущено «%s» найдено в «.»\n" "Используйте команду «sudo ./%s», если вам нужно выполнить именно этот «%s»." -#: plugins/sudoers/logging.c:409 +#: plugins/sudoers/logging.c:417 #, c-format msgid "%u incorrect password attempt" msgid_plural "%u incorrect password attempts" @@ -3002,24 +3027,24 @@ msgstr[0] "%u неправильная попытка ввода пароля" msgstr[1] "%u неправильные попытки ввода пароля" msgstr[2] "%u неправильных попыток ввода пароля" -#: plugins/sudoers/logging.c:500 +#: plugins/sudoers/logging.c:508 msgid "authentication failure" msgstr "ошибка аутентификации" -#: plugins/sudoers/logging.c:539 plugins/sudoers/logging.c:558 +#: plugins/sudoers/logging.c:552 plugins/sudoers/logging.c:571 msgid "a password is required" msgstr "требуется указать пароль" -#: plugins/sudoers/logging.c:881 +#: plugins/sudoers/logging.c:889 msgid "problem parsing sudoers" msgstr "проблема разбора sudoers" -#: plugins/sudoers/logging.c:922 plugins/sudoers/logging.c:930 +#: plugins/sudoers/logging.c:930 plugins/sudoers/logging.c:938 #, c-format msgid "%s:%d:%d: %s" msgstr "%s:%d:%d: %s" -#: plugins/sudoers/logging.c:1108 +#: plugins/sudoers/logging.c:1119 #, c-format msgid "unable to write log file %s" msgstr "не удаётся записать файл журнала %s" @@ -3049,11 +3074,6 @@ msgstr "некорректный атрибут LDIF: %s" msgid "%s:%d:%d: %s\n" msgstr "%s:%d:%d: %s\n" -#: plugins/sudoers/parser_warnx.c:59 -#, c-format -msgid "%s: %s\n" -msgstr "%s: %s\n" - #: plugins/sudoers/pivot.c:71 msgid "unable to restore root directory" msgstr "не удаётся восстановить корневой каталог" @@ -3067,59 +3087,59 @@ msgstr "не удаётся восстановить текущий рабочи msgid "invalid %.*s set by sudo front-end" msgstr "оболочкой sudo установлено некорректное значение %.*s" -#: plugins/sudoers/policy.c:364 plugins/sudoers/testsudoers.c:329 +#: plugins/sudoers/policy.c:347 plugins/sudoers/testsudoers.c:329 msgid "unable to parse network address list" msgstr "невозможно разобрать список сетевых адресов" -#: plugins/sudoers/policy.c:556 +#: plugins/sudoers/policy.c:555 msgid "user name not set by sudo front-end" msgstr "имя пользователя не указано оболочкой sudo" -#: plugins/sudoers/policy.c:560 +#: plugins/sudoers/policy.c:559 msgid "user-ID not set by sudo front-end" msgstr "идентификатор пользователя не указан оболочкой sudo" -#: plugins/sudoers/policy.c:564 +#: plugins/sudoers/policy.c:563 msgid "group-ID not set by sudo front-end" msgstr "идентификатор группы не указан оболочкой sudo" -#: plugins/sudoers/policy.c:568 +#: plugins/sudoers/policy.c:567 msgid "host name not set by sudo front-end" msgstr "имя узла не указано оболочкой sudo" -#: plugins/sudoers/policy.c:757 +#: plugins/sudoers/policy.c:765 #, c-format msgid "invalid working directory: %s" msgstr "некорректный рабочий каталог: %s" -#: plugins/sudoers/policy.c:944 +#: plugins/sudoers/policy.c:952 #, c-format msgid "invalid chroot directory: %s" msgstr "некорректный каталог chroot: %s" -#: plugins/sudoers/policy.c:1153 plugins/sudoers/visudo.c:919 +#: plugins/sudoers/policy.c:1163 plugins/sudoers/visudo.c:919 #: plugins/sudoers/visudo.c:1218 #, c-format msgid "unable to execute %s" msgstr "не удаётся выполнить %s" -#: plugins/sudoers/policy.c:1225 plugins/sudoers/policy.c:1260 -#: plugins/sudoers/policy.c:1282 plugins/sudoers/policy.c:1300 +#: plugins/sudoers/policy.c:1232 plugins/sudoers/policy.c:1267 +#: plugins/sudoers/policy.c:1289 plugins/sudoers/policy.c:1307 #, c-format msgid "%s: invalid mode flags from sudo front end: 0x%x" msgstr "%s: некорректные флаги режима от оболочки sudo: 0x%x" -#: plugins/sudoers/policy.c:1323 +#: plugins/sudoers/policy.c:1330 #, c-format msgid "Sudoers policy plugin version %s\n" msgstr "Модуль политики sudoers версии %s\n" -#: plugins/sudoers/policy.c:1325 +#: plugins/sudoers/policy.c:1332 #, c-format msgid "Sudoers file grammar version %d\n" msgstr "Файл грамматики sudoers версии %d\n" -#: plugins/sudoers/policy.c:1329 +#: plugins/sudoers/policy.c:1336 #, c-format msgid "" "\n" @@ -3128,27 +3148,27 @@ msgstr "" "\n" "Путь к sudoers: %s\n" -#: plugins/sudoers/policy.c:1332 +#: plugins/sudoers/policy.c:1339 #, c-format msgid "nsswitch path: %s\n" msgstr "путь к nsswitch: %s\n" -#: plugins/sudoers/policy.c:1335 +#: plugins/sudoers/policy.c:1342 #, c-format msgid "ldap.conf path: %s\n" msgstr "путь к ldap.conf: %s\n" -#: plugins/sudoers/policy.c:1337 +#: plugins/sudoers/policy.c:1344 #, c-format msgid "ldap.secret path: %s\n" msgstr "путь к ldap.secret: %s\n" -#: plugins/sudoers/policy.c:1370 +#: plugins/sudoers/policy.c:1377 #, c-format msgid "unable to register hook of type %d (version %d.%d)" msgstr "не удаётся зарегистрировать процедуру перехвата типа %d (версия %d.%d)" -#: plugins/sudoers/policy.c:1388 +#: plugins/sudoers/policy.c:1395 #, c-format msgid "unable to deregister hook of type %d (version %d.%d)" msgstr "не удаётся отменить регистрацию процедуры перехвата типа %d (версия %d.%d)" @@ -3195,24 +3215,24 @@ msgstr "не удаётся кэшировать группу %s" msgid "unable to cache group %s, already exists" msgstr "не удаётся кэшировать группу %s, запись уже существует" -#: plugins/sudoers/pwutil.c:900 plugins/sudoers/pwutil.c:985 -#: plugins/sudoers/pwutil.c:1039 plugins/sudoers/pwutil.c:1095 +#: plugins/sudoers/pwutil.c:900 plugins/sudoers/pwutil.c:988 +#: plugins/sudoers/pwutil.c:1042 plugins/sudoers/pwutil.c:1101 #, c-format msgid "unable to cache group list for %s, already exists" msgstr "не удаётся кэшировать список групп для %s, запись уже существует" -#: plugins/sudoers/pwutil.c:906 plugins/sudoers/pwutil.c:990 -#: plugins/sudoers/pwutil.c:1045 plugins/sudoers/pwutil.c:1100 +#: plugins/sudoers/pwutil.c:906 plugins/sudoers/pwutil.c:993 +#: plugins/sudoers/pwutil.c:1048 plugins/sudoers/pwutil.c:1106 #, c-format msgid "unable to cache group list for %s" msgstr "не удаётся кэшировать список групп для %s" -#: plugins/sudoers/pwutil.c:979 +#: plugins/sudoers/pwutil.c:982 #, c-format msgid "unable to parse groups for %s" msgstr "не удаётся разобрать записи групп для %s" -#: plugins/sudoers/pwutil.c:1089 +#: plugins/sudoers/pwutil.c:1095 #, c-format msgid "unable to parse gids for %s" msgstr "не удаётся разобрать записи идентификаторов групп для %s" @@ -3341,82 +3361,82 @@ msgstr "пользователю не разрешено изменять кат msgid "you are not permitted to use the -D option with %s" msgstr "вам не разрешено использовать параметр -D с %s" -#: plugins/sudoers/sudoers.c:542 +#: plugins/sudoers/sudoers.c:559 msgid "command in current directory" msgstr "команда в текущем каталоге" -#: plugins/sudoers/sudoers.c:557 +#: plugins/sudoers/sudoers.c:574 msgid "\"cd\" is a shell built-in command, it cannot be run directly." msgstr "«cd» — встроенная команда оболочки, она не может быть запущена напрямую." -#: plugins/sudoers/sudoers.c:559 +#: plugins/sudoers/sudoers.c:576 msgid "the -s option may be used to run a privileged shell." msgstr "параметр -s может использоваться для запуска привилегированной оболочки." -#: plugins/sudoers/sudoers.c:561 +#: plugins/sudoers/sudoers.c:578 msgid "the -D option may be used to run a command in a specific directory." msgstr "параметр -D может использоваться для выполнения команды в определенном каталоге." -#: plugins/sudoers/sudoers.c:570 +#: plugins/sudoers/sudoers.c:587 msgid "user not allowed to set a command timeout" msgstr "пользователю не разрешено устанавливать время ожидания выполнения команды" -#: plugins/sudoers/sudoers.c:572 +#: plugins/sudoers/sudoers.c:589 msgid "sorry, you are not allowed set a command timeout" msgstr "извините, вам не разрешено устанавливать время ожидания выполнения команды" -#: plugins/sudoers/sudoers.c:580 +#: plugins/sudoers/sudoers.c:597 msgid "user not allowed to preserve the environment" msgstr "пользователю не разрешено сохранять окружение" -#: plugins/sudoers/sudoers.c:582 +#: plugins/sudoers/sudoers.c:599 msgid "sorry, you are not allowed to preserve the environment" msgstr "извините, вам не разрешено сохранять окружение" -#: plugins/sudoers/sudoers.c:618 +#: plugins/sudoers/sudoers.c:635 msgid "no command specified" msgstr "не указана команда" -#: plugins/sudoers/sudoers.c:759 +#: plugins/sudoers/sudoers.c:776 msgid "error setting user-specified environment variables" msgstr "ошибка при назначении переменных окружения, заданных пользователем" -#: plugins/sudoers/sudoers.c:1211 +#: plugins/sudoers/sudoers.c:1229 msgid "sudoedit doesn't need to be run via sudo" msgstr "sudoedit не нужно запускать через sudo" -#: plugins/sudoers/sudoers.c:1296 plugins/sudoers/sudoreplay.c:1613 -#: plugins/sudoers/tsdump.c:138 +#: plugins/sudoers/sudoers.c:1314 plugins/sudoers/sudoreplay.c:1615 +#: plugins/sudoers/tsdump.c:151 #, c-format msgid "unable to read %s" msgstr "не удаётся прочитать %s" -#: plugins/sudoers/sudoers.c:1321 plugins/sudoers/visudo.c:1123 +#: plugins/sudoers/sudoers.c:1339 plugins/sudoers/visudo.c:1123 #, c-format msgid "%s is not a regular file" msgstr "%s не является обычным файлом" -#: plugins/sudoers/sudoers.c:1325 plugins/sudoers/timestamp.c:272 toke.l:1355 +#: plugins/sudoers/sudoers.c:1343 plugins/sudoers/timestamp.c:272 toke.l:1335 #, c-format msgid "%s is owned by uid %u, should be %u" msgstr "%s принадлежит uid %u, должно быть %u" -#: plugins/sudoers/sudoers.c:1330 plugins/sudoers/timestamp.c:279 toke.l:1360 +#: plugins/sudoers/sudoers.c:1348 plugins/sudoers/timestamp.c:279 toke.l:1340 #, c-format msgid "%s is world writable" msgstr "Запись в %s доступна любому пользователю" -#: plugins/sudoers/sudoers.c:1334 plugins/sudoers/timestamp.c:284 toke.l:1363 +#: plugins/sudoers/sudoers.c:1352 plugins/sudoers/timestamp.c:284 toke.l:1343 #, c-format msgid "%s is owned by gid %u, should be %u" msgstr "%s принадлежит gid %u, должно быть %u" -#: plugins/sudoers/sudoers.c:1363 +#: plugins/sudoers/sudoers.c:1381 #, c-format msgid "only root can use \"-c %s\"" msgstr "использовать «-c %s» может только root" -#: plugins/sudoers/sudoers.c:1382 +#: plugins/sudoers/sudoers.c:1400 #, c-format msgid "unknown login class %s" msgstr "неизвестный класс входа %s" @@ -3461,75 +3481,75 @@ msgstr "%s/расписание: %s" msgid "Replaying sudo session: %s" msgstr "Воспроизведение сеанса sudo: %s" -#: plugins/sudoers/sudoreplay.c:634 +#: plugins/sudoers/sudoreplay.c:633 plugins/sudoers/sudoreplay.c:636 msgid "unable to set tty to raw mode" msgstr "не удаётся переключить tty в режим без обработки данных" -#: plugins/sudoers/sudoreplay.c:685 +#: plugins/sudoers/sudoreplay.c:687 msgid "Warning: your terminal is too small to properly replay the log." msgstr "Внимание: размера вашего терминала недостаточно для корректного воспроизведения журнала." -#: plugins/sudoers/sudoreplay.c:686 +#: plugins/sudoers/sudoreplay.c:688 #, c-format msgid "Log geometry is %d x %d, your terminal's geometry is %d x %d." msgstr "Формат журнала — %d x %d, формат вашего терминала — %d x %d." -#: plugins/sudoers/sudoreplay.c:714 +#: plugins/sudoers/sudoreplay.c:716 msgid "Replay finished, press any key to restore the terminal." msgstr "Воспроизведение завершено, нажмите любую клавишу, чтобы вернуться в терминал." -#: plugins/sudoers/sudoreplay.c:1217 plugins/sudoers/sudoreplay.c:1247 +#: plugins/sudoers/sudoreplay.c:1219 plugins/sudoers/sudoreplay.c:1249 #, c-format msgid "ambiguous expression \"%s\"" msgstr "неоднозначное выражение «%s»" -#: plugins/sudoers/sudoreplay.c:1269 +#: plugins/sudoers/sudoreplay.c:1271 msgid "unmatched ')' in expression" msgstr "закрывающая скобка «)» без открывающей в выражении" -#: plugins/sudoers/sudoreplay.c:1273 +#: plugins/sudoers/sudoreplay.c:1275 #, c-format msgid "unknown search term \"%s\"" msgstr "неизвестный ключ поиска «%s»" -#: plugins/sudoers/sudoreplay.c:1288 +#: plugins/sudoers/sudoreplay.c:1290 #, c-format msgid "%s requires an argument" msgstr "%s требуется аргумент" -#: plugins/sudoers/sudoreplay.c:1298 +#: plugins/sudoers/sudoreplay.c:1300 #, c-format msgid "could not parse date \"%s\"" msgstr "не удаётся разобрать дату «%s»" -#: plugins/sudoers/sudoreplay.c:1307 +#: plugins/sudoers/sudoreplay.c:1309 msgid "unmatched '(' in expression" msgstr "открывающая скобка «(» без закрывающей в выражении" -#: plugins/sudoers/sudoreplay.c:1309 +#: plugins/sudoers/sudoreplay.c:1311 msgid "illegal trailing \"or\"" msgstr "некорректное завершающее «or»" -#: plugins/sudoers/sudoreplay.c:1311 +#: plugins/sudoers/sudoreplay.c:1313 msgid "illegal trailing \"!\"" msgstr "некорректное завершающее «!»" -#: plugins/sudoers/sudoreplay.c:1417 +#: plugins/sudoers/sudoreplay.c:1419 #, c-format msgid "unknown search type %d" msgstr "неизвестный тип поиска %d" -#: plugins/sudoers/sudoreplay.c:1679 +#: plugins/sudoers/sudoreplay.c:1681 #, 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:1681 +#: plugins/sudoers/sudoreplay.c:1683 #, c-format msgid "usage: %s [-h] [-d dir] -l [search expression]\n" msgstr "использование: %s [-h] [-d каталог] -l [выражение для поиска]\n" -#: plugins/sudoers/sudoreplay.c:1695 +#: plugins/sudoers/sudoreplay.c:1697 #, c-format msgid "" "%s - replay sudo session logs\n" @@ -3538,7 +3558,7 @@ msgstr "" "%s - воспроизвести журналы сеансов sudo\n" "\n" -#: plugins/sudoers/sudoreplay.c:1697 +#: plugins/sudoers/sudoreplay.c:1699 msgid "" "\n" "Options:\n" @@ -3615,26 +3635,26 @@ msgstr "" "\n" "Соответствующая команда не найдена" -#: plugins/sudoers/timestamp.c:364 plugins/sudoers/timestamp.c:711 +#: plugins/sudoers/timestamp.c:364 plugins/sudoers/timestamp.c:714 #, c-format msgid "unable to truncate time stamp file to %lld bytes" msgstr "не удаётся обрезать файл временных метки до %lld байт" -#: plugins/sudoers/timestamp.c:908 +#: plugins/sudoers/timestamp.c:911 msgid "ignoring time stamp from the future" msgstr "игнорируется метка времени из будущего" -#: plugins/sudoers/timestamp.c:931 +#: plugins/sudoers/timestamp.c:934 #, c-format msgid "time stamp too far in the future: %20.20s" msgstr "метка времени находится слишком далеко в будущем: %20.20s" -#: plugins/sudoers/timestamp.c:1067 +#: plugins/sudoers/timestamp.c:1070 #, c-format msgid "unable to lock time stamp file %s" msgstr "не удаётся заблокировать файл журнала %s" -#: plugins/sudoers/timestamp.c:1114 +#: plugins/sudoers/timestamp.c:1117 #, c-format msgid "%s:%d:%d timestampowner: unknown user %s" msgstr "%s:%d:%d: неизвестный пользователь «%s»" @@ -3836,19 +3856,19 @@ msgstr "некорректное продолжение строки" msgid "invalid IPv6 address" msgstr "некорректный адрес IPv6" -#: toke.l:863 +#: toke.l:843 msgid "unexpected line break in string" msgstr "неожиданный перенос строки" -#: toke.l:982 +#: toke.l:962 msgid "ignoring editor backup file" msgstr "игнорируется резервная копия файла, созданная редактором" -#: toke.l:985 +#: toke.l:965 msgid "ignoring file name containing '.'" msgstr "игнорируется имя файла, содержащее '.'" -#: toke.l:1310 +#: toke.l:1290 msgid "too many levels of includes" msgstr "ошибка синтаксиса" diff --git a/plugins/sudoers/po/sudoers.pot b/plugins/sudoers/po/sudoers.pot index d95261a55..7406e3669 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.15\n" +"Project-Id-Version: sudo 1.9.16\n" "Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n" -"POT-Creation-Date: 2023-10-19 10:02-0600\n" +"POT-Creation-Date: 2024-06-08 09:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,7 +17,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -#: confstr.sh:1 gram.y:1257 plugins/sudoers/logging.c:911 +#: confstr.sh:1 gram.y:1240 plugins/sudoers/logging.c:919 msgid "syntax error" msgstr "" @@ -42,16 +42,16 @@ msgid "Sorry, try again." msgstr "" #: gram.y:238 gram.y:305 gram.y:314 gram.y:323 gram.y:333 gram.y:343 gram.y:367 -#: gram.y:394 gram.y:403 gram.y:411 gram.y:420 gram.y:429 gram.y:503 gram.y:513 -#: gram.y:525 gram.y:573 gram.y:582 gram.y:591 gram.y:600 gram.y:733 gram.y:742 -#: gram.y:757 gram.y:777 gram.y:796 gram.y:959 gram.y:964 gram.y:972 gram.y:986 -#: gram.y:992 gram.y:1004 gram.y:1010 gram.y:1135 gram.y:1144 gram.y:1152 -#: gram.y:1161 gram.y:1170 gram.y:1199 gram.y:1208 gram.y:1216 gram.y:1317 -#: gram.y:1447 gram.y:1829 gram.y:1840 gram.y:1922 lib/eventlog/eventlog.c:236 -#: lib/eventlog/eventlog.c:313 lib/eventlog/eventlog.c:765 -#: lib/eventlog/eventlog.c:842 lib/eventlog/eventlog.c:1175 -#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:484 -#: lib/eventlog/parse_json.c:514 lib/iolog/iolog_filter.c:142 +#: gram.y:394 gram.y:403 gram.y:411 gram.y:420 gram.y:429 gram.y:502 gram.y:512 +#: gram.y:524 gram.y:566 gram.y:575 gram.y:584 gram.y:593 gram.y:726 gram.y:735 +#: gram.y:750 gram.y:770 gram.y:789 gram.y:942 gram.y:947 gram.y:955 gram.y:969 +#: gram.y:975 gram.y:987 gram.y:993 gram.y:1118 gram.y:1127 gram.y:1135 +#: gram.y:1144 gram.y:1153 gram.y:1182 gram.y:1191 gram.y:1199 gram.y:1300 +#: gram.y:1430 gram.y:1811 gram.y:1822 gram.y:1898 lib/eventlog/eventlog.c:236 +#: lib/eventlog/eventlog.c:313 lib/eventlog/eventlog.c:778 +#: lib/eventlog/eventlog.c:855 lib/eventlog/eventlog.c:1189 +#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:501 +#: lib/eventlog/parse_json.c:531 lib/iolog/iolog_filter.c:142 #: lib/iolog/iolog_filter.c:202 lib/iolog/iolog_filter.c:233 #: lib/iolog/iolog_legacy.c:101 lib/iolog/iolog_legacy.c:112 #: lib/iolog/iolog_legacy.c:124 lib/iolog/iolog_legacy.c:134 @@ -62,13 +62,13 @@ msgstr "" #: logsrvd/iolog_writer.c:218 logsrvd/iolog_writer.c:228 #: logsrvd/iolog_writer.c:257 logsrvd/iolog_writer.c:278 #: logsrvd/iolog_writer.c:290 logsrvd/iolog_writer.c:300 -#: logsrvd/iolog_writer.c:310 logsrvd/iolog_writer.c:320 -#: logsrvd/iolog_writer.c:330 logsrvd/iolog_writer.c:342 -#: logsrvd/iolog_writer.c:377 logsrvd/iolog_writer.c:383 -#: logsrvd/iolog_writer.c:390 logsrvd/iolog_writer.c:396 -#: logsrvd/iolog_writer.c:580 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:323 -#: logsrvd/logsrvd.c:1057 logsrvd/logsrvd.c:1120 logsrvd/logsrvd.c:1589 -#: logsrvd/logsrvd.c:1594 logsrvd/logsrvd.c:1781 logsrvd/logsrvd.c:2003 +#: logsrvd/iolog_writer.c:318 logsrvd/iolog_writer.c:328 +#: logsrvd/iolog_writer.c:338 logsrvd/iolog_writer.c:350 +#: logsrvd/iolog_writer.c:385 logsrvd/iolog_writer.c:391 +#: logsrvd/iolog_writer.c:398 logsrvd/iolog_writer.c:404 +#: logsrvd/iolog_writer.c:588 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:324 +#: logsrvd/logsrvd.c:1058 logsrvd/logsrvd.c:1121 logsrvd/logsrvd.c:1599 +#: logsrvd/logsrvd.c:1604 logsrvd/logsrvd.c:1791 logsrvd/logsrvd.c:2046 #: 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 @@ -76,11 +76,11 @@ msgstr "" #: 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_conf.c:829 logsrvd/logsrvd_conf.c:1041 +#: logsrvd/logsrvd_conf.c:1058 logsrvd/logsrvd_conf.c:1453 +#: logsrvd/logsrvd_conf.c:1600 logsrvd/logsrvd_conf.c:1626 +#: logsrvd/logsrvd_conf.c:1638 logsrvd/logsrvd_conf.c:1645 +#: logsrvd/logsrvd_conf.c:1651 logsrvd/logsrvd_conf.c:1748 #: logsrvd/logsrvd_journal.c:76 logsrvd/logsrvd_journal.c:216 #: logsrvd/logsrvd_journal.c:217 logsrvd/logsrvd_journal.c:274 #: logsrvd/logsrvd_journal.c:279 logsrvd/logsrvd_journal.c:439 @@ -93,10 +93,10 @@ msgstr "" #: logsrvd/logsrvd_queue.c:266 logsrvd/logsrvd_relay.c:446 #: logsrvd/logsrvd_relay.c:748 logsrvd/logsrvd_relay.c:855 #: logsrvd/sendlog.c:256 logsrvd/sendlog.c:265 logsrvd/sendlog.c:297 -#: logsrvd/sendlog.c:303 logsrvd/sendlog.c:352 logsrvd/sendlog.c:630 -#: logsrvd/sendlog.c:1822 plugins/sudoers/audit.c:118 -#: plugins/sudoers/auth/bsdauth.c:154 plugins/sudoers/auth/kerb5.c:122 -#: plugins/sudoers/auth/kerb5.c:150 plugins/sudoers/auth/pam.c:697 +#: logsrvd/sendlog.c:303 logsrvd/sendlog.c:352 logsrvd/sendlog.c:651 +#: logsrvd/sendlog.c:1847 plugins/sudoers/audit.c:118 +#: plugins/sudoers/auth/bsdauth.c:154 plugins/sudoers/auth/kerb5.c:123 +#: plugins/sudoers/auth/kerb5.c:151 plugins/sudoers/auth/pam.c:697 #: plugins/sudoers/auth/rfc1938.c:112 plugins/sudoers/auth/sia.c:61 #: plugins/sudoers/canon_path.c:129 plugins/sudoers/canon_path.c:161 #: plugins/sudoers/check_aliases.c:128 plugins/sudoers/check_util.c:56 @@ -106,33 +106,30 @@ msgstr "" #: plugins/sudoers/cvtsudoers.c:379 plugins/sudoers/cvtsudoers.c:399 #: plugins/sudoers/cvtsudoers.c:545 plugins/sudoers/cvtsudoers.c:698 #: plugins/sudoers/cvtsudoers.c:716 plugins/sudoers/cvtsudoers.c:891 -#: plugins/sudoers/cvtsudoers.c:899 plugins/sudoers/cvtsudoers.c:1395 -#: plugins/sudoers/cvtsudoers.c:1399 plugins/sudoers/cvtsudoers.c:1501 -#: plugins/sudoers/cvtsudoers_csv.c:183 plugins/sudoers/cvtsudoers_csv.c:247 -#: plugins/sudoers/cvtsudoers_json.c:76 plugins/sudoers/cvtsudoers_ldif.c:152 -#: plugins/sudoers/cvtsudoers_ldif.c:195 plugins/sudoers/cvtsudoers_ldif.c:236 -#: plugins/sudoers/cvtsudoers_ldif.c:302 plugins/sudoers/cvtsudoers_ldif.c:378 -#: plugins/sudoers/cvtsudoers_ldif.c:432 plugins/sudoers/cvtsudoers_ldif.c:440 -#: plugins/sudoers/cvtsudoers_ldif.c:451 plugins/sudoers/cvtsudoers_ldif.c:458 -#: plugins/sudoers/cvtsudoers_ldif.c:470 plugins/sudoers/cvtsudoers_ldif.c:483 -#: plugins/sudoers/cvtsudoers_ldif.c:491 plugins/sudoers/cvtsudoers_ldif.c:638 -#: 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:455 -#: plugins/sudoers/defaults.c:689 plugins/sudoers/defaults.c:1051 -#: plugins/sudoers/defaults.c:1235 plugins/sudoers/editor.c:198 -#: plugins/sudoers/env.c:263 plugins/sudoers/exptilde.c:92 +#: plugins/sudoers/cvtsudoers.c:899 plugins/sudoers/cvtsudoers.c:1393 +#: plugins/sudoers/cvtsudoers.c:1397 plugins/sudoers/cvtsudoers.c:1497 +#: plugins/sudoers/cvtsudoers_csv.c:182 plugins/sudoers/cvtsudoers_csv.c:255 +#: plugins/sudoers/cvtsudoers_json.c:604 plugins/sudoers/cvtsudoers_json.c:639 +#: plugins/sudoers/cvtsudoers_json.c:1016 +#: plugins/sudoers/cvtsudoers_json.c:1041 plugins/sudoers/cvtsudoers_ldif.c:112 +#: plugins/sudoers/cvtsudoers_ldif.c:144 plugins/sudoers/cvtsudoers_ldif.c:260 +#: plugins/sudoers/cvtsudoers_ldif.c:573 plugins/sudoers/cvtsudoers_ldif.c:586 +#: plugins/sudoers/cvtsudoers_ldif.c:591 plugins/sudoers/cvtsudoers_ldif.c:761 +#: plugins/sudoers/cvtsudoers_merge.c:57 plugins/sudoers/cvtsudoers_merge.c:357 +#: plugins/sudoers/cvtsudoers_merge.c:405 +#: plugins/sudoers/cvtsudoers_merge.c:454 +#: plugins/sudoers/cvtsudoers_merge.c:476 +#: plugins/sudoers/cvtsudoers_merge.c:588 +#: plugins/sudoers/cvtsudoers_merge.c:664 +#: plugins/sudoers/cvtsudoers_merge.c:1197 +#: plugins/sudoers/cvtsudoers_merge.c:1281 plugins/sudoers/defaults.c:455 +#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1062 +#: plugins/sudoers/defaults.c:1248 plugins/sudoers/editor.c:198 +#: plugins/sudoers/env.c:280 plugins/sudoers/exptilde.c:92 #: plugins/sudoers/filedigest.c:66 plugins/sudoers/filedigest.c:70 #: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:212 -#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268 -#: plugins/sudoers/iolog.c:675 plugins/sudoers/iolog.c:703 +#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:270 +#: plugins/sudoers/iolog.c:683 plugins/sudoers/iolog.c:711 #: plugins/sudoers/ldap.c:161 plugins/sudoers/ldap.c:448 #: plugins/sudoers/ldap.c:625 plugins/sudoers/ldap.c:789 #: plugins/sudoers/ldap.c:1214 plugins/sudoers/ldap.c:1642 @@ -142,23 +139,23 @@ msgstr "" #: plugins/sudoers/ldap_conf.c:299 plugins/sudoers/ldap_conf.c:335 #: plugins/sudoers/ldap_conf.c:441 plugins/sudoers/ldap_conf.c:456 #: plugins/sudoers/ldap_conf.c:565 plugins/sudoers/ldap_conf.c:598 -#: plugins/sudoers/ldap_conf.c:694 plugins/sudoers/ldap_conf.c:776 +#: plugins/sudoers/ldap_conf.c:696 plugins/sudoers/ldap_conf.c:778 #: 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:717 plugins/sudoers/log_client.c:739 -#: plugins/sudoers/log_client.c:744 plugins/sudoers/log_client.c:1426 -#: plugins/sudoers/log_client.c:1547 plugins/sudoers/log_client.c:1670 -#: plugins/sudoers/log_client.c:1993 plugins/sudoers/log_client.c:2052 +#: plugins/sudoers/ldap_util.c:615 plugins/sudoers/linux_audit.c:86 +#: plugins/sudoers/log_client.c:117 plugins/sudoers/log_client.c:411 +#: plugins/sudoers/log_client.c:726 plugins/sudoers/log_client.c:748 +#: plugins/sudoers/log_client.c:753 plugins/sudoers/log_client.c:1449 +#: plugins/sudoers/log_client.c:1570 plugins/sudoers/log_client.c:1693 +#: plugins/sudoers/log_client.c:2018 plugins/sudoers/log_client.c:2077 #: plugins/sudoers/logging.c:110 plugins/sudoers/logging.c:190 -#: plugins/sudoers/logging.c:475 plugins/sudoers/logging.c:711 -#: plugins/sudoers/logging.c:872 plugins/sudoers/lookup.c:338 -#: plugins/sudoers/lookup.c:355 plugins/sudoers/lookup.c:374 -#: plugins/sudoers/lookup.c:393 plugins/sudoers/lookup.c:410 -#: plugins/sudoers/lookup.c:433 plugins/sudoers/lookup.c:444 -#: plugins/sudoers/match_command.c:302 plugins/sudoers/match_command.c:574 -#: plugins/sudoers/match_command.c:641 plugins/sudoers/match_command.c:737 -#: plugins/sudoers/match_command.c:785 plugins/sudoers/match_digest.c:88 +#: plugins/sudoers/logging.c:483 plugins/sudoers/logging.c:723 +#: plugins/sudoers/logging.c:880 plugins/sudoers/lookup.c:331 +#: plugins/sudoers/lookup.c:348 plugins/sudoers/lookup.c:366 +#: plugins/sudoers/lookup.c:384 plugins/sudoers/lookup.c:401 +#: plugins/sudoers/lookup.c:423 plugins/sudoers/lookup.c:434 +#: plugins/sudoers/match_command.c:280 plugins/sudoers/match_command.c:544 +#: plugins/sudoers/match_command.c:608 plugins/sudoers/match_command.c:702 +#: plugins/sudoers/match_command.c:750 plugins/sudoers/match_digest.c:88 #: 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 @@ -169,107 +166,107 @@ msgstr "" #: 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:646 plugins/sudoers/policy.c:1061 +#: plugins/sudoers/policy.c:654 plugins/sudoers/policy.c:1071 #: plugins/sudoers/prompt.c:94 plugins/sudoers/pwutil.c:219 #: plugins/sudoers/pwutil.c:290 plugins/sudoers/pwutil.c:368 #: plugins/sudoers/pwutil.c:542 plugins/sudoers/pwutil.c:607 #: plugins/sudoers/pwutil.c:679 plugins/sudoers/pwutil.c:877 -#: plugins/sudoers/pwutil.c:967 plugins/sudoers/pwutil.c:1015 -#: plugins/sudoers/pwutil.c:1076 plugins/sudoers/sethost.c:85 +#: plugins/sudoers/pwutil.c:970 plugins/sudoers/pwutil.c:1018 +#: plugins/sudoers/pwutil.c:1082 plugins/sudoers/sethost.c:89 #: plugins/sudoers/sssd.c:145 plugins/sudoers/sssd.c:186 #: plugins/sudoers/sssd.c:415 plugins/sudoers/sssd.c:480 #: plugins/sudoers/sssd.c:507 plugins/sudoers/sssd.c:570 #: plugins/sudoers/sssd.c:765 plugins/sudoers/strvec_join.c:53 #: plugins/sudoers/sudoers.c:405 plugins/sudoers/sudoers.c:412 -#: plugins/sudoers/sudoers.c:656 plugins/sudoers/sudoers.c:666 -#: plugins/sudoers/sudoers.c:811 plugins/sudoers/sudoers.c:877 -#: plugins/sudoers/sudoers.c:936 plugins/sudoers/sudoers.c:985 -#: plugins/sudoers/sudoers.c:1144 plugins/sudoers/sudoers.c:1213 -#: plugins/sudoers/sudoers.c:1307 plugins/sudoers/sudoers_cb.c:150 +#: plugins/sudoers/sudoers.c:673 plugins/sudoers/sudoers.c:683 +#: plugins/sudoers/sudoers.c:828 plugins/sudoers/sudoers.c:894 +#: plugins/sudoers/sudoers.c:953 plugins/sudoers/sudoers.c:1002 +#: plugins/sudoers/sudoers.c:1162 plugins/sudoers/sudoers.c:1231 +#: plugins/sudoers/sudoers.c:1325 plugins/sudoers/sudoers_cb.c:150 #: plugins/sudoers/sudoreplay.c:559 plugins/sudoers/sudoreplay.c:562 -#: plugins/sudoers/sudoreplay.c:1279 plugins/sudoers/sudoreplay.c:1335 -#: plugins/sudoers/sudoreplay.c:1531 plugins/sudoers/sudoreplay.c:1535 +#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1337 +#: plugins/sudoers/sudoreplay.c:1533 plugins/sudoers/sudoreplay.c:1537 #: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:256 #: plugins/sudoers/testsudoers.c:265 plugins/sudoers/testsudoers.c:275 #: plugins/sudoers/testsudoers.c:282 plugins/sudoers/testsudoers.c:302 -#: plugins/sudoers/testsudoers.c:758 plugins/sudoers/timestamp.c:469 -#: plugins/sudoers/timestamp.c:513 plugins/sudoers/timestamp.c:1042 -#: plugins/sudoers/timestamp.c:1216 plugins/sudoers/toke_util.c:79 +#: plugins/sudoers/testsudoers.c:756 plugins/sudoers/timestamp.c:468 +#: plugins/sudoers/timestamp.c:514 plugins/sudoers/timestamp.c:1045 +#: plugins/sudoers/timestamp.c:1248 plugins/sudoers/toke_util.c:79 #: plugins/sudoers/toke_util.c:108 plugins/sudoers/toke_util.c:134 #: plugins/sudoers/toke_util.c:164 plugins/sudoers/toke_util.c:204 -#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:151 +#: plugins/sudoers/tsdump.c:136 plugins/sudoers/visudo.c:151 #: plugins/sudoers/visudo.c:258 plugins/sudoers/visudo.c:383 #: plugins/sudoers/visudo.c:389 plugins/sudoers/visudo.c:501 #: plugins/sudoers/visudo.c:1073 plugins/sudoers/visudo.c:1095 -#: plugins/sudoers/visudo.c:1189 toke.l:1031 toke.l:1194 toke.l:1213 -#: toke.l:1240 toke.l:1320 +#: plugins/sudoers/visudo.c:1189 toke.l:1011 toke.l:1174 toke.l:1193 +#: toke.l:1220 toke.l:1300 msgid "unable to allocate memory" msgstr "" -#: gram.y:624 +#: gram.y:617 msgid "a digest requires a path name" msgstr "" -#: gram.y:646 +#: gram.y:639 msgid "values for \"CWD\" must start with a '/', '~', or '*'" msgstr "" -#: gram.y:652 +#: gram.y:645 msgid "\"CWD\" path too long" msgstr "" -#: gram.y:662 +#: gram.y:655 msgid "values for \"CHROOT\" must start with a '/', '~', or '*'" msgstr "" -#: gram.y:668 +#: gram.y:661 msgid "\"CHROOT\" path too long" msgstr "" -#: gram.y:817 +#: gram.y:810 #, c-format msgid "syntax error, reserved word %s used as an alias name" msgstr "" -#: gram.y:840 +#: gram.y:833 msgid "invalid notbefore value" msgstr "" -#: gram.y:849 +#: gram.y:842 msgid "invalid notafter value" msgstr "" -#: gram.y:859 plugins/sudoers/policy.c:390 +#: gram.y:852 plugins/sudoers/policy.c:373 msgid "timeout value too large" msgstr "" -#: gram.y:861 plugins/sudoers/policy.c:392 +#: gram.y:854 plugins/sudoers/policy.c:375 msgid "invalid timeout value" msgstr "" -#: gram.y:982 plugins/sudoers/sudoers.c:1162 +#: gram.y:965 plugins/sudoers/sudoers.c:1180 msgid "command too long" msgstr "" -#: gram.y:1016 +#: gram.y:999 msgid "expected a fully-qualified path name" msgstr "" -#: gram.y:1261 +#: gram.y:1244 #, c-format msgid "%s:%d:%zu: %s\n" msgstr "" -#: gram.y:1315 +#: gram.y:1298 #, c-format msgid "Alias \"%s\" already defined" msgstr "" -#: gram.y:1829 gram.y:1840 gram.y:1922 lib/eventlog/eventlog.c:236 -#: lib/eventlog/eventlog.c:765 lib/eventlog/eventlog.c:838 -#: lib/eventlog/eventlog.c:841 lib/eventlog/eventlog.c:1175 -#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:483 -#: lib/eventlog/parse_json.c:514 lib/iolog/iolog_filter.c:142 +#: gram.y:1811 gram.y:1822 gram.y:1898 lib/eventlog/eventlog.c:236 +#: lib/eventlog/eventlog.c:778 lib/eventlog/eventlog.c:851 +#: lib/eventlog/eventlog.c:854 lib/eventlog/eventlog.c:1189 +#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:500 +#: lib/eventlog/parse_json.c:531 lib/iolog/iolog_filter.c:142 #: lib/iolog/iolog_filter.c:202 lib/iolog/iolog_filter.c:232 #: lib/iolog/iolog_legacy.c:101 lib/iolog/iolog_legacy.c:112 #: lib/iolog/iolog_legacy.c:124 lib/iolog/iolog_legacy.c:134 @@ -282,16 +279,16 @@ msgstr "" #: logsrvd/iolog_writer.c:246 logsrvd/iolog_writer.c:256 #: logsrvd/iolog_writer.c:267 logsrvd/iolog_writer.c:277 #: logsrvd/iolog_writer.c:289 logsrvd/iolog_writer.c:299 -#: logsrvd/iolog_writer.c:309 logsrvd/iolog_writer.c:319 -#: logsrvd/iolog_writer.c:329 logsrvd/iolog_writer.c:341 -#: logsrvd/iolog_writer.c:377 logsrvd/iolog_writer.c:383 -#: logsrvd/iolog_writer.c:390 logsrvd/iolog_writer.c:396 -#: logsrvd/iolog_writer.c:580 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:323 -#: logsrvd/logsrvd.c:461 logsrvd/logsrvd.c:498 logsrvd/logsrvd.c:530 -#: logsrvd/logsrvd.c:584 logsrvd/logsrvd.c:619 logsrvd/logsrvd.c:668 -#: logsrvd/logsrvd.c:704 logsrvd/logsrvd.c:740 logsrvd/logsrvd.c:1131 -#: logsrvd/logsrvd.c:1446 logsrvd/logsrvd.c:1453 logsrvd/logsrvd.c:1589 -#: logsrvd/logsrvd.c:1594 logsrvd/logsrvd.c:1781 logsrvd/logsrvd.c:2003 +#: logsrvd/iolog_writer.c:317 logsrvd/iolog_writer.c:327 +#: logsrvd/iolog_writer.c:337 logsrvd/iolog_writer.c:349 +#: logsrvd/iolog_writer.c:385 logsrvd/iolog_writer.c:391 +#: logsrvd/iolog_writer.c:398 logsrvd/iolog_writer.c:404 +#: logsrvd/iolog_writer.c:588 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:324 +#: logsrvd/logsrvd.c:462 logsrvd/logsrvd.c:499 logsrvd/logsrvd.c:531 +#: logsrvd/logsrvd.c:585 logsrvd/logsrvd.c:620 logsrvd/logsrvd.c:669 +#: logsrvd/logsrvd.c:705 logsrvd/logsrvd.c:741 logsrvd/logsrvd.c:1132 +#: logsrvd/logsrvd.c:1456 logsrvd/logsrvd.c:1463 logsrvd/logsrvd.c:1599 +#: logsrvd/logsrvd.c:1604 logsrvd/logsrvd.c:1791 logsrvd/logsrvd.c:2046 #: 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 @@ -299,11 +296,11 @@ msgstr "" #: 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_conf.c:829 logsrvd/logsrvd_conf.c:1041 +#: logsrvd/logsrvd_conf.c:1058 logsrvd/logsrvd_conf.c:1453 +#: logsrvd/logsrvd_conf.c:1600 logsrvd/logsrvd_conf.c:1626 +#: logsrvd/logsrvd_conf.c:1638 logsrvd/logsrvd_conf.c:1645 +#: logsrvd/logsrvd_conf.c:1651 logsrvd/logsrvd_conf.c:1747 #: logsrvd/logsrvd_journal.c:76 logsrvd/logsrvd_journal.c:125 #: logsrvd/logsrvd_journal.c:216 logsrvd/logsrvd_journal.c:246 #: logsrvd/logsrvd_journal.c:250 logsrvd/logsrvd_journal.c:258 @@ -314,8 +311,8 @@ msgstr "" #: logsrvd/logsrvd_queue.c:158 logsrvd/logsrvd_queue.c:189 #: logsrvd/logsrvd_queue.c:266 logsrvd/sendlog.c:256 logsrvd/sendlog.c:265 #: logsrvd/sendlog.c:297 logsrvd/sendlog.c:303 logsrvd/sendlog.c:352 -#: logsrvd/sendlog.c:630 logsrvd/sendlog.c:1523 logsrvd/sendlog.c:1530 -#: logsrvd/sendlog.c:1753 logsrvd/sendlog.c:1822 logsrvd/tls_init.c:305 +#: logsrvd/sendlog.c:651 logsrvd/sendlog.c:1548 logsrvd/sendlog.c:1555 +#: logsrvd/sendlog.c:1778 logsrvd/sendlog.c:1847 logsrvd/tls_init.c:305 #: logsrvd/tls_init.c:329 logsrvd/tls_init.c:340 plugins/sudoers/audit.c:118 #: plugins/sudoers/auth/pam.c:518 plugins/sudoers/auth/pam.c:697 #: plugins/sudoers/auth/rfc1938.c:112 plugins/sudoers/canon_path.c:129 @@ -326,34 +323,31 @@ msgstr "" #: plugins/sudoers/cvtsudoers.c:337 plugins/sudoers/cvtsudoers.c:544 #: plugins/sudoers/cvtsudoers.c:697 plugins/sudoers/cvtsudoers.c:715 #: plugins/sudoers/cvtsudoers.c:891 plugins/sudoers/cvtsudoers.c:898 -#: plugins/sudoers/cvtsudoers.c:1395 plugins/sudoers/cvtsudoers.c:1399 -#: plugins/sudoers/cvtsudoers.c:1501 plugins/sudoers/cvtsudoers_csv.c:182 -#: plugins/sudoers/cvtsudoers_csv.c:246 plugins/sudoers/cvtsudoers_json.c:75 -#: plugins/sudoers/cvtsudoers_ldif.c:151 plugins/sudoers/cvtsudoers_ldif.c:194 -#: plugins/sudoers/cvtsudoers_ldif.c:235 plugins/sudoers/cvtsudoers_ldif.c:301 -#: plugins/sudoers/cvtsudoers_ldif.c:377 plugins/sudoers/cvtsudoers_ldif.c:431 -#: plugins/sudoers/cvtsudoers_ldif.c:439 plugins/sudoers/cvtsudoers_ldif.c:450 -#: plugins/sudoers/cvtsudoers_ldif.c:457 plugins/sudoers/cvtsudoers_ldif.c:469 -#: plugins/sudoers/cvtsudoers_ldif.c:482 plugins/sudoers/cvtsudoers_ldif.c:490 -#: plugins/sudoers/cvtsudoers_ldif.c:637 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:455 -#: plugins/sudoers/defaults.c:689 plugins/sudoers/defaults.c:1051 -#: plugins/sudoers/defaults.c:1235 plugins/sudoers/editor.c:198 -#: plugins/sudoers/env.c:263 plugins/sudoers/exptilde.c:92 +#: plugins/sudoers/cvtsudoers.c:1393 plugins/sudoers/cvtsudoers.c:1397 +#: plugins/sudoers/cvtsudoers.c:1497 plugins/sudoers/cvtsudoers_csv.c:182 +#: plugins/sudoers/cvtsudoers_csv.c:255 plugins/sudoers/cvtsudoers_json.c:604 +#: plugins/sudoers/cvtsudoers_json.c:639 plugins/sudoers/cvtsudoers_json.c:1016 +#: plugins/sudoers/cvtsudoers_json.c:1041 plugins/sudoers/cvtsudoers_ldif.c:112 +#: plugins/sudoers/cvtsudoers_ldif.c:144 plugins/sudoers/cvtsudoers_ldif.c:260 +#: plugins/sudoers/cvtsudoers_ldif.c:573 plugins/sudoers/cvtsudoers_ldif.c:586 +#: plugins/sudoers/cvtsudoers_ldif.c:591 plugins/sudoers/cvtsudoers_ldif.c:761 +#: plugins/sudoers/cvtsudoers_merge.c:57 plugins/sudoers/cvtsudoers_merge.c:357 +#: plugins/sudoers/cvtsudoers_merge.c:405 +#: plugins/sudoers/cvtsudoers_merge.c:453 +#: plugins/sudoers/cvtsudoers_merge.c:475 +#: plugins/sudoers/cvtsudoers_merge.c:583 +#: plugins/sudoers/cvtsudoers_merge.c:588 +#: plugins/sudoers/cvtsudoers_merge.c:661 +#: plugins/sudoers/cvtsudoers_merge.c:664 +#: plugins/sudoers/cvtsudoers_merge.c:1196 +#: plugins/sudoers/cvtsudoers_merge.c:1281 plugins/sudoers/defaults.c:455 +#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1062 +#: plugins/sudoers/defaults.c:1248 plugins/sudoers/editor.c:198 +#: plugins/sudoers/env.c:280 plugins/sudoers/exptilde.c:92 #: plugins/sudoers/filedigest.c:66 plugins/sudoers/filedigest.c:70 #: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:211 -#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268 -#: plugins/sudoers/iolog.c:675 plugins/sudoers/iolog.c:703 +#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:270 +#: plugins/sudoers/iolog.c:683 plugins/sudoers/iolog.c:711 #: plugins/sudoers/ldap.c:161 plugins/sudoers/ldap.c:448 #: plugins/sudoers/ldap.c:625 plugins/sudoers/ldap.c:789 #: plugins/sudoers/ldap.c:1214 plugins/sudoers/ldap.c:1642 @@ -363,26 +357,26 @@ msgstr "" #: plugins/sudoers/ldap_conf.c:299 plugins/sudoers/ldap_conf.c:335 #: plugins/sudoers/ldap_conf.c:441 plugins/sudoers/ldap_conf.c:456 #: plugins/sudoers/ldap_conf.c:565 plugins/sudoers/ldap_conf.c:598 -#: plugins/sudoers/ldap_conf.c:693 plugins/sudoers/ldap_conf.c:776 +#: plugins/sudoers/ldap_conf.c:695 plugins/sudoers/ldap_conf.c:778 #: 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:717 -#: plugins/sudoers/log_client.c:739 plugins/sudoers/log_client.c:744 -#: plugins/sudoers/log_client.c:1426 plugins/sudoers/log_client.c:1547 -#: plugins/sudoers/log_client.c:1670 plugins/sudoers/log_client.c:1993 -#: plugins/sudoers/log_client.c:2052 plugins/sudoers/logging.c:110 +#: plugins/sudoers/ldap_util.c:615 plugins/sudoers/linux_audit.c:86 +#: plugins/sudoers/log_client.c:117 plugins/sudoers/log_client.c:237 +#: plugins/sudoers/log_client.c:259 plugins/sudoers/log_client.c:273 +#: plugins/sudoers/log_client.c:411 plugins/sudoers/log_client.c:726 +#: plugins/sudoers/log_client.c:748 plugins/sudoers/log_client.c:753 +#: plugins/sudoers/log_client.c:1449 plugins/sudoers/log_client.c:1570 +#: plugins/sudoers/log_client.c:1693 plugins/sudoers/log_client.c:2018 +#: plugins/sudoers/log_client.c:2077 plugins/sudoers/logging.c:110 #: plugins/sudoers/logging.c:189 plugins/sudoers/logging.c:190 -#: plugins/sudoers/logging.c:475 plugins/sudoers/logging.c:711 -#: plugins/sudoers/logging.c:755 plugins/sudoers/logging.c:872 -#: plugins/sudoers/logging.c:925 plugins/sudoers/logging.c:932 -#: plugins/sudoers/lookup.c:337 plugins/sudoers/lookup.c:354 -#: plugins/sudoers/lookup.c:373 plugins/sudoers/lookup.c:392 -#: plugins/sudoers/lookup.c:409 plugins/sudoers/lookup.c:432 -#: plugins/sudoers/lookup.c:443 plugins/sudoers/match_command.c:301 -#: plugins/sudoers/match_command.c:573 plugins/sudoers/match_command.c:640 -#: plugins/sudoers/match_command.c:737 plugins/sudoers/match_command.c:784 +#: plugins/sudoers/logging.c:483 plugins/sudoers/logging.c:723 +#: plugins/sudoers/logging.c:763 plugins/sudoers/logging.c:880 +#: plugins/sudoers/logging.c:933 plugins/sudoers/logging.c:940 +#: plugins/sudoers/lookup.c:330 plugins/sudoers/lookup.c:347 +#: plugins/sudoers/lookup.c:365 plugins/sudoers/lookup.c:383 +#: plugins/sudoers/lookup.c:400 plugins/sudoers/lookup.c:422 +#: plugins/sudoers/lookup.c:433 plugins/sudoers/match_command.c:279 +#: plugins/sudoers/match_command.c:543 plugins/sudoers/match_command.c:607 +#: plugins/sudoers/match_command.c:702 plugins/sudoers/match_command.c:749 #: plugins/sudoers/match_digest.c:88 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 @@ -393,52 +387,52 @@ msgstr "" #: plugins/sudoers/parse_ldif.c:595 plugins/sudoers/parse_ldif.c:624 #: plugins/sudoers/parse_ldif.c:649 plugins/sudoers/parse_ldif.c:707 #: plugins/sudoers/parse_ldif.c:724 plugins/sudoers/parse_ldif.c:752 -#: plugins/sudoers/parse_ldif.c:759 plugins/sudoers/policy.c:157 -#: plugins/sudoers/policy.c:166 plugins/sudoers/policy.c:175 -#: plugins/sudoers/policy.c:204 plugins/sudoers/policy.c:374 -#: plugins/sudoers/policy.c:390 plugins/sudoers/policy.c:392 -#: plugins/sudoers/policy.c:430 plugins/sudoers/policy.c:439 -#: plugins/sudoers/policy.c:448 plugins/sudoers/policy.c:457 -#: plugins/sudoers/policy.c:493 plugins/sudoers/policy.c:502 -#: plugins/sudoers/policy.c:511 plugins/sudoers/policy.c:520 -#: plugins/sudoers/policy.c:529 plugins/sudoers/policy.c:538 -#: plugins/sudoers/policy.c:547 plugins/sudoers/policy.c:646 -#: plugins/sudoers/policy.c:1061 plugins/sudoers/prompt.c:94 +#: plugins/sudoers/parse_ldif.c:759 plugins/sudoers/policy.c:152 +#: plugins/sudoers/policy.c:161 plugins/sudoers/policy.c:170 +#: plugins/sudoers/policy.c:199 plugins/sudoers/policy.c:357 +#: plugins/sudoers/policy.c:373 plugins/sudoers/policy.c:375 +#: plugins/sudoers/policy.c:414 plugins/sudoers/policy.c:423 +#: plugins/sudoers/policy.c:432 plugins/sudoers/policy.c:441 +#: plugins/sudoers/policy.c:492 plugins/sudoers/policy.c:501 +#: plugins/sudoers/policy.c:510 plugins/sudoers/policy.c:519 +#: plugins/sudoers/policy.c:528 plugins/sudoers/policy.c:537 +#: plugins/sudoers/policy.c:546 plugins/sudoers/policy.c:654 +#: plugins/sudoers/policy.c:1071 plugins/sudoers/prompt.c:94 #: plugins/sudoers/pwutil.c:219 plugins/sudoers/pwutil.c:290 #: plugins/sudoers/pwutil.c:368 plugins/sudoers/pwutil.c:542 #: plugins/sudoers/pwutil.c:607 plugins/sudoers/pwutil.c:679 -#: plugins/sudoers/pwutil.c:877 plugins/sudoers/pwutil.c:967 -#: plugins/sudoers/pwutil.c:1015 plugins/sudoers/pwutil.c:1076 +#: plugins/sudoers/pwutil.c:877 plugins/sudoers/pwutil.c:970 +#: plugins/sudoers/pwutil.c:1018 plugins/sudoers/pwutil.c:1082 #: plugins/sudoers/set_perms.c:374 plugins/sudoers/set_perms.c:723 #: plugins/sudoers/set_perms.c:1096 plugins/sudoers/set_perms.c:1409 -#: plugins/sudoers/set_perms.c:1579 plugins/sudoers/sethost.c:85 +#: plugins/sudoers/set_perms.c:1579 plugins/sudoers/sethost.c:89 #: plugins/sudoers/sssd.c:144 plugins/sudoers/sssd.c:186 #: plugins/sudoers/sssd.c:415 plugins/sudoers/sssd.c:480 #: plugins/sudoers/sssd.c:507 plugins/sudoers/sssd.c:570 #: plugins/sudoers/sssd.c:765 plugins/sudoers/strvec_join.c:53 #: plugins/sudoers/sudoers.c:405 plugins/sudoers/sudoers.c:412 -#: plugins/sudoers/sudoers.c:656 plugins/sudoers/sudoers.c:666 -#: plugins/sudoers/sudoers.c:811 plugins/sudoers/sudoers.c:877 -#: plugins/sudoers/sudoers.c:936 plugins/sudoers/sudoers.c:985 -#: plugins/sudoers/sudoers.c:1144 plugins/sudoers/sudoers.c:1213 -#: plugins/sudoers/sudoers.c:1306 plugins/sudoers/sudoers_cb.c:150 +#: plugins/sudoers/sudoers.c:673 plugins/sudoers/sudoers.c:683 +#: plugins/sudoers/sudoers.c:828 plugins/sudoers/sudoers.c:894 +#: plugins/sudoers/sudoers.c:953 plugins/sudoers/sudoers.c:1002 +#: plugins/sudoers/sudoers.c:1162 plugins/sudoers/sudoers.c:1231 +#: plugins/sudoers/sudoers.c:1324 plugins/sudoers/sudoers_cb.c:150 #: plugins/sudoers/sudoreplay.c:559 plugins/sudoers/sudoreplay.c:562 -#: plugins/sudoers/sudoreplay.c:1279 plugins/sudoers/sudoreplay.c:1335 -#: plugins/sudoers/sudoreplay.c:1531 plugins/sudoers/sudoreplay.c:1535 +#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1337 +#: plugins/sudoers/sudoreplay.c:1533 plugins/sudoers/sudoreplay.c:1537 #: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:255 #: plugins/sudoers/testsudoers.c:264 plugins/sudoers/testsudoers.c:275 #: plugins/sudoers/testsudoers.c:282 plugins/sudoers/testsudoers.c:302 -#: plugins/sudoers/testsudoers.c:758 plugins/sudoers/timestamp.c:469 -#: plugins/sudoers/timestamp.c:513 plugins/sudoers/timestamp.c:1042 -#: plugins/sudoers/timestamp.c:1216 plugins/sudoers/toke_util.c:79 +#: plugins/sudoers/testsudoers.c:756 plugins/sudoers/timestamp.c:468 +#: plugins/sudoers/timestamp.c:514 plugins/sudoers/timestamp.c:1045 +#: plugins/sudoers/timestamp.c:1248 plugins/sudoers/toke_util.c:79 #: plugins/sudoers/toke_util.c:108 plugins/sudoers/toke_util.c:134 #: plugins/sudoers/toke_util.c:163 plugins/sudoers/toke_util.c:204 -#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:151 +#: plugins/sudoers/tsdump.c:136 plugins/sudoers/visudo.c:151 #: plugins/sudoers/visudo.c:258 plugins/sudoers/visudo.c:383 #: plugins/sudoers/visudo.c:389 plugins/sudoers/visudo.c:501 #: plugins/sudoers/visudo.c:1073 plugins/sudoers/visudo.c:1094 -#: plugins/sudoers/visudo.c:1189 toke.l:1031 toke.l:1194 toke.l:1213 -#: toke.l:1240 toke.l:1309 toke.l:1320 +#: plugins/sudoers/visudo.c:1189 toke.l:1011 toke.l:1174 toke.l:1193 +#: toke.l:1220 toke.l:1289 toke.l:1300 #, c-format msgid "%s: %s" msgstr "" @@ -467,12 +461,12 @@ msgstr "" msgid "unable to open pipe: %m" msgstr "" -#: lib/eventlog/eventlog.c:1000 +#: lib/eventlog/eventlog.c:1013 #, c-format msgid "%8s : %s" msgstr "" -#: lib/eventlog/eventlog.c:1029 +#: lib/eventlog/eventlog.c:1042 #, c-format msgid "%8s : (command continued) %s" msgstr "" @@ -486,73 +480,73 @@ msgstr "" msgid "JSON_ARRAY too large" msgstr "" -#: lib/eventlog/parse_json.c:506 +#: lib/eventlog/parse_json.c:523 msgid "missing double quote in name" msgstr "" -#: lib/eventlog/parse_json.c:624 +#: lib/eventlog/parse_json.c:641 msgid "missing JSON_OBJECT" msgstr "" -#: lib/eventlog/parse_json.c:628 +#: lib/eventlog/parse_json.c:645 #, c-format msgid "expected JSON_OBJECT, got %d" msgstr "" -#: lib/eventlog/parse_json.c:762 +#: lib/eventlog/parse_json.c:779 #, c-format msgid "json stack exhausted (max %u frames)" msgstr "" -#: lib/eventlog/parse_json.c:840 +#: lib/eventlog/parse_json.c:857 msgid "objects must consist of name:value pairs" msgstr "" -#: lib/eventlog/parse_json.c:845 lib/eventlog/parse_json.c:876 -#: lib/eventlog/parse_json.c:920 lib/eventlog/parse_json.c:942 -#: lib/eventlog/parse_json.c:964 lib/eventlog/parse_json.c:986 -#: lib/eventlog/parse_json.c:1008 +#: lib/eventlog/parse_json.c:862 lib/eventlog/parse_json.c:893 +#: lib/eventlog/parse_json.c:937 lib/eventlog/parse_json.c:959 +#: lib/eventlog/parse_json.c:981 lib/eventlog/parse_json.c:1003 +#: lib/eventlog/parse_json.c:1025 msgid "missing separator between values" msgstr "" -#: lib/eventlog/parse_json.c:860 lib/eventlog/parse_json.c:1034 +#: lib/eventlog/parse_json.c:877 lib/eventlog/parse_json.c:1051 msgid "unmatched close brace" msgstr "" -#: lib/eventlog/parse_json.c:871 +#: lib/eventlog/parse_json.c:888 msgid "unexpected array" msgstr "" -#: lib/eventlog/parse_json.c:891 lib/eventlog/parse_json.c:1037 +#: lib/eventlog/parse_json.c:908 lib/eventlog/parse_json.c:1054 msgid "unmatched close bracket" msgstr "" -#: lib/eventlog/parse_json.c:902 +#: lib/eventlog/parse_json.c:919 msgid "unexpected string" msgstr "" -#: lib/eventlog/parse_json.c:913 +#: lib/eventlog/parse_json.c:930 msgid "missing colon after name" msgstr "" -#: lib/eventlog/parse_json.c:934 lib/eventlog/parse_json.c:956 +#: lib/eventlog/parse_json.c:951 lib/eventlog/parse_json.c:973 msgid "unexpected boolean" msgstr "" -#: lib/eventlog/parse_json.c:978 +#: lib/eventlog/parse_json.c:995 msgid "unexpected null" msgstr "" -#: lib/eventlog/parse_json.c:999 +#: lib/eventlog/parse_json.c:1016 msgid "unexpected number" msgstr "" -#: lib/eventlog/parse_json.c:1045 +#: lib/eventlog/parse_json.c:1062 msgid "parse error" msgstr "" -#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1290 -#: plugins/sudoers/sudoreplay.c:1291 plugins/sudoers/sudoreplay.c:1587 +#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1303 +#: plugins/sudoers/sudoreplay.c:1293 plugins/sudoers/sudoreplay.c:1589 #, c-format msgid "invalid regular expression \"%s\": %s" msgstr "" @@ -592,8 +586,8 @@ msgstr "" msgid "%s exists but is not a directory (0%o)" msgstr "" -#: lib/iolog/iolog_mkdirs.c:124 lib/iolog/iolog_mkdtemp.c:80 -#: logsrvd/iolog_writer.c:795 plugins/sudoers/timestamp.c:218 +#: lib/iolog/iolog_mkdirs.c:125 lib/iolog/iolog_mkdtemp.c:80 +#: logsrvd/iolog_writer.c:803 plugins/sudoers/timestamp.c:218 #, c-format msgid "unable to mkdir %s" msgstr "" @@ -631,90 +625,90 @@ msgstr "" msgid "%s: protocol error: NULL value found in %s" msgstr "" -#: logsrvd/iolog_writer.c:141 plugins/sudoers/logging.c:1024 -#: plugins/sudoers/policy.c:613 +#: logsrvd/iolog_writer.c:141 plugins/sudoers/logging.c:1035 +#: plugins/sudoers/policy.c:621 msgid "unable to generate UUID" msgstr "" -#: logsrvd/iolog_writer.c:354 logsrvd/iolog_writer.c:359 -#: logsrvd/iolog_writer.c:364 logsrvd/iolog_writer.c:369 +#: logsrvd/iolog_writer.c:362 logsrvd/iolog_writer.c:367 +#: logsrvd/iolog_writer.c:372 logsrvd/iolog_writer.c:377 #, c-format msgid "%s: protocol error: %s missing from AcceptMessage" msgstr "" -#: logsrvd/iolog_writer.c:430 +#: logsrvd/iolog_writer.c:438 #, c-format msgid "%s: unable to format session id" msgstr "" -#: logsrvd/iolog_writer.c:444 logsrvd/iolog_writer.c:458 -#: logsrvd/iolog_writer.c:472 logsrvd/iolog_writer.c:487 -#: logsrvd/iolog_writer.c:501 logsrvd/iolog_writer.c:515 +#: logsrvd/iolog_writer.c:452 logsrvd/iolog_writer.c:466 +#: logsrvd/iolog_writer.c:480 logsrvd/iolog_writer.c:495 +#: logsrvd/iolog_writer.c:509 logsrvd/iolog_writer.c:523 #, c-format msgid "%s: %s is not set" msgstr "" -#: logsrvd/iolog_writer.c:551 logsrvd/iolog_writer.c:558 +#: logsrvd/iolog_writer.c:559 logsrvd/iolog_writer.c:566 #, c-format msgid "unable to expand iolog path %s" msgstr "" -#: logsrvd/iolog_writer.c:576 +#: logsrvd/iolog_writer.c:584 #, c-format msgid "unable to create iolog path %s" msgstr "" -#: logsrvd/iolog_writer.c:606 +#: logsrvd/iolog_writer.c:614 #, c-format msgid "invalid iofd %d" msgstr "" -#: logsrvd/iolog_writer.c:626 +#: logsrvd/iolog_writer.c:634 #, c-format msgid "error closing iofd %u: %s" msgstr "" -#: logsrvd/iolog_writer.c:647 +#: logsrvd/iolog_writer.c:655 #, c-format msgid "error flushing iofd %u: %s" msgstr "" -#: logsrvd/iolog_writer.c:765 +#: logsrvd/iolog_writer.c:773 #, c-format msgid "invalid I/O log %s: %s referenced but not present" msgstr "" -#: logsrvd/iolog_writer.c:777 logsrvd/logsrvd_journal.c:391 +#: logsrvd/iolog_writer.c:785 logsrvd/logsrvd_journal.c:391 #, c-format msgid "%s: unable to find resume point [%lld, %ld]" msgstr "" -#: logsrvd/iolog_writer.c:799 logsrvd/logsrvd_journal.c:434 +#: logsrvd/iolog_writer.c:807 logsrvd/logsrvd_journal.c:434 #: logsrvd/logsrvd_queue.c:115 logsrvd/tls_init.c:256 -#: plugins/sudoers/check.c:285 plugins/sudoers/cvtsudoers.c:758 -#: plugins/sudoers/cvtsudoers.c:780 plugins/sudoers/cvtsudoers.c:1461 -#: plugins/sudoers/cvtsudoers_csv.c:697 plugins/sudoers/cvtsudoers_json.c:902 -#: plugins/sudoers/cvtsudoers_ldif.c:711 plugins/sudoers/sudoers.c:1291 -#: plugins/sudoers/sudoers.c:1317 plugins/sudoers/sudoreplay.c:1497 -#: plugins/sudoers/timestamp.c:478 plugins/sudoers/tsdump.c:128 +#: plugins/sudoers/check.c:278 plugins/sudoers/cvtsudoers.c:758 +#: plugins/sudoers/cvtsudoers.c:780 plugins/sudoers/cvtsudoers.c:1457 +#: plugins/sudoers/cvtsudoers_csv.c:722 plugins/sudoers/cvtsudoers_json.c:1034 +#: plugins/sudoers/cvtsudoers_ldif.c:753 plugins/sudoers/sudoers.c:1309 +#: plugins/sudoers/sudoers.c:1335 plugins/sudoers/sudoreplay.c:1499 +#: plugins/sudoers/timestamp.c:477 plugins/sudoers/tsdump.c:141 #: plugins/sudoers/visudo.c:990 #, c-format msgid "unable to open %s" msgstr "" -#: logsrvd/iolog_writer.c:811 logsrvd/logsrv_util.c:111 +#: logsrvd/iolog_writer.c:819 logsrvd/logsrv_util.c:111 #: logsrvd/logsrv_util.c:118 plugins/sudoers/sudoreplay.c:355 #: plugins/sudoers/sudoreplay.c:361 #, c-format msgid "unable to open %s/%s" msgstr "" -#: logsrvd/iolog_writer.c:824 +#: logsrvd/iolog_writer.c:832 #, c-format msgid "unable to copy %s/%s to %s/%s: %s" msgstr "" -#: logsrvd/iolog_writer.c:853 logsrvd/logsrvd_journal.c:198 +#: logsrvd/iolog_writer.c:861 logsrvd/logsrvd_journal.c:198 #, c-format msgid "unable to rename %s to %s" msgstr "" @@ -734,209 +728,209 @@ msgstr "" msgid "%s/%s: unable to seek forward %zu" msgstr "" -#: logsrvd/logsrvd.c:271 logsrvd/logsrvd_queue.c:135 +#: logsrvd/logsrvd.c:272 logsrvd/logsrvd_queue.c:135 msgid "unable to connect to relay" msgstr "" -#: logsrvd/logsrvd.c:338 logsrvd/logsrvd_relay.c:847 +#: logsrvd/logsrvd.c:339 logsrvd/logsrvd_relay.c:847 #, c-format msgid "server message too large: %zu" msgstr "" -#: logsrvd/logsrvd.c:430 logsrvd/logsrvd.c:553 logsrvd/logsrvd.c:639 -#: logsrvd/logsrvd.c:881 logsrvd/logsrvd.c:895 logsrvd/logsrvd.c:1056 -#: logsrvd/logsrvd.c:1181 logsrvd/logsrvd.c:1354 logsrvd/logsrvd.c:1372 -#: logsrvd/logsrvd.c:1471 logsrvd/logsrvd.c:1596 logsrvd/logsrvd.c:1783 +#: logsrvd/logsrvd.c:431 logsrvd/logsrvd.c:554 logsrvd/logsrvd.c:640 +#: logsrvd/logsrvd.c:882 logsrvd/logsrvd.c:896 logsrvd/logsrvd.c:1057 +#: logsrvd/logsrvd.c:1182 logsrvd/logsrvd.c:1364 logsrvd/logsrvd.c:1382 +#: logsrvd/logsrvd.c:1481 logsrvd/logsrvd.c:1606 logsrvd/logsrvd.c:1793 #: logsrvd/logsrvd_journal.c:503 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:391 logsrvd/logsrvd_relay.c:583 #: logsrvd/logsrvd_relay.c:747 logsrvd/logsrvd_relay.c:1137 -#: logsrvd/sendlog.c:1308 logsrvd/tls_client.c:136 logsrvd/tls_client.c:152 -#: logsrvd/tls_client.c:216 plugins/sudoers/audit.c:281 -#: plugins/sudoers/iolog.c:1041 plugins/sudoers/iolog.c:1175 -#: plugins/sudoers/iolog.c:1274 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:613 -#: plugins/sudoers/log_client.c:620 plugins/sudoers/log_client.c:1114 -#: plugins/sudoers/log_client.c:1395 plugins/sudoers/log_client.c:1436 -#: plugins/sudoers/log_client.c:1444 plugins/sudoers/log_client.c:1603 -#: plugins/sudoers/log_client.c:1728 plugins/sudoers/log_client.c:2060 -#: plugins/sudoers/log_client.c:2068 plugins/sudoers/logging.c:148 +#: logsrvd/sendlog.c:1333 logsrvd/tls_client.c:145 logsrvd/tls_client.c:161 +#: logsrvd/tls_client.c:225 plugins/sudoers/audit.c:281 +#: plugins/sudoers/iolog.c:1049 plugins/sudoers/iolog.c:1183 +#: plugins/sudoers/iolog.c:1282 plugins/sudoers/log_client.c:121 +#: plugins/sudoers/log_client.c:352 plugins/sudoers/log_client.c:368 +#: plugins/sudoers/log_client.c:416 plugins/sudoers/log_client.c:622 +#: plugins/sudoers/log_client.c:629 plugins/sudoers/log_client.c:1137 +#: plugins/sudoers/log_client.c:1418 plugins/sudoers/log_client.c:1459 +#: plugins/sudoers/log_client.c:1467 plugins/sudoers/log_client.c:1626 +#: plugins/sudoers/log_client.c:1751 plugins/sudoers/log_client.c:2085 +#: plugins/sudoers/log_client.c:2093 plugins/sudoers/logging.c:148 #: plugins/sudoers/logging.c:206 plugins/sudoers/sudoreplay.c:519 -#: plugins/sudoers/sudoreplay.c:566 plugins/sudoers/sudoreplay.c:808 -#: plugins/sudoers/sudoreplay.c:920 plugins/sudoers/sudoreplay.c:1011 -#: plugins/sudoers/sudoreplay.c:1026 plugins/sudoers/sudoreplay.c:1033 -#: plugins/sudoers/sudoreplay.c:1040 plugins/sudoers/sudoreplay.c:1047 -#: plugins/sudoers/sudoreplay.c:1054 plugins/sudoers/sudoreplay.c:1182 +#: plugins/sudoers/sudoreplay.c:566 plugins/sudoers/sudoreplay.c:810 +#: plugins/sudoers/sudoreplay.c:922 plugins/sudoers/sudoreplay.c:1013 +#: plugins/sudoers/sudoreplay.c:1028 plugins/sudoers/sudoreplay.c:1035 +#: plugins/sudoers/sudoreplay.c:1042 plugins/sudoers/sudoreplay.c:1049 +#: plugins/sudoers/sudoreplay.c:1056 plugins/sudoers/sudoreplay.c:1184 msgid "unable to add event to queue" msgstr "" -#: logsrvd/logsrvd.c:454 logsrvd/logsrvd.c:491 logsrvd/logsrvd.c:523 -#: logsrvd/logsrvd.c:577 logsrvd/logsrvd.c:656 logsrvd/logsrvd.c:692 -#: logsrvd/logsrvd.c:728 logsrvd/logsrvd.c:764 logsrvd/logsrvd_relay.c:512 +#: logsrvd/logsrvd.c:455 logsrvd/logsrvd.c:492 logsrvd/logsrvd.c:524 +#: logsrvd/logsrvd.c:578 logsrvd/logsrvd.c:657 logsrvd/logsrvd.c:693 +#: logsrvd/logsrvd.c:729 logsrvd/logsrvd.c:765 logsrvd/logsrvd_relay.c:512 #: logsrvd/logsrvd_relay.c:545 #, c-format msgid "unexpected state %d for %s" msgstr "" -#: logsrvd/logsrvd.c:455 logsrvd/logsrvd.c:492 logsrvd/logsrvd.c:524 -#: logsrvd/logsrvd.c:578 logsrvd/logsrvd.c:657 logsrvd/logsrvd.c:693 -#: logsrvd/logsrvd.c:729 logsrvd/logsrvd.c:765 logsrvd/logsrvd_relay.c:514 +#: logsrvd/logsrvd.c:456 logsrvd/logsrvd.c:493 logsrvd/logsrvd.c:525 +#: logsrvd/logsrvd.c:579 logsrvd/logsrvd.c:658 logsrvd/logsrvd.c:694 +#: logsrvd/logsrvd.c:730 logsrvd/logsrvd.c:766 logsrvd/logsrvd_relay.c:514 #: logsrvd/logsrvd_relay.c:547 msgid "state machine error" msgstr "" -#: logsrvd/logsrvd.c:461 logsrvd/logsrvd.c:462 +#: logsrvd/logsrvd.c:462 logsrvd/logsrvd.c:463 msgid "invalid AcceptMessage" msgstr "" -#: logsrvd/logsrvd.c:498 logsrvd/logsrvd.c:499 +#: logsrvd/logsrvd.c:499 logsrvd/logsrvd.c:500 msgid "invalid RejectMessage" msgstr "" -#: logsrvd/logsrvd.c:530 logsrvd/logsrvd.c:531 +#: logsrvd/logsrvd.c:531 logsrvd/logsrvd.c:532 msgid "invalid ExitMessage" msgstr "" -#: logsrvd/logsrvd.c:584 logsrvd/logsrvd.c:585 +#: logsrvd/logsrvd.c:585 logsrvd/logsrvd.c:586 msgid "invalid RestartMessage" msgstr "" -#: logsrvd/logsrvd.c:619 logsrvd/logsrvd.c:620 +#: logsrvd/logsrvd.c:620 logsrvd/logsrvd.c:621 msgid "invalid AlertMessage" msgstr "" -#: logsrvd/logsrvd.c:661 logsrvd/logsrvd.c:697 logsrvd/logsrvd.c:733 +#: logsrvd/logsrvd.c:662 logsrvd/logsrvd.c:698 logsrvd/logsrvd.c:734 #, c-format msgid "%s: unexpected IoBuffer" msgstr "" -#: logsrvd/logsrvd.c:662 logsrvd/logsrvd.c:698 logsrvd/logsrvd.c:734 +#: logsrvd/logsrvd.c:663 logsrvd/logsrvd.c:699 logsrvd/logsrvd.c:735 msgid "protocol error" msgstr "" -#: logsrvd/logsrvd.c:668 logsrvd/logsrvd.c:669 +#: logsrvd/logsrvd.c:669 logsrvd/logsrvd.c:670 msgid "invalid IoBuffer" msgstr "" -#: logsrvd/logsrvd.c:704 logsrvd/logsrvd.c:705 +#: logsrvd/logsrvd.c:705 logsrvd/logsrvd.c:706 msgid "invalid ChangeWindowSize" msgstr "" -#: logsrvd/logsrvd.c:740 logsrvd/logsrvd.c:741 +#: logsrvd/logsrvd.c:741 logsrvd/logsrvd.c:742 msgid "invalid CommandSuspend" msgstr "" -#: logsrvd/logsrvd.c:790 logsrvd/logsrvd_journal.c:302 -#: logsrvd/logsrvd_relay.c:654 logsrvd/sendlog.c:1207 -#: plugins/sudoers/log_client.c:1593 +#: logsrvd/logsrvd.c:791 logsrvd/logsrvd_journal.c:302 +#: logsrvd/logsrvd_relay.c:654 logsrvd/sendlog.c:1232 +#: plugins/sudoers/log_client.c:1616 #, c-format msgid "unable to unpack %s size %zu" msgstr "" -#: logsrvd/logsrvd.c:835 logsrvd/logsrvd_journal.c:376 +#: logsrvd/logsrvd.c:836 logsrvd/logsrvd_journal.c:376 #: logsrvd/logsrvd_relay.c:678 #, c-format msgid "unexpected type_case value %d in %s from %s" msgstr "" -#: logsrvd/logsrvd.c:837 +#: logsrvd/logsrvd.c:838 msgid "unrecognized ClientMessage type" msgstr "" -#: logsrvd/logsrvd.c:927 +#: logsrvd/logsrvd.c:928 #, c-format msgid "timed out writing to client %s" msgstr "" -#: logsrvd/logsrvd.c:932 logsrvd/logsrvd_relay.c:919 logsrvd/sendlog.c:1413 +#: logsrvd/logsrvd.c:933 logsrvd/logsrvd_relay.c:919 logsrvd/sendlog.c:1438 #, c-format msgid "missing write buffer for client %s" msgstr "" -#: logsrvd/logsrvd.c:1027 +#: logsrvd/logsrvd.c:1028 #, c-format msgid "timed out reading from client %s" msgstr "" -#: logsrvd/logsrvd.c:1068 logsrvd/logsrvd_relay.c:782 +#: logsrvd/logsrvd.c:1069 logsrvd/logsrvd_relay.c:782 #, c-format msgid "EOF from %s without proper TLS shutdown" msgstr "" -#: logsrvd/logsrvd.c:1112 logsrvd/logsrvd_relay.c:205 logsrvd/sendlog.c:336 -#: plugins/sudoers/log_client.c:723 +#: logsrvd/logsrvd.c:1113 logsrvd/logsrvd_relay.c:205 logsrvd/sendlog.c:336 +#: plugins/sudoers/log_client.c:732 #, c-format msgid "client message too large: %zu" msgstr "" -#: logsrvd/logsrvd.c:1113 logsrvd/logsrvd_journal.c:259 +#: logsrvd/logsrvd.c:1114 logsrvd/logsrvd_journal.c:259 #: logsrvd/logsrvd_journal.c:260 msgid "client message too large" msgstr "" -#: logsrvd/logsrvd.c:1131 logsrvd/logsrvd.c:1132 +#: logsrvd/logsrvd.c:1132 logsrvd/logsrvd.c:1133 msgid "invalid ClientMessage" msgstr "" -#: logsrvd/logsrvd.c:1432 +#: logsrvd/logsrvd.c:1442 msgid "unable to get remote IP addr" msgstr "" -#: logsrvd/logsrvd.c:1463 logsrvd/tls_client.c:203 -#: plugins/sudoers/log_client.c:281 +#: logsrvd/logsrvd.c:1473 logsrvd/tls_client.c:212 +#: plugins/sudoers/log_client.c:290 #, c-format msgid "Unable to attach user data to the ssl object: %s" msgstr "" -#: logsrvd/logsrvd.c:1646 logsrvd/logsrvd.c:2007 +#: logsrvd/logsrvd.c:1656 logsrvd/logsrvd.c:2050 msgid "unable to setup listen socket" msgstr "" -#: logsrvd/logsrvd.c:1766 +#: logsrvd/logsrvd.c:1776 #, c-format msgid "unexpected signal %d" msgstr "" -#: logsrvd/logsrvd.c:1909 +#: logsrvd/logsrvd.c:1949 msgid "sudo log server" msgstr "" -#: logsrvd/logsrvd.c:1911 logsrvd/sendlog.c:126 +#: logsrvd/logsrvd.c:1951 logsrvd/sendlog.c:126 msgid "Options:" msgstr "" -#: logsrvd/logsrvd.c:1913 +#: logsrvd/logsrvd.c:1953 msgid "path to configuration file" msgstr "" -#: logsrvd/logsrvd.c:1915 logsrvd/sendlog.c:128 +#: logsrvd/logsrvd.c:1955 logsrvd/sendlog.c:128 msgid "display help message and exit" msgstr "" -#: logsrvd/logsrvd.c:1917 +#: logsrvd/logsrvd.c:1957 msgid "do not fork, run in the foreground" msgstr "" -#: logsrvd/logsrvd.c:1919 +#: logsrvd/logsrvd.c:1959 msgid "percent chance connections will drop" msgstr "" -#: logsrvd/logsrvd.c:1921 logsrvd/sendlog.c:158 +#: logsrvd/logsrvd.c:1961 logsrvd/sendlog.c:158 msgid "display version information and exit" msgstr "" -#: logsrvd/logsrvd.c:1971 logsrvd/sendlog.c:1722 +#: logsrvd/logsrvd.c:2011 logsrvd/sendlog.c:1747 msgid "Protobuf-C version 1.3 or higher required" msgstr "" -#: logsrvd/logsrvd.c:1987 +#: logsrvd/logsrvd.c:2027 #, c-format msgid "invalid random drop value: %s" msgstr "" -#: logsrvd/logsrvd.c:1990 logsrvd/sendlog.c:1776 +#: logsrvd/logsrvd.c:2030 logsrvd/sendlog.c:1801 #: plugins/sudoers/cvtsudoers.c:250 plugins/sudoers/sudoreplay.c:294 #: plugins/sudoers/visudo.c:181 #, c-format @@ -945,16 +939,16 @@ msgstr "" #: logsrvd/logsrvd_conf.c:422 plugins/sudoers/check.c:69 #: plugins/sudoers/exptilde.c:85 plugins/sudoers/iolog.c:122 -#: plugins/sudoers/sudoers.c:419 plugins/sudoers/sudoers.c:929 -#: plugins/sudoers/sudoers.c:1034 plugins/sudoers/sudoers.c:1424 +#: plugins/sudoers/sudoers.c:419 plugins/sudoers/sudoers.c:946 +#: plugins/sudoers/sudoers.c:1052 plugins/sudoers/sudoers.c:1442 #: plugins/sudoers/testsudoers.c:169 plugins/sudoers/testsudoers.c:285 -#: plugins/sudoers/testsudoers.c:459 +#: plugins/sudoers/testsudoers.c:459 plugins/sudoers/tsdump.c:131 #, c-format msgid "unknown user %s" msgstr "" #: logsrvd/logsrvd_conf.c:439 plugins/sudoers/iolog.c:148 -#: plugins/sudoers/sudoers.c:425 plugins/sudoers/sudoers.c:1458 +#: plugins/sudoers/sudoers.c:425 plugins/sudoers/sudoers.c:1476 #: plugins/sudoers/testsudoers.c:483 #, c-format msgid "unknown group %s" @@ -965,7 +959,7 @@ msgstr "" msgid "unable to parse iolog mode %s" msgstr "" -#: logsrvd/logsrvd_conf.c:474 logsrvd/logsrvd_conf.c:1243 +#: logsrvd/logsrvd_conf.c:474 logsrvd/logsrvd_conf.c:1248 #, c-format msgid "invalid value for %s: %s" msgstr "" @@ -979,65 +973,65 @@ msgstr "" msgid "%s:%s" msgstr "" -#: logsrvd/logsrvd_conf.c:622 logsrvd/logsrvd_conf.c:1032 +#: logsrvd/logsrvd_conf.c:622 logsrvd/logsrvd_conf.c:1037 #, c-format msgid "%s: not a fully qualified path" msgstr "" -#: logsrvd/logsrvd_conf.c:951 logsrvd/logsrvd_conf.c:967 -#: logsrvd/logsrvd_conf.c:1676 +#: logsrvd/logsrvd_conf.c:956 logsrvd/logsrvd_conf.c:972 +#: logsrvd/logsrvd_conf.c:1681 #, c-format msgid "unknown syslog facility %s" msgstr "" -#: 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 +#: logsrvd/logsrvd_conf.c:988 logsrvd/logsrvd_conf.c:1004 +#: logsrvd/logsrvd_conf.c:1020 logsrvd/logsrvd_conf.c:1685 +#: logsrvd/logsrvd_conf.c:1689 logsrvd/logsrvd_conf.c:1693 #, c-format msgid "unknown syslog priority %s" msgstr "" -#: logsrvd/logsrvd_conf.c:1197 +#: logsrvd/logsrvd_conf.c:1202 #, c-format msgid "%s:%d unmatched '[': %s" msgstr "" -#: logsrvd/logsrvd_conf.c:1203 +#: logsrvd/logsrvd_conf.c:1208 #, c-format msgid "%s:%d garbage after ']': %s" msgstr "" -#: logsrvd/logsrvd_conf.c:1215 +#: logsrvd/logsrvd_conf.c:1220 #, c-format msgid "%s:%d invalid config section: %s" msgstr "" -#: logsrvd/logsrvd_conf.c:1223 +#: logsrvd/logsrvd_conf.c:1228 #, c-format msgid "%s:%d invalid configuration line: %s" msgstr "" -#: logsrvd/logsrvd_conf.c:1229 +#: logsrvd/logsrvd_conf.c:1234 #, c-format msgid "%s:%d expected section name: %s" msgstr "" -#: logsrvd/logsrvd_conf.c:1251 +#: logsrvd/logsrvd_conf.c:1256 #, c-format msgid "%s:%d [%s] illegal key: %s" msgstr "" -#: logsrvd/logsrvd_conf.c:1281 plugins/sudoers/cvtsudoers.c:273 -#: plugins/sudoers/logging.c:1076 +#: logsrvd/logsrvd_conf.c:1286 plugins/sudoers/cvtsudoers.c:273 +#: plugins/sudoers/logging.c:1087 #, c-format msgid "unable to open log file %s" msgstr "" -#: logsrvd/logsrvd_conf.c:1763 +#: logsrvd/logsrvd_conf.c:1768 msgid "unable to initialize server TLS context" msgstr "" -#: logsrvd/logsrvd_conf.c:1783 +#: logsrvd/logsrvd_conf.c:1788 msgid "unable to initialize relay TLS context" msgstr "" @@ -1141,7 +1135,7 @@ msgstr "" #: logsrvd/logsrvd_local.c:601 logsrvd/logsrvd_local.c:609 #: logsrvd/logsrvd_local.c:657 logsrvd/logsrvd_local.c:692 -#: plugins/sudoers/sudoreplay.c:344 toke.l:981 toke.l:984 +#: plugins/sudoers/sudoreplay.c:344 toke.l:961 toke.l:964 #, c-format msgid "%s/%s: %s" msgstr "" @@ -1175,8 +1169,8 @@ msgstr "" msgid "%s: invalid ServerHello, missing server_id" msgstr "" -#: logsrvd/logsrvd_relay.c:522 logsrvd/sendlog.c:1111 -#: plugins/sudoers/log_client.c:1479 +#: logsrvd/logsrvd_relay.c:522 logsrvd/sendlog.c:1136 +#: plugins/sudoers/log_client.c:1502 msgid "invalid ServerHello" msgstr "" @@ -1280,7 +1274,7 @@ msgstr "" msgid "test audit server by sending selected I/O log n times in parallel" msgstr "" -#: logsrvd/sendlog.c:181 plugins/sudoers/log_client.c:453 +#: logsrvd/sendlog.c:181 plugins/sudoers/log_client.c:462 #, c-format msgid "unable to look up %s:%s: %s" msgstr "" @@ -1289,108 +1283,108 @@ msgstr "" msgid "unable to get server IP addr" msgstr "" -#: logsrvd/sendlog.c:314 plugins/sudoers/sudoreplay.c:868 +#: logsrvd/sendlog.c:314 plugins/sudoers/sudoreplay.c:870 #, c-format msgid "unable to read %s/%s: %s" msgstr "" -#: logsrvd/sendlog.c:1035 plugins/sudoers/iolog.c:959 -#: plugins/sudoers/iolog.c:1034 +#: logsrvd/sendlog.c:1060 plugins/sudoers/iolog.c:967 +#: plugins/sudoers/iolog.c:1042 #, c-format msgid "unexpected I/O event %d" msgstr "" -#: logsrvd/sendlog.c:1088 logsrvd/sendlog.c:1105 logsrvd/sendlog.c:1139 -#: plugins/sudoers/log_client.c:1129 plugins/sudoers/log_client.c:1405 -#: plugins/sudoers/log_client.c:1473 plugins/sudoers/log_client.c:1512 +#: logsrvd/sendlog.c:1113 logsrvd/sendlog.c:1130 logsrvd/sendlog.c:1164 +#: plugins/sudoers/log_client.c:1152 plugins/sudoers/log_client.c:1428 +#: plugins/sudoers/log_client.c:1496 plugins/sudoers/log_client.c:1535 #, c-format msgid "%s: unexpected state %d" msgstr "" -#: logsrvd/sendlog.c:1175 plugins/sudoers/log_client.c:1561 +#: logsrvd/sendlog.c:1200 plugins/sudoers/log_client.c:1584 #, c-format msgid "error message received from server: %s" msgstr "" -#: logsrvd/sendlog.c:1188 plugins/sudoers/log_client.c:1574 +#: logsrvd/sendlog.c:1213 plugins/sudoers/log_client.c:1597 #, c-format msgid "abort message received from server: %s" msgstr "" -#: logsrvd/sendlog.c:1247 plugins/sudoers/log_client.c:1624 +#: logsrvd/sendlog.c:1272 plugins/sudoers/log_client.c:1647 #, c-format msgid "%s: unexpected type_case value %d" msgstr "" -#: logsrvd/sendlog.c:1276 +#: logsrvd/sendlog.c:1301 msgid "timeout reading from server" msgstr "" -#: logsrvd/sendlog.c:1327 plugins/sudoers/log_client.c:1747 +#: logsrvd/sendlog.c:1352 plugins/sudoers/log_client.c:1770 msgid "host name does not match certificate" msgstr "" -#: logsrvd/sendlog.c:1361 +#: logsrvd/sendlog.c:1386 msgid "premature EOF" msgstr "" -#: logsrvd/sendlog.c:1374 plugins/sudoers/log_client.c:1795 +#: logsrvd/sendlog.c:1399 plugins/sudoers/log_client.c:1818 #, c-format msgid "server message too large: %u" msgstr "" -#: logsrvd/sendlog.c:1430 +#: logsrvd/sendlog.c:1455 msgid "timeout writing to server" msgstr "" -#: logsrvd/sendlog.c:1800 +#: logsrvd/sendlog.c:1825 msgid "both restart point and iolog ID must be specified" msgstr "" -#: logsrvd/sendlog.c:1804 +#: logsrvd/sendlog.c:1829 msgid "a restart point may not be set when no I/O is sent" msgstr "" -#: logsrvd/sendlog.c:1880 +#: logsrvd/sendlog.c:1905 #, c-format msgid "exited prematurely with state %d" msgstr "" -#: logsrvd/sendlog.c:1881 +#: logsrvd/sendlog.c:1906 #, c-format msgid "elapsed time sent to server [%lld, %ld]" msgstr "" -#: logsrvd/sendlog.c:1883 +#: logsrvd/sendlog.c:1908 #, c-format msgid "commit point received from server [%lld, %ld]" msgstr "" -#: logsrvd/tls_client.c:111 plugins/sudoers/log_client.c:315 +#: logsrvd/tls_client.c:120 plugins/sudoers/log_client.c:324 msgid "TLS handshake timeout occurred" msgstr "" -#: logsrvd/tls_client.c:131 logsrvd/tls_client.c:147 -#: plugins/sudoers/log_client.c:337 plugins/sudoers/log_client.c:353 +#: logsrvd/tls_client.c:140 logsrvd/tls_client.c:156 +#: plugins/sudoers/log_client.c:346 plugins/sudoers/log_client.c:362 msgid "unable to set event" msgstr "" -#: logsrvd/tls_client.c:157 logsrvd/tls_client.c:161 +#: logsrvd/tls_client.c:166 logsrvd/tls_client.c:170 #, c-format msgid "TLS connection failed: %s" msgstr "" -#: logsrvd/tls_client.c:196 +#: logsrvd/tls_client.c:205 #, c-format msgid "unable to allocate ssl object: %s" msgstr "" -#: logsrvd/tls_client.c:210 +#: logsrvd/tls_client.c:219 #, c-format msgid "Unable to attach socket to the ssl object: %s" msgstr "" -#: logsrvd/tls_client.c:238 +#: logsrvd/tls_client.c:247 msgid "unable to initialize TLS context" msgstr "" @@ -1419,12 +1413,11 @@ msgstr "" msgid "unable to set minimum protocol version to TLS 1.2: %s" msgstr "" -#: plugins/sudoers/audit.c:272 plugins/sudoers/audit.c:452 -#: plugins/sudoers/log_client.c:962 plugins/sudoers/log_client.c:1011 -#: plugins/sudoers/log_client.c:1060 plugins/sudoers/log_client.c:1185 -#: plugins/sudoers/logging.c:614 plugins/sudoers/logging.c:732 -#: plugins/sudoers/logging.c:859 plugins/sudoers/logging.c:1031 -#: plugins/sudoers/policy.c:123 +#: plugins/sudoers/audit.c:272 plugins/sudoers/log_client.c:985 +#: plugins/sudoers/log_client.c:1034 plugins/sudoers/log_client.c:1083 +#: plugins/sudoers/log_client.c:1208 plugins/sudoers/logging.c:627 +#: plugins/sudoers/logging.c:867 plugins/sudoers/logging.c:1017 +#: plugins/sudoers/logging.c:1041 plugins/sudoers/policy.c:1055 msgid "unable to get time of day" msgstr "" @@ -1478,47 +1471,47 @@ msgid "" "%s" msgstr "" -#: plugins/sudoers/auth/kerb5.c:116 +#: plugins/sudoers/auth/kerb5.c:117 #, c-format msgid "%s: unable to convert principal to string ('%s'): %s" msgstr "" -#: plugins/sudoers/auth/kerb5.c:166 +#: plugins/sudoers/auth/kerb5.c:167 #, c-format msgid "%s: unable to parse '%s': %s" msgstr "" -#: plugins/sudoers/auth/kerb5.c:175 +#: plugins/sudoers/auth/kerb5.c:176 #, c-format msgid "%s: unable to resolve credential cache: %s" msgstr "" -#: plugins/sudoers/auth/kerb5.c:226 +#: plugins/sudoers/auth/kerb5.c:227 #, c-format msgid "%s: unable to allocate options: %s" msgstr "" -#: plugins/sudoers/auth/kerb5.c:241 +#: plugins/sudoers/auth/kerb5.c:242 #, c-format msgid "%s: unable to get credentials: %s" msgstr "" -#: plugins/sudoers/auth/kerb5.c:254 +#: plugins/sudoers/auth/kerb5.c:255 #, c-format msgid "%s: unable to initialize credential cache: %s" msgstr "" -#: plugins/sudoers/auth/kerb5.c:257 +#: plugins/sudoers/auth/kerb5.c:258 #, c-format msgid "%s: unable to store credential in cache: %s" msgstr "" -#: plugins/sudoers/auth/kerb5.c:322 +#: plugins/sudoers/auth/kerb5.c:324 #, c-format msgid "%s: unable to get host principal: %s" msgstr "" -#: plugins/sudoers/auth/kerb5.c:336 +#: plugins/sudoers/auth/kerb5.c:338 #, c-format msgid "%s: Cannot verify TGT! Possible attack!: %s" msgstr "" @@ -1598,7 +1591,7 @@ msgstr "" msgid "invalid passcode length for SecurID" msgstr "" -#: plugins/sudoers/auth/sia.c:72 plugins/sudoers/auth/sia.c:130 +#: plugins/sudoers/auth/sia.c:72 plugins/sudoers/auth/sia.c:131 msgid "unable to initialize SIA session" msgstr "" @@ -1639,22 +1632,22 @@ msgid "unable to commit audit record" msgstr "" #: plugins/sudoers/check.c:63 plugins/sudoers/check.c:74 -#: plugins/sudoers/lookup.c:79 plugins/sudoers/tsdump.c:119 +#: plugins/sudoers/lookup.c:79 #, c-format msgid "unknown uid %u" msgstr "" -#: plugins/sudoers/check.c:277 +#: plugins/sudoers/check.c:270 #, c-format msgid "error reading lecture file %s" msgstr "" -#: plugins/sudoers/check.c:280 +#: plugins/sudoers/check.c:273 #, c-format msgid "ignoring lecture file %s: not a regular file" msgstr "" -#: plugins/sudoers/check.c:293 +#: plugins/sudoers/check.c:286 msgid "" "\n" "We trust you have received the usual lecture from the local System\n" @@ -1666,7 +1659,7 @@ msgid "" "\n" msgstr "" -#: plugins/sudoers/check.c:301 +#: plugins/sudoers/check.c:294 msgid "" "For security reasons, the password you type will not be visible.\n" "\n" @@ -1753,20 +1746,20 @@ msgstr "" msgid "failed to parse %s file, unknown error" msgstr "" -#: plugins/sudoers/cvtsudoers.c:1508 plugins/sudoers/sudoreplay.c:1143 +#: plugins/sudoers/cvtsudoers.c:1504 plugins/sudoers/sudoreplay.c:1145 #: plugins/sudoers/timestamp.c:353 plugins/sudoers/timestamp.c:356 #, c-format msgid "unable to write to %s" msgstr "" -#: plugins/sudoers/cvtsudoers.c:1536 +#: plugins/sudoers/cvtsudoers.c:1532 #, c-format msgid "" "%s - convert between sudoers file formats\n" "\n" msgstr "" -#: plugins/sudoers/cvtsudoers.c:1538 +#: plugins/sudoers/cvtsudoers.c:1534 msgid "" "\n" "Options:\n" @@ -1789,833 +1782,852 @@ msgid "" msgstr "" #: plugins/sudoers/cvtsudoers_csv.c:192 plugins/sudoers/cvtsudoers_csv.c:199 -#: plugins/sudoers/cvtsudoers_ldif.c:245 plugins/sudoers/cvtsudoers_ldif.c:252 -#: plugins/sudoers/cvtsudoers_ldif.c:594 plugins/sudoers/env.c:340 -#: plugins/sudoers/env.c:347 plugins/sudoers/env.c:458 +#: plugins/sudoers/cvtsudoers_ldif.c:270 plugins/sudoers/cvtsudoers_ldif.c:277 +#: plugins/sudoers/cvtsudoers_ldif.c:628 plugins/sudoers/env.c:357 +#: plugins/sudoers/env.c:364 plugins/sudoers/env.c:475 #: plugins/sudoers/ldap.c:511 plugins/sudoers/ldap.c:629 #: plugins/sudoers/ldap.c:1003 plugins/sudoers/ldap_conf.c:219 -#: plugins/sudoers/ldap_conf.c:310 plugins/sudoers/ldap_util.c:486 -#: plugins/sudoers/linux_audit.c:93 plugins/sudoers/logging.c:479 -#: plugins/sudoers/policy.c:828 plugins/sudoers/policy.c:840 +#: plugins/sudoers/ldap_conf.c:310 plugins/sudoers/ldap_util.c:483 +#: plugins/sudoers/linux_audit.c:93 plugins/sudoers/logging.c:487 +#: plugins/sudoers/policy.c:836 plugins/sudoers/policy.c:848 #: plugins/sudoers/prompt.c:169 plugins/sudoers/serialize_list.c:62 #: plugins/sudoers/serialize_list.c:71 plugins/sudoers/strvec_join.c:62 -#: plugins/sudoers/sudoreplay.c:1340 plugins/sudoers/sudoreplay.c:1346 -#: plugins/sudoers/sudoreplay.c:1352 plugins/sudoers/testsudoers.c:306 -#: plugins/sudoers/toke_util.c:217 toke.l:995 toke.l:1277 +#: plugins/sudoers/sudoreplay.c:1342 plugins/sudoers/sudoreplay.c:1348 +#: plugins/sudoers/sudoreplay.c:1354 plugins/sudoers/testsudoers.c:306 +#: plugins/sudoers/toke_util.c:217 toke.l:975 toke.l:1257 #, c-format msgid "internal error, %s overflow" msgstr "" -#: plugins/sudoers/cvtsudoers_csv.c:454 plugins/sudoers/cvtsudoers_csv.c:468 -#: plugins/sudoers/cvtsudoers_json.c:661 plugins/sudoers/cvtsudoers_json.c:676 -#: plugins/sudoers/cvtsudoers_ldif.c:349 plugins/sudoers/cvtsudoers_ldif.c:362 +#: plugins/sudoers/cvtsudoers_csv.c:481 plugins/sudoers/cvtsudoers_csv.c:495 +#: plugins/sudoers/cvtsudoers_json.c:760 plugins/sudoers/cvtsudoers_json.c:776 +#: plugins/sudoers/cvtsudoers_ldif.c:384 plugins/sudoers/cvtsudoers_ldif.c:398 #: plugins/sudoers/ldap.c:495 msgid "unable to get GMT time" msgstr "" -#: plugins/sudoers/cvtsudoers_csv.c:459 plugins/sudoers/cvtsudoers_csv.c:473 -#: plugins/sudoers/cvtsudoers_json.c:666 plugins/sudoers/cvtsudoers_json.c:681 -#: plugins/sudoers/cvtsudoers_ldif.c:354 plugins/sudoers/cvtsudoers_ldif.c:367 +#: plugins/sudoers/cvtsudoers_csv.c:486 plugins/sudoers/cvtsudoers_csv.c:500 +#: plugins/sudoers/cvtsudoers_json.c:765 plugins/sudoers/cvtsudoers_json.c:781 +#: plugins/sudoers/cvtsudoers_ldif.c:389 plugins/sudoers/cvtsudoers_ldif.c:403 #: plugins/sudoers/ldap.c:503 msgid "unable to format timestamp" msgstr "" -#: plugins/sudoers/cvtsudoers_json.c:481 plugins/sudoers/cvtsudoers_json.c:516 -#: plugins/sudoers/cvtsudoers_json.c:732 +#: plugins/sudoers/cvtsudoers_json.c:547 plugins/sudoers/cvtsudoers_json.c:588 +#: plugins/sudoers/cvtsudoers_json.c:841 #, c-format msgid "%s:%d:%d: unknown defaults entry \"%s\"" msgstr "" -#: plugins/sudoers/cvtsudoers_ldif.c:663 +#: plugins/sudoers/cvtsudoers_ldif.c:116 +#, c-format +msgid "unable to base64 encode value \"%s\"" +msgstr "" + +#: plugins/sudoers/cvtsudoers_ldif.c:595 +#, c-format +msgid "internal error, unable insert user %s" +msgstr "" + +#: plugins/sudoers/cvtsudoers_ldif.c:702 #, c-format msgid "too many sudoers entries, maximum %u" msgstr "" -#: plugins/sudoers/cvtsudoers_ldif.c:706 +#: plugins/sudoers/cvtsudoers_ldif.c:747 msgid "" "the SUDOERS_BASE environment variable is not set and the -b option was not " "specified." msgstr "" -#: plugins/sudoers/cvtsudoers_merge.c:273 -#: plugins/sudoers/cvtsudoers_merge.c:309 +#: plugins/sudoers/cvtsudoers_merge.c:275 +#: plugins/sudoers/cvtsudoers_merge.c:313 #, c-format msgid "%s:%d:%d: converting host list to ALL" msgstr "" -#: plugins/sudoers/cvtsudoers_merge.c:545 +#: plugins/sudoers/cvtsudoers_merge.c:568 #, c-format msgid "unable to find alias %s" msgstr "" -#: plugins/sudoers/cvtsudoers_merge.c:548 +#: plugins/sudoers/cvtsudoers_merge.c:572 #, c-format msgid "%s:%d:%d: renaming alias %s to %s" msgstr "" -#: plugins/sudoers/cvtsudoers_merge.c:605 +#: plugins/sudoers/cvtsudoers_merge.c:634 #, c-format msgid "%s:%d:%d: removing duplicate alias %s" msgstr "" -#: plugins/sudoers/cvtsudoers_merge.c:830 +#: plugins/sudoers/cvtsudoers_merge.c:868 #, c-format msgid "%s:%d:%d: conflicting Defaults entry \"%s\" host-specific in %s:%d:%d" msgstr "" -#: plugins/sudoers/cvtsudoers_merge.c:864 +#: plugins/sudoers/cvtsudoers_merge.c:904 #, c-format msgid "%s:%d:%d: made Defaults \"%s\" specific to host %s" msgstr "" -#: plugins/sudoers/cvtsudoers_merge.c:882 +#: plugins/sudoers/cvtsudoers_merge.c:922 #, c-format msgid "%s:%d:%d: unable to make Defaults \"%s\" host-specific" msgstr "" -#: plugins/sudoers/cvtsudoers_merge.c:892 +#: plugins/sudoers/cvtsudoers_merge.c:932 #, c-format msgid "%s:%d:%d: removing Defaults \"%s\" overridden by subsequent entries" msgstr "" -#: plugins/sudoers/cvtsudoers_merge.c:1088 +#: plugins/sudoers/cvtsudoers_merge.c:1128 #, c-format msgid "%s:%d:%d: merging userspec into %s:%d:%d" msgstr "" -#: plugins/sudoers/cvtsudoers_merge.c:1182 +#: plugins/sudoers/cvtsudoers_merge.c:1224 #, c-format msgid "%s:%d:%d: removing userspec overridden by subsequent entries" msgstr "" -#: plugins/sudoers/def_data.c:56 +#: plugins/sudoers/def_data.c:58 #, c-format msgid "Syslog facility if syslog is being used for logging: %s" msgstr "" -#: plugins/sudoers/def_data.c:60 +#: plugins/sudoers/def_data.c:62 #, c-format msgid "Syslog priority to use when user authenticates successfully: %s" msgstr "" -#: plugins/sudoers/def_data.c:64 +#: plugins/sudoers/def_data.c:66 #, c-format msgid "Syslog priority to use when user authenticates unsuccessfully: %s" msgstr "" -#: plugins/sudoers/def_data.c:68 +#: plugins/sudoers/def_data.c:70 msgid "Put OTP prompt on its own line" msgstr "" -#: plugins/sudoers/def_data.c:72 +#: plugins/sudoers/def_data.c:74 msgid "Ignore '.' in $PATH" msgstr "" -#: plugins/sudoers/def_data.c:76 +#: plugins/sudoers/def_data.c:78 msgid "Always send mail when sudo is run" msgstr "" -#: plugins/sudoers/def_data.c:80 +#: plugins/sudoers/def_data.c:82 msgid "Send mail if user authentication fails" msgstr "" -#: plugins/sudoers/def_data.c:84 +#: plugins/sudoers/def_data.c:86 msgid "Send mail if the user is not in sudoers" msgstr "" -#: plugins/sudoers/def_data.c:88 +#: plugins/sudoers/def_data.c:90 msgid "Send mail if the user is not in sudoers for this host" msgstr "" -#: plugins/sudoers/def_data.c:92 +#: plugins/sudoers/def_data.c:94 msgid "Send mail if the user is not allowed to run a command" msgstr "" -#: plugins/sudoers/def_data.c:96 +#: plugins/sudoers/def_data.c:98 msgid "Send mail if the user tries to run a command" msgstr "" -#: plugins/sudoers/def_data.c:100 +#: plugins/sudoers/def_data.c:102 msgid "Use a separate timestamp for each user/tty combo" msgstr "" -#: plugins/sudoers/def_data.c:104 +#: plugins/sudoers/def_data.c:106 msgid "Lecture user the first time they run sudo" msgstr "" -#: plugins/sudoers/def_data.c:108 +#: plugins/sudoers/def_data.c:110 #, c-format msgid "File containing the sudo lecture: %s" msgstr "" -#: plugins/sudoers/def_data.c:112 +#: plugins/sudoers/def_data.c:114 msgid "Require users to authenticate by default" msgstr "" -#: plugins/sudoers/def_data.c:116 +#: plugins/sudoers/def_data.c:118 msgid "Root may run sudo" msgstr "" -#: plugins/sudoers/def_data.c:120 +#: plugins/sudoers/def_data.c:122 msgid "Log the hostname in the (non-syslog) log file" msgstr "" -#: plugins/sudoers/def_data.c:124 +#: plugins/sudoers/def_data.c:126 msgid "Log the year in the (non-syslog) log file" msgstr "" -#: plugins/sudoers/def_data.c:128 +#: plugins/sudoers/def_data.c:130 msgid "If sudo is invoked with no arguments, start a shell" msgstr "" -#: plugins/sudoers/def_data.c:132 +#: plugins/sudoers/def_data.c:134 msgid "Set $HOME to the target user when starting a shell with -s" msgstr "" -#: plugins/sudoers/def_data.c:136 +#: plugins/sudoers/def_data.c:138 msgid "Always set $HOME to the target user's home directory" msgstr "" -#: plugins/sudoers/def_data.c:140 +#: plugins/sudoers/def_data.c:142 msgid "Allow some information gathering to give useful error messages" msgstr "" -#: plugins/sudoers/def_data.c:144 +#: plugins/sudoers/def_data.c:146 msgid "Require fully-qualified hostnames in the sudoers file" msgstr "" -#: plugins/sudoers/def_data.c:148 +#: plugins/sudoers/def_data.c:150 msgid "Insult the user when they enter an incorrect password" msgstr "" -#: plugins/sudoers/def_data.c:152 +#: plugins/sudoers/def_data.c:154 msgid "Only allow the user to run sudo if they have a tty" msgstr "" -#: plugins/sudoers/def_data.c:156 +#: plugins/sudoers/def_data.c:158 msgid "Visudo will honor the EDITOR environment variable" msgstr "" -#: plugins/sudoers/def_data.c:160 -msgid "Prompt for root's password, not the users's" +#: plugins/sudoers/def_data.c:162 +msgid "Prompt for root's password, not the user's" msgstr "" -#: plugins/sudoers/def_data.c:164 -msgid "Prompt for the runas_default user's password, not the users's" +#: plugins/sudoers/def_data.c:166 +msgid "Prompt for the runas_default user's password, not the user's" msgstr "" -#: plugins/sudoers/def_data.c:168 -msgid "Prompt for the target user's password, not the users's" +#: plugins/sudoers/def_data.c:170 +msgid "Prompt for the target user's password, not the user's" msgstr "" -#: plugins/sudoers/def_data.c:172 +#: plugins/sudoers/def_data.c:174 msgid "Apply defaults in the target user's login class if there is one" msgstr "" -#: plugins/sudoers/def_data.c:176 +#: plugins/sudoers/def_data.c:178 msgid "Set the LOGNAME and USER environment variables" msgstr "" -#: plugins/sudoers/def_data.c:180 +#: plugins/sudoers/def_data.c:182 msgid "Only set the effective uid to the target user, not the real uid" msgstr "" -#: plugins/sudoers/def_data.c:184 +#: plugins/sudoers/def_data.c:186 msgid "Don't initialize the group vector to that of the target user" msgstr "" -#: plugins/sudoers/def_data.c:188 +#: plugins/sudoers/def_data.c:190 #, c-format msgid "Length at which to wrap log file lines (0 for no wrap): %u" msgstr "" -#: plugins/sudoers/def_data.c:192 +#: plugins/sudoers/def_data.c:194 #, c-format msgid "Authentication timestamp timeout: %.1f minutes" msgstr "" -#: plugins/sudoers/def_data.c:196 +#: plugins/sudoers/def_data.c:198 #, c-format msgid "Password prompt timeout: %.1f minutes" msgstr "" -#: plugins/sudoers/def_data.c:200 +#: plugins/sudoers/def_data.c:202 #, c-format msgid "Number of tries to enter a password: %u" msgstr "" -#: plugins/sudoers/def_data.c:204 +#: plugins/sudoers/def_data.c:206 #, c-format msgid "Umask to use or 0777 to use user's: 0%o" msgstr "" -#: plugins/sudoers/def_data.c:208 +#: plugins/sudoers/def_data.c:210 #, c-format msgid "Path to log file: %s" msgstr "" -#: plugins/sudoers/def_data.c:212 +#: plugins/sudoers/def_data.c:214 #, c-format msgid "Path to mail program: %s" msgstr "" -#: plugins/sudoers/def_data.c:216 +#: plugins/sudoers/def_data.c:218 #, c-format msgid "Flags for mail program: %s" msgstr "" -#: plugins/sudoers/def_data.c:220 +#: plugins/sudoers/def_data.c:222 #, c-format msgid "Address to send mail to: %s" msgstr "" -#: plugins/sudoers/def_data.c:224 +#: plugins/sudoers/def_data.c:226 #, c-format msgid "Address to send mail from: %s" msgstr "" -#: plugins/sudoers/def_data.c:228 +#: plugins/sudoers/def_data.c:230 #, c-format msgid "Subject line for mail messages: %s" msgstr "" -#: plugins/sudoers/def_data.c:232 +#: plugins/sudoers/def_data.c:234 #, c-format msgid "Incorrect password message: %s" msgstr "" -#: plugins/sudoers/def_data.c:236 +#: plugins/sudoers/def_data.c:238 #, c-format msgid "Path to lecture status dir: %s" msgstr "" -#: plugins/sudoers/def_data.c:240 +#: plugins/sudoers/def_data.c:242 #, c-format msgid "Path to authentication timestamp dir: %s" msgstr "" -#: plugins/sudoers/def_data.c:244 +#: plugins/sudoers/def_data.c:246 #, c-format msgid "Owner of the authentication timestamp dir: %s" msgstr "" -#: plugins/sudoers/def_data.c:248 +#: plugins/sudoers/def_data.c:250 #, c-format msgid "Users in this group are exempt from password and PATH requirements: %s" msgstr "" -#: plugins/sudoers/def_data.c:252 +#: plugins/sudoers/def_data.c:254 #, c-format msgid "Default password prompt: %s" msgstr "" -#: plugins/sudoers/def_data.c:256 +#: plugins/sudoers/def_data.c:258 msgid "If set, passprompt will override system prompt in all cases." msgstr "" -#: plugins/sudoers/def_data.c:260 +#: plugins/sudoers/def_data.c:262 #, c-format msgid "Default user to run commands as: %s" msgstr "" -#: plugins/sudoers/def_data.c:264 +#: plugins/sudoers/def_data.c:266 #, c-format msgid "Value to override user's $PATH with: %s" msgstr "" -#: plugins/sudoers/def_data.c:268 +#: plugins/sudoers/def_data.c:270 #, c-format msgid "Path to the editor for use by visudo: %s" msgstr "" -#: plugins/sudoers/def_data.c:272 +#: plugins/sudoers/def_data.c:274 #, c-format msgid "When to require a password for 'list' pseudocommand: %s" msgstr "" -#: plugins/sudoers/def_data.c:276 +#: plugins/sudoers/def_data.c:278 #, c-format msgid "When to require a password for 'verify' pseudocommand: %s" msgstr "" -#: plugins/sudoers/def_data.c:280 +#: plugins/sudoers/def_data.c:282 msgid "Preload the sudo_noexec library which replaces the exec functions" msgstr "" -#: plugins/sudoers/def_data.c:284 +#: plugins/sudoers/def_data.c:286 msgid "If LDAP directory is up, do we ignore local sudoers file" msgstr "" -#: plugins/sudoers/def_data.c:288 +#: plugins/sudoers/def_data.c:290 #, c-format msgid "File descriptors >= %d will be closed before executing a command" msgstr "" -#: plugins/sudoers/def_data.c:292 +#: plugins/sudoers/def_data.c:294 msgid "" "If set, users may override the value of \"closefrom\" with the -C option" msgstr "" -#: plugins/sudoers/def_data.c:296 +#: plugins/sudoers/def_data.c:298 msgid "Allow users to set arbitrary environment variables" msgstr "" -#: plugins/sudoers/def_data.c:300 +#: plugins/sudoers/def_data.c:302 msgid "Reset the environment to a default set of variables" msgstr "" -#: plugins/sudoers/def_data.c:304 +#: plugins/sudoers/def_data.c:306 msgid "Environment variables to check for safety:" msgstr "" -#: plugins/sudoers/def_data.c:308 +#: plugins/sudoers/def_data.c:310 msgid "Environment variables to remove:" msgstr "" -#: plugins/sudoers/def_data.c:312 +#: plugins/sudoers/def_data.c:314 msgid "Environment variables to preserve:" msgstr "" -#: plugins/sudoers/def_data.c:316 +#: plugins/sudoers/def_data.c:318 #, c-format msgid "SELinux role to use in the new security context: %s" msgstr "" -#: plugins/sudoers/def_data.c:320 +#: plugins/sudoers/def_data.c:322 #, c-format msgid "SELinux type to use in the new security context: %s" msgstr "" -#: plugins/sudoers/def_data.c:324 +#: plugins/sudoers/def_data.c:326 #, c-format msgid "Path to the sudo-specific environment file: %s" msgstr "" -#: plugins/sudoers/def_data.c:328 +#: plugins/sudoers/def_data.c:330 #, c-format msgid "Path to the restricted sudo-specific environment file: %s" msgstr "" -#: plugins/sudoers/def_data.c:332 +#: plugins/sudoers/def_data.c:334 #, c-format msgid "Locale to use while parsing sudoers: %s" msgstr "" -#: plugins/sudoers/def_data.c:336 +#: plugins/sudoers/def_data.c:338 msgid "Allow sudo to prompt for a password even if it would be visible" msgstr "" -#: plugins/sudoers/def_data.c:340 +#: plugins/sudoers/def_data.c:342 msgid "Provide visual feedback at the password prompt when there is user input" msgstr "" -#: plugins/sudoers/def_data.c:344 +#: plugins/sudoers/def_data.c:346 msgid "" "Use faster globbing that is less accurate but does not access the filesystem" msgstr "" -#: plugins/sudoers/def_data.c:348 +#: plugins/sudoers/def_data.c:350 msgid "" "The umask specified in sudoers will override the user's, even if it is more " "permissive" msgstr "" -#: plugins/sudoers/def_data.c:352 +#: plugins/sudoers/def_data.c:354 msgid "Log user's input for the command being run" msgstr "" -#: plugins/sudoers/def_data.c:356 +#: plugins/sudoers/def_data.c:358 msgid "Log the command's standard input if not connected to a terminal" msgstr "" -#: plugins/sudoers/def_data.c:360 +#: plugins/sudoers/def_data.c:362 msgid "Log the user's terminal input for the command being run" msgstr "" -#: plugins/sudoers/def_data.c:364 +#: plugins/sudoers/def_data.c:366 msgid "Log the output of the command being run" msgstr "" -#: plugins/sudoers/def_data.c:368 +#: plugins/sudoers/def_data.c:370 msgid "Log the command's standard output if not connected to a terminal" msgstr "" -#: plugins/sudoers/def_data.c:372 +#: plugins/sudoers/def_data.c:374 msgid "Log the command's standard error if not connected to a terminal" msgstr "" -#: plugins/sudoers/def_data.c:376 +#: plugins/sudoers/def_data.c:378 msgid "Log the terminal output of the command being run" msgstr "" -#: plugins/sudoers/def_data.c:380 +#: plugins/sudoers/def_data.c:382 msgid "Compress I/O logs using zlib" msgstr "" -#: plugins/sudoers/def_data.c:384 +#: plugins/sudoers/def_data.c:386 msgid "Always run commands in a pseudo-tty" msgstr "" -#: plugins/sudoers/def_data.c:388 +#: plugins/sudoers/def_data.c:390 #, c-format msgid "Plugin for non-Unix group support: %s" msgstr "" -#: plugins/sudoers/def_data.c:392 +#: plugins/sudoers/def_data.c:394 #, c-format msgid "Directory in which to store input/output logs: %s" msgstr "" -#: plugins/sudoers/def_data.c:396 +#: plugins/sudoers/def_data.c:398 #, c-format msgid "File in which to store the input/output log: %s" msgstr "" -#: plugins/sudoers/def_data.c:400 +#: plugins/sudoers/def_data.c:402 msgid "Add an entry to the utmp/utmpx file when allocating a pty" msgstr "" -#: plugins/sudoers/def_data.c:404 +#: plugins/sudoers/def_data.c:406 msgid "Set the user in utmp to the runas user, not the invoking user" msgstr "" -#: plugins/sudoers/def_data.c:408 +#: plugins/sudoers/def_data.c:410 #, c-format msgid "Set of permitted privileges: %s" msgstr "" -#: plugins/sudoers/def_data.c:412 +#: plugins/sudoers/def_data.c:414 #, c-format msgid "Set of limit privileges: %s" msgstr "" -#: plugins/sudoers/def_data.c:416 +#: plugins/sudoers/def_data.c:418 msgid "Run commands on a pty in the background" msgstr "" -#: plugins/sudoers/def_data.c:420 +#: plugins/sudoers/def_data.c:422 #, c-format msgid "PAM service name to use: %s" msgstr "" -#: plugins/sudoers/def_data.c:424 +#: plugins/sudoers/def_data.c:426 #, c-format msgid "PAM service name to use for login shells: %s" msgstr "" -#: plugins/sudoers/def_data.c:428 +#: plugins/sudoers/def_data.c:430 #, c-format msgid "PAM service name to use when sudo is run with the -A option: %s" msgstr "" -#: plugins/sudoers/def_data.c:432 +#: plugins/sudoers/def_data.c:434 msgid "Attempt to establish PAM credentials for the target user" msgstr "" -#: plugins/sudoers/def_data.c:436 +#: plugins/sudoers/def_data.c:438 msgid "Create a new PAM session for the command to run in" msgstr "" -#: plugins/sudoers/def_data.c:440 +#: plugins/sudoers/def_data.c:442 msgid "Perform PAM account validation management" msgstr "" -#: plugins/sudoers/def_data.c:444 +#: plugins/sudoers/def_data.c:446 +msgid "Do not allow PAM authentication modules to generate output" +msgstr "" + +#: plugins/sudoers/def_data.c:450 #, c-format msgid "Maximum I/O log sequence number: %s" msgstr "" -#: plugins/sudoers/def_data.c:448 +#: plugins/sudoers/def_data.c:454 msgid "Enable sudoers netgroup support" msgstr "" -#: plugins/sudoers/def_data.c:452 +#: plugins/sudoers/def_data.c:458 msgid "" "Check parent directories for writability when editing files with sudoedit" msgstr "" -#: plugins/sudoers/def_data.c:456 +#: plugins/sudoers/def_data.c:462 msgid "Follow symbolic links when editing files with sudoedit" msgstr "" -#: plugins/sudoers/def_data.c:460 +#: plugins/sudoers/def_data.c:466 msgid "Query the group plugin for unknown system groups" msgstr "" -#: plugins/sudoers/def_data.c:464 +#: plugins/sudoers/def_data.c:470 msgid "Match netgroups based on the entire tuple: user, host and domain" msgstr "" -#: plugins/sudoers/def_data.c:468 +#: plugins/sudoers/def_data.c:474 msgid "Allow commands to be run even if sudo cannot write to the audit log" msgstr "" -#: plugins/sudoers/def_data.c:472 +#: plugins/sudoers/def_data.c:478 msgid "Allow commands to be run even if sudo cannot write to the I/O log" msgstr "" -#: plugins/sudoers/def_data.c:476 +#: plugins/sudoers/def_data.c:482 msgid "Allow commands to be run even if sudo cannot write to the log file" msgstr "" -#: plugins/sudoers/def_data.c:480 +#: plugins/sudoers/def_data.c:486 msgid "Resolve groups in sudoers and match on the group ID, not the name" msgstr "" -#: plugins/sudoers/def_data.c:484 +#: plugins/sudoers/def_data.c:490 #, c-format msgid "" "Log entries larger than this value will be split into multiple syslog " "messages: %u" msgstr "" -#: plugins/sudoers/def_data.c:488 +#: plugins/sudoers/def_data.c:494 #, c-format msgid "User that will own the I/O log files: %s" msgstr "" -#: plugins/sudoers/def_data.c:492 +#: plugins/sudoers/def_data.c:498 #, c-format msgid "Group that will own the I/O log files: %s" msgstr "" -#: plugins/sudoers/def_data.c:496 +#: plugins/sudoers/def_data.c:502 #, c-format msgid "File mode to use for the I/O log files: 0%o" msgstr "" -#: plugins/sudoers/def_data.c:500 +#: plugins/sudoers/def_data.c:506 #, c-format msgid "Execute commands by file descriptor instead of by path: %s" msgstr "" -#: plugins/sudoers/def_data.c:504 +#: plugins/sudoers/def_data.c:510 msgid "" "Ignore unknown Defaults entries in sudoers instead of producing a warning" msgstr "" -#: plugins/sudoers/def_data.c:508 +#: plugins/sudoers/def_data.c:514 #, c-format msgid "Time in seconds after which the command will be terminated: %u" msgstr "" -#: plugins/sudoers/def_data.c:512 +#: plugins/sudoers/def_data.c:518 msgid "Allow the user to specify a timeout on the command line" msgstr "" -#: plugins/sudoers/def_data.c:516 +#: plugins/sudoers/def_data.c:522 msgid "Flush I/O log data to disk immediately instead of buffering it" msgstr "" -#: plugins/sudoers/def_data.c:520 +#: plugins/sudoers/def_data.c:526 msgid "Include the process ID when logging via syslog" msgstr "" -#: plugins/sudoers/def_data.c:524 +#: plugins/sudoers/def_data.c:530 #, c-format msgid "Type of authentication timestamp record: %s" msgstr "" -#: plugins/sudoers/def_data.c:528 +#: plugins/sudoers/def_data.c:534 #, c-format msgid "Authentication failure message: %s" msgstr "" -#: plugins/sudoers/def_data.c:532 +#: plugins/sudoers/def_data.c:538 msgid "Ignore case when matching user names" msgstr "" -#: plugins/sudoers/def_data.c:536 +#: plugins/sudoers/def_data.c:542 msgid "Ignore case when matching group names" msgstr "" -#: plugins/sudoers/def_data.c:540 +#: plugins/sudoers/def_data.c:546 msgid "Log when a command is allowed by sudoers" msgstr "" -#: plugins/sudoers/def_data.c:544 +#: plugins/sudoers/def_data.c:550 msgid "Log when a command is denied by sudoers" msgstr "" -#: plugins/sudoers/def_data.c:548 +#: plugins/sudoers/def_data.c:554 msgid "Sudo log server(s) to connect to with optional port" msgstr "" -#: plugins/sudoers/def_data.c:552 +#: plugins/sudoers/def_data.c:558 #, c-format msgid "Sudo log server timeout in seconds: %u" msgstr "" -#: plugins/sudoers/def_data.c:556 +#: plugins/sudoers/def_data.c:562 msgid "" "Enable SO_KEEPALIVE socket option on the socket connected to the logserver" msgstr "" -#: plugins/sudoers/def_data.c:560 +#: plugins/sudoers/def_data.c:566 #, c-format msgid "Path to the audit server's CA bundle file: %s" msgstr "" -#: plugins/sudoers/def_data.c:564 +#: plugins/sudoers/def_data.c:570 #, c-format msgid "Path to the sudoers certificate file: %s" msgstr "" -#: plugins/sudoers/def_data.c:568 +#: plugins/sudoers/def_data.c:574 #, c-format msgid "Path to the sudoers private key file: %s" msgstr "" -#: plugins/sudoers/def_data.c:572 +#: plugins/sudoers/def_data.c:578 msgid "Verify that the log server's certificate is valid" msgstr "" -#: plugins/sudoers/def_data.c:576 +#: plugins/sudoers/def_data.c:582 msgid "Allow the use of unknown runas user and/or group ID" msgstr "" -#: plugins/sudoers/def_data.c:580 +#: plugins/sudoers/def_data.c:586 msgid "Only permit running commands as a user with a valid shell" msgstr "" -#: plugins/sudoers/def_data.c:584 +#: plugins/sudoers/def_data.c:590 msgid "Set the pam remote user to the user running sudo" msgstr "" -#: plugins/sudoers/def_data.c:588 +#: plugins/sudoers/def_data.c:594 msgid "Set the pam remote host to the local host name" msgstr "" -#: plugins/sudoers/def_data.c:592 +#: plugins/sudoers/def_data.c:598 #, c-format msgid "Working directory to change to before executing the command: %s" msgstr "" -#: plugins/sudoers/def_data.c:596 +#: plugins/sudoers/def_data.c:602 #, c-format msgid "Root directory to change to before executing the command: %s" msgstr "" -#: plugins/sudoers/def_data.c:600 +#: plugins/sudoers/def_data.c:606 #, c-format msgid "The format of logs to produce: %s" msgstr "" -#: plugins/sudoers/def_data.c:604 +#: plugins/sudoers/def_data.c:610 msgid "Enable SELinux RBAC support" msgstr "" -#: plugins/sudoers/def_data.c:608 +#: plugins/sudoers/def_data.c:614 #, c-format msgid "Path to the file that is created the first time sudo is run: %s" msgstr "" -#: plugins/sudoers/def_data.c:612 +#: plugins/sudoers/def_data.c:618 msgid "Intercept further commands and apply sudoers restrictions to them" msgstr "" -#: plugins/sudoers/def_data.c:616 +#: plugins/sudoers/def_data.c:622 msgid "Log sub-commands run by the original command" msgstr "" -#: plugins/sudoers/def_data.c:620 +#: plugins/sudoers/def_data.c:626 msgid "Log the exit status of commands" msgstr "" -#: plugins/sudoers/def_data.c:624 +#: plugins/sudoers/def_data.c:630 msgid "Subsequent commands in an intercepted session must be authenticated" msgstr "" -#: plugins/sudoers/def_data.c:628 +#: plugins/sudoers/def_data.c:634 msgid "Allow an intercepted command to run set setuid or setgid programs" msgstr "" -#: plugins/sudoers/def_data.c:632 +#: plugins/sudoers/def_data.c:638 #, c-format msgid "" "The maximum size to which the process's address space may grow (in bytes): %s" msgstr "" -#: plugins/sudoers/def_data.c:636 +#: plugins/sudoers/def_data.c:642 #, c-format msgid "The largest size core dump file that may be created (in bytes): %s" msgstr "" -#: plugins/sudoers/def_data.c:640 +#: plugins/sudoers/def_data.c:646 #, c-format msgid "" "The maximum amount of CPU time that the process may use (in seconds): %s" msgstr "" -#: plugins/sudoers/def_data.c:644 +#: plugins/sudoers/def_data.c:650 #, c-format msgid "The maximum size of the data segment for the process (in bytes): %s" msgstr "" -#: plugins/sudoers/def_data.c:648 +#: plugins/sudoers/def_data.c:654 #, c-format msgid "The largest size file that the process may create (in bytes): %s" msgstr "" -#: plugins/sudoers/def_data.c:652 +#: plugins/sudoers/def_data.c:658 #, c-format msgid "The maximum number of locks that the process may establish: %s" msgstr "" -#: plugins/sudoers/def_data.c:656 +#: plugins/sudoers/def_data.c:662 #, c-format msgid "The maximum size that the process may lock in memory (in bytes): %s" msgstr "" -#: plugins/sudoers/def_data.c:660 +#: plugins/sudoers/def_data.c:666 #, c-format msgid "The maximum number of files that the process may have open: %s" msgstr "" -#: plugins/sudoers/def_data.c:664 +#: plugins/sudoers/def_data.c:670 #, c-format msgid "" "The maximum number of processes that the user may run simultaneously: %s" msgstr "" -#: plugins/sudoers/def_data.c:668 +#: plugins/sudoers/def_data.c:674 #, 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:672 +#: plugins/sudoers/def_data.c:678 #, c-format msgid "The maximum size to which the process's stack may grow (in bytes): %s" msgstr "" -#: plugins/sudoers/def_data.c:676 +#: plugins/sudoers/def_data.c:682 msgid "Attempt authentication even when in non-interactive mode" msgstr "" -#: plugins/sudoers/def_data.c:680 +#: plugins/sudoers/def_data.c:686 msgid "Store plaintext passwords in I/O log input" msgstr "" -#: plugins/sudoers/def_data.c:684 +#: plugins/sudoers/def_data.c:690 msgid "List of regular expressions to use when matching a password prompt" msgstr "" -#: plugins/sudoers/def_data.c:688 +#: plugins/sudoers/def_data.c:694 #, c-format msgid "The mechanism used by the intercept and log_subcmds options: %s" msgstr "" -#: plugins/sudoers/def_data.c:692 +#: plugins/sudoers/def_data.c:698 msgid "Attempt to verify the command and arguments after execution" msgstr "" -#: plugins/sudoers/def_data.c:696 +#: plugins/sudoers/def_data.c:702 #, c-format msgid "AppArmor profile to use in the new security context: %s" msgstr "" +#: plugins/sudoers/def_data.c:706 +#, c-format +msgid "Command denial message: %s" +msgstr "" + #: plugins/sudoers/defaults.c:207 #, c-format msgid "unknown defaults entry \"%s\"" @@ -2646,64 +2658,64 @@ msgstr "" msgid "value \"%s\" is invalid for option \"%s\"" msgstr "" -#: plugins/sudoers/defaults.c:1176 plugins/sudoers/policy.c:213 -#: plugins/sudoers/policy.c:222 +#: plugins/sudoers/defaults.c:1189 plugins/sudoers/policy.c:208 +#: plugins/sudoers/policy.c:217 #, c-format msgid "path name for \"%s\" too long" msgstr "" -#: plugins/sudoers/defaults.c:1182 +#: plugins/sudoers/defaults.c:1195 #, c-format msgid "values for \"%s\" must start with a '/', '~', or '*'" msgstr "" -#: plugins/sudoers/defaults.c:1189 +#: plugins/sudoers/defaults.c:1202 #, c-format msgid "values for \"%s\" must start with a '/'" msgstr "" -#: plugins/sudoers/display.c:160 +#: plugins/sudoers/display.c:154 #, c-format msgid "LDAP Role: %s\n" msgstr "" -#: plugins/sudoers/display.c:163 +#: plugins/sudoers/display.c:157 #, c-format msgid "Sudoers entry: %s\n" msgstr "" -#: plugins/sudoers/display.c:166 +#: plugins/sudoers/display.c:160 msgid " RunAsUsers: " msgstr "" -#: plugins/sudoers/display.c:181 +#: plugins/sudoers/display.c:175 msgid " RunAsGroups: " msgstr "" -#: plugins/sudoers/display.c:191 +#: plugins/sudoers/display.c:185 msgid " Options: " msgstr "" -#: plugins/sudoers/display.c:255 +#: plugins/sudoers/display.c:249 msgid " Commands:\n" msgstr "" -#: plugins/sudoers/display.c:478 +#: plugins/sudoers/display.c:472 #, c-format msgid "Matching Defaults entries for %s on %s:\n" msgstr "" -#: plugins/sudoers/display.c:496 +#: plugins/sudoers/display.c:490 #, c-format msgid "Runas and Command-specific defaults for %s:\n" msgstr "" -#: plugins/sudoers/display.c:514 +#: plugins/sudoers/display.c:508 #, c-format msgid "User %s may run the following commands on %s:\n" msgstr "" -#: plugins/sudoers/display.c:530 +#: plugins/sudoers/display.c:524 #, c-format msgid "User %s is not allowed to run sudo on %s.\n" msgstr "" @@ -2717,15 +2729,15 @@ msgstr "" msgid "editor arguments may not contain \"--\"" msgstr "" -#: plugins/sudoers/env.c:426 +#: plugins/sudoers/env.c:443 msgid "sudo_putenv: corrupted envp, length mismatch" msgstr "" -#: plugins/sudoers/env.c:1119 +#: plugins/sudoers/env.c:1137 msgid "unable to rebuild the environment" msgstr "" -#: plugins/sudoers/env.c:1199 +#: plugins/sudoers/env.c:1217 #, c-format msgid "" "sorry, you are not allowed to set the following environment variables: %s" @@ -2770,37 +2782,37 @@ msgstr "" msgid "Local IP address and netmask pairs:\n" msgstr "" -#: plugins/sudoers/iolog.c:694 +#: plugins/sudoers/iolog.c:702 msgid "unable to update sequence file" msgstr "" -#: plugins/sudoers/iolog.c:728 plugins/sudoers/iolog.c:917 -#: plugins/sudoers/iolog.c:1080 plugins/sudoers/iolog.c:1087 -#: plugins/sudoers/iolog.c:1209 plugins/sudoers/iolog.c:1216 -#: plugins/sudoers/iolog.c:1316 plugins/sudoers/iolog.c:1323 +#: plugins/sudoers/iolog.c:736 plugins/sudoers/iolog.c:925 +#: plugins/sudoers/iolog.c:1088 plugins/sudoers/iolog.c:1095 +#: plugins/sudoers/iolog.c:1217 plugins/sudoers/iolog.c:1224 +#: plugins/sudoers/iolog.c:1324 plugins/sudoers/iolog.c:1331 #, c-format msgid "unable to write to I/O log file: %s" msgstr "" -#: plugins/sudoers/iolog.c:736 +#: plugins/sudoers/iolog.c:744 #, c-format msgid "unable to create %s/%s" msgstr "" -#: plugins/sudoers/iolog.c:965 +#: plugins/sudoers/iolog.c:973 #, c-format msgid "%s: internal error, I/O log file for event %d not open" msgstr "" -#: plugins/sudoers/iolog.c:1065 plugins/sudoers/iolog.c:1194 -#: plugins/sudoers/iolog.c:1300 plugins/sudoers/timestamp.c:897 -#: plugins/sudoers/timestamp.c:989 plugins/sudoers/visudo.c:555 +#: plugins/sudoers/iolog.c:1073 plugins/sudoers/iolog.c:1202 +#: plugins/sudoers/iolog.c:1308 plugins/sudoers/timestamp.c:900 +#: plugins/sudoers/timestamp.c:992 plugins/sudoers/visudo.c:555 #: plugins/sudoers/visudo.c:561 msgid "unable to read the clock" msgstr "" -#: plugins/sudoers/iolog.c:1292 plugins/sudoers/log_client.c:1203 -#: plugins/sudoers/log_client.c:1213 plugins/sudoers/log_client.c:1217 +#: plugins/sudoers/iolog.c:1300 plugins/sudoers/log_client.c:1226 +#: plugins/sudoers/log_client.c:1236 plugins/sudoers/log_client.c:1240 #, c-format msgid "%s: internal error, invalid signal %d" msgstr "" @@ -2849,15 +2861,15 @@ msgstr "" msgid "unable to mix ldap and ldaps URIs" msgstr "" -#: 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 +#: plugins/sudoers/ldap_util.c:496 plugins/sudoers/ldap_util.c:503 +#: plugins/sudoers/ldap_util.c:511 plugins/sudoers/ldap_util.c:519 +#: plugins/sudoers/ldap_util.c:527 plugins/sudoers/ldap_util.c:535 +#: plugins/sudoers/ldap_util.c:543 plugins/sudoers/ldap_util.c:551 #, c-format msgid "duplicate sudoOption: %s%s%s" msgstr "" -#: plugins/sudoers/ldap_util.c:568 plugins/sudoers/ldap_util.c:570 +#: plugins/sudoers/ldap_util.c:569 plugins/sudoers/ldap_util.c:571 #, c-format msgid "unable to convert sudoOption: %s%s%s" msgstr "" @@ -2870,63 +2882,63 @@ msgstr "" msgid "unable to send audit message" msgstr "" -#: plugins/sudoers/log_client.c:125 plugins/sudoers/log_client.c:412 -#: plugins/sudoers/log_client.c:1450 plugins/sudoers/log_client.c:2076 +#: plugins/sudoers/log_client.c:125 plugins/sudoers/log_client.c:421 +#: plugins/sudoers/log_client.c:1473 plugins/sudoers/log_client.c:2101 msgid "error in event loop" msgstr "" -#: plugins/sudoers/log_client.c:205 +#: plugins/sudoers/log_client.c:214 #, c-format msgid "Creation of new SSL_CTX object failed: %s" msgstr "" -#: plugins/sudoers/log_client.c:230 +#: plugins/sudoers/log_client.c:239 #, c-format msgid "unable to load certificate authority bundle %s" msgstr "" -#: plugins/sudoers/log_client.c:252 +#: plugins/sudoers/log_client.c:261 #, c-format msgid "unable to load certificate %s" msgstr "" -#: plugins/sudoers/log_client.c:266 +#: plugins/sudoers/log_client.c:275 #, c-format msgid "unable to load private key %s" msgstr "" -#: plugins/sudoers/log_client.c:275 +#: plugins/sudoers/log_client.c:284 #, c-format msgid "Unable to allocate ssl object: %s" msgstr "" -#: plugins/sudoers/log_client.c:364 plugins/sudoers/log_client.c:369 +#: plugins/sudoers/log_client.c:373 plugins/sudoers/log_client.c:378 #, c-format msgid "TLS connection to %s:%s failed: %s" msgstr "" -#: plugins/sudoers/log_client.c:545 +#: plugins/sudoers/log_client.c:554 msgid "TLS initialization was unsuccessful" msgstr "" -#: plugins/sudoers/log_client.c:555 +#: plugins/sudoers/log_client.c:564 msgid "TLS handshake was unsuccessful" msgstr "" -#: plugins/sudoers/log_client.c:1221 +#: plugins/sudoers/log_client.c:1244 #, c-format msgid "%s: internal error, invalid exit status %d" msgstr "" -#: plugins/sudoers/log_client.c:1757 plugins/sudoers/log_client.c:1782 +#: plugins/sudoers/log_client.c:1780 plugins/sudoers/log_client.c:1805 msgid "lost connection to log server" msgstr "" -#: plugins/sudoers/log_client.c:1859 +#: plugins/sudoers/log_client.c:1882 msgid "missing write buffer" msgstr "" -#: plugins/sudoers/log_client.c:2015 +#: plugins/sudoers/log_client.c:2040 msgid "unable to connect to log server" msgstr "" @@ -2939,73 +2951,86 @@ msgid "user NOT authorized on host" msgstr "" #: plugins/sudoers/logging.c:299 +msgid "setid command rejected in intercept mode" +msgstr "" + +#: plugins/sudoers/logging.c:301 msgid "command not allowed" msgstr "" -#: plugins/sudoers/logging.c:320 +#: plugins/sudoers/logging.c:322 #, c-format msgid "%s is not in the sudoers file.\n" msgstr "" -#: plugins/sudoers/logging.c:323 +#: plugins/sudoers/logging.c:325 #, c-format msgid "%s is not allowed to run sudo on %s.\n" msgstr "" -#: plugins/sudoers/logging.c:326 +#: plugins/sudoers/logging.c:328 plugins/sudoers/parser_warnx.c:59 +#, c-format +msgid "%s: %s\n" +msgstr "" + +#: plugins/sudoers/logging.c:329 +msgid "setid commands are not permitted in intercept mode" +msgstr "" + +#: plugins/sudoers/logging.c:331 #, c-format msgid "Sorry, user %s may not run sudo on %s.\n" msgstr "" -#: plugins/sudoers/logging.c:339 +#: plugins/sudoers/logging.c:344 #, c-format msgid "Sorry, user %s is not allowed to execute '%s%s%s%s' as %s%s%s on %s.\n" msgstr "" -#: plugins/sudoers/logging.c:350 +#: plugins/sudoers/logging.c:358 msgid "This incident has been reported to the administrator.\n" msgstr "" -#: plugins/sudoers/logging.c:387 plugins/sudoers/sudoers.c:547 -#: plugins/sudoers/sudoers.c:549 plugins/sudoers/sudoers.c:551 -#: plugins/sudoers/sudoers.c:553 plugins/sudoers/sudoers.c:777 -#: plugins/sudoers/sudoers.c:779 +#: plugins/sudoers/logging.c:395 plugins/sudoers/sudoers.c:564 +#: plugins/sudoers/sudoers.c:566 plugins/sudoers/sudoers.c:568 +#: plugins/sudoers/sudoers.c:570 plugins/sudoers/sudoers.c:794 +#: plugins/sudoers/sudoers.c:796 #, c-format msgid "%s: command not found" msgstr "" -#: plugins/sudoers/logging.c:389 plugins/sudoers/sudoers.c:543 +#: plugins/sudoers/logging.c:397 plugins/sudoers/sudoers.c:560 #, 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:409 +#: plugins/sudoers/logging.c:417 #, c-format msgid "%u incorrect password attempt" msgid_plural "%u incorrect password attempts" msgstr[0] "" msgstr[1] "" -#: plugins/sudoers/logging.c:500 +#: plugins/sudoers/logging.c:508 msgid "authentication failure" msgstr "" -#: plugins/sudoers/logging.c:539 plugins/sudoers/logging.c:558 +#: plugins/sudoers/logging.c:552 plugins/sudoers/logging.c:571 msgid "a password is required" msgstr "" -#: plugins/sudoers/logging.c:881 +#: plugins/sudoers/logging.c:889 msgid "problem parsing sudoers" msgstr "" -#: plugins/sudoers/logging.c:922 plugins/sudoers/logging.c:930 +#: plugins/sudoers/logging.c:930 plugins/sudoers/logging.c:938 #, c-format msgid "%s:%d:%d: %s" msgstr "" -#: plugins/sudoers/logging.c:1108 +#: plugins/sudoers/logging.c:1119 #, c-format msgid "unable to write log file %s" msgstr "" @@ -3035,11 +3060,6 @@ msgstr "" msgid "%s:%d:%d: %s\n" msgstr "" -#: plugins/sudoers/parser_warnx.c:59 -#, c-format -msgid "%s: %s\n" -msgstr "" - #: plugins/sudoers/pivot.c:71 msgid "unable to restore root directory" msgstr "" @@ -3053,86 +3073,86 @@ msgstr "" msgid "invalid %.*s set by sudo front-end" msgstr "" -#: plugins/sudoers/policy.c:364 plugins/sudoers/testsudoers.c:329 +#: plugins/sudoers/policy.c:347 plugins/sudoers/testsudoers.c:329 msgid "unable to parse network address list" msgstr "" -#: plugins/sudoers/policy.c:556 +#: plugins/sudoers/policy.c:555 msgid "user name not set by sudo front-end" msgstr "" -#: plugins/sudoers/policy.c:560 +#: plugins/sudoers/policy.c:559 msgid "user-ID not set by sudo front-end" msgstr "" -#: plugins/sudoers/policy.c:564 +#: plugins/sudoers/policy.c:563 msgid "group-ID not set by sudo front-end" msgstr "" -#: plugins/sudoers/policy.c:568 +#: plugins/sudoers/policy.c:567 msgid "host name not set by sudo front-end" msgstr "" -#: plugins/sudoers/policy.c:757 +#: plugins/sudoers/policy.c:765 #, c-format msgid "invalid working directory: %s" msgstr "" -#: plugins/sudoers/policy.c:944 +#: plugins/sudoers/policy.c:952 #, c-format msgid "invalid chroot directory: %s" msgstr "" -#: plugins/sudoers/policy.c:1153 plugins/sudoers/visudo.c:919 +#: plugins/sudoers/policy.c:1163 plugins/sudoers/visudo.c:919 #: plugins/sudoers/visudo.c:1218 #, c-format msgid "unable to execute %s" msgstr "" -#: plugins/sudoers/policy.c:1225 plugins/sudoers/policy.c:1260 -#: plugins/sudoers/policy.c:1282 plugins/sudoers/policy.c:1300 +#: plugins/sudoers/policy.c:1232 plugins/sudoers/policy.c:1267 +#: plugins/sudoers/policy.c:1289 plugins/sudoers/policy.c:1307 #, c-format msgid "%s: invalid mode flags from sudo front end: 0x%x" msgstr "" -#: plugins/sudoers/policy.c:1323 +#: plugins/sudoers/policy.c:1330 #, c-format msgid "Sudoers policy plugin version %s\n" msgstr "" -#: plugins/sudoers/policy.c:1325 +#: plugins/sudoers/policy.c:1332 #, c-format msgid "Sudoers file grammar version %d\n" msgstr "" -#: plugins/sudoers/policy.c:1329 +#: plugins/sudoers/policy.c:1336 #, c-format msgid "" "\n" "Sudoers path: %s\n" msgstr "" -#: plugins/sudoers/policy.c:1332 +#: plugins/sudoers/policy.c:1339 #, c-format msgid "nsswitch path: %s\n" msgstr "" -#: plugins/sudoers/policy.c:1335 +#: plugins/sudoers/policy.c:1342 #, c-format msgid "ldap.conf path: %s\n" msgstr "" -#: plugins/sudoers/policy.c:1337 +#: plugins/sudoers/policy.c:1344 #, c-format msgid "ldap.secret path: %s\n" msgstr "" -#: plugins/sudoers/policy.c:1370 +#: plugins/sudoers/policy.c:1377 #, c-format msgid "unable to register hook of type %d (version %d.%d)" msgstr "" -#: plugins/sudoers/policy.c:1388 +#: plugins/sudoers/policy.c:1395 #, c-format msgid "unable to deregister hook of type %d (version %d.%d)" msgstr "" @@ -3179,24 +3199,24 @@ msgstr "" msgid "unable to cache group %s, already exists" msgstr "" -#: plugins/sudoers/pwutil.c:900 plugins/sudoers/pwutil.c:985 -#: plugins/sudoers/pwutil.c:1039 plugins/sudoers/pwutil.c:1095 +#: plugins/sudoers/pwutil.c:900 plugins/sudoers/pwutil.c:988 +#: plugins/sudoers/pwutil.c:1042 plugins/sudoers/pwutil.c:1101 #, c-format msgid "unable to cache group list for %s, already exists" msgstr "" -#: plugins/sudoers/pwutil.c:906 plugins/sudoers/pwutil.c:990 -#: plugins/sudoers/pwutil.c:1045 plugins/sudoers/pwutil.c:1100 +#: plugins/sudoers/pwutil.c:906 plugins/sudoers/pwutil.c:993 +#: plugins/sudoers/pwutil.c:1048 plugins/sudoers/pwutil.c:1106 #, c-format msgid "unable to cache group list for %s" msgstr "" -#: plugins/sudoers/pwutil.c:979 +#: plugins/sudoers/pwutil.c:982 #, c-format msgid "unable to parse groups for %s" msgstr "" -#: plugins/sudoers/pwutil.c:1089 +#: plugins/sudoers/pwutil.c:1095 #, c-format msgid "unable to parse gids for %s" msgstr "" @@ -3325,82 +3345,82 @@ msgstr "" msgid "you are not permitted to use the -D option with %s" msgstr "" -#: plugins/sudoers/sudoers.c:542 +#: plugins/sudoers/sudoers.c:559 msgid "command in current directory" msgstr "" -#: plugins/sudoers/sudoers.c:557 +#: plugins/sudoers/sudoers.c:574 msgid "\"cd\" is a shell built-in command, it cannot be run directly." msgstr "" -#: plugins/sudoers/sudoers.c:559 +#: plugins/sudoers/sudoers.c:576 msgid "the -s option may be used to run a privileged shell." msgstr "" -#: plugins/sudoers/sudoers.c:561 +#: plugins/sudoers/sudoers.c:578 msgid "the -D option may be used to run a command in a specific directory." msgstr "" -#: plugins/sudoers/sudoers.c:570 +#: plugins/sudoers/sudoers.c:587 msgid "user not allowed to set a command timeout" msgstr "" -#: plugins/sudoers/sudoers.c:572 +#: plugins/sudoers/sudoers.c:589 msgid "sorry, you are not allowed set a command timeout" msgstr "" -#: plugins/sudoers/sudoers.c:580 +#: plugins/sudoers/sudoers.c:597 msgid "user not allowed to preserve the environment" msgstr "" -#: plugins/sudoers/sudoers.c:582 +#: plugins/sudoers/sudoers.c:599 msgid "sorry, you are not allowed to preserve the environment" msgstr "" -#: plugins/sudoers/sudoers.c:618 +#: plugins/sudoers/sudoers.c:635 msgid "no command specified" msgstr "" -#: plugins/sudoers/sudoers.c:759 +#: plugins/sudoers/sudoers.c:776 msgid "error setting user-specified environment variables" msgstr "" -#: plugins/sudoers/sudoers.c:1211 +#: plugins/sudoers/sudoers.c:1229 msgid "sudoedit doesn't need to be run via sudo" msgstr "" -#: plugins/sudoers/sudoers.c:1296 plugins/sudoers/sudoreplay.c:1613 -#: plugins/sudoers/tsdump.c:138 +#: plugins/sudoers/sudoers.c:1314 plugins/sudoers/sudoreplay.c:1615 +#: plugins/sudoers/tsdump.c:151 #, c-format msgid "unable to read %s" msgstr "" -#: plugins/sudoers/sudoers.c:1321 plugins/sudoers/visudo.c:1123 +#: plugins/sudoers/sudoers.c:1339 plugins/sudoers/visudo.c:1123 #, c-format msgid "%s is not a regular file" msgstr "" -#: plugins/sudoers/sudoers.c:1325 plugins/sudoers/timestamp.c:272 toke.l:1355 +#: plugins/sudoers/sudoers.c:1343 plugins/sudoers/timestamp.c:272 toke.l:1335 #, c-format msgid "%s is owned by uid %u, should be %u" msgstr "" -#: plugins/sudoers/sudoers.c:1330 plugins/sudoers/timestamp.c:279 toke.l:1360 +#: plugins/sudoers/sudoers.c:1348 plugins/sudoers/timestamp.c:279 toke.l:1340 #, c-format msgid "%s is world writable" msgstr "" -#: plugins/sudoers/sudoers.c:1334 plugins/sudoers/timestamp.c:284 toke.l:1363 +#: plugins/sudoers/sudoers.c:1352 plugins/sudoers/timestamp.c:284 toke.l:1343 #, c-format msgid "%s is owned by gid %u, should be %u" msgstr "" -#: plugins/sudoers/sudoers.c:1363 +#: plugins/sudoers/sudoers.c:1381 #, c-format msgid "only root can use \"-c %s\"" msgstr "" -#: plugins/sudoers/sudoers.c:1382 +#: plugins/sudoers/sudoers.c:1400 #, c-format msgid "unknown login class %s" msgstr "" @@ -3445,82 +3465,82 @@ msgstr "" msgid "Replaying sudo session: %s" msgstr "" -#: plugins/sudoers/sudoreplay.c:634 +#: plugins/sudoers/sudoreplay.c:633 plugins/sudoers/sudoreplay.c:636 msgid "unable to set tty to raw mode" msgstr "" -#: plugins/sudoers/sudoreplay.c:685 +#: plugins/sudoers/sudoreplay.c:687 msgid "Warning: your terminal is too small to properly replay the log." msgstr "" -#: plugins/sudoers/sudoreplay.c:686 +#: plugins/sudoers/sudoreplay.c:688 #, c-format msgid "Log geometry is %d x %d, your terminal's geometry is %d x %d." msgstr "" -#: plugins/sudoers/sudoreplay.c:714 +#: plugins/sudoers/sudoreplay.c:716 msgid "Replay finished, press any key to restore the terminal." msgstr "" -#: plugins/sudoers/sudoreplay.c:1217 plugins/sudoers/sudoreplay.c:1247 +#: plugins/sudoers/sudoreplay.c:1219 plugins/sudoers/sudoreplay.c:1249 #, c-format msgid "ambiguous expression \"%s\"" msgstr "" -#: plugins/sudoers/sudoreplay.c:1269 +#: plugins/sudoers/sudoreplay.c:1271 msgid "unmatched ')' in expression" msgstr "" -#: plugins/sudoers/sudoreplay.c:1273 +#: plugins/sudoers/sudoreplay.c:1275 #, c-format msgid "unknown search term \"%s\"" msgstr "" -#: plugins/sudoers/sudoreplay.c:1288 +#: plugins/sudoers/sudoreplay.c:1290 #, c-format msgid "%s requires an argument" msgstr "" -#: plugins/sudoers/sudoreplay.c:1298 +#: plugins/sudoers/sudoreplay.c:1300 #, c-format msgid "could not parse date \"%s\"" msgstr "" -#: plugins/sudoers/sudoreplay.c:1307 +#: plugins/sudoers/sudoreplay.c:1309 msgid "unmatched '(' in expression" msgstr "" -#: plugins/sudoers/sudoreplay.c:1309 +#: plugins/sudoers/sudoreplay.c:1311 msgid "illegal trailing \"or\"" msgstr "" -#: plugins/sudoers/sudoreplay.c:1311 +#: plugins/sudoers/sudoreplay.c:1313 msgid "illegal trailing \"!\"" msgstr "" -#: plugins/sudoers/sudoreplay.c:1417 +#: plugins/sudoers/sudoreplay.c:1419 #, c-format msgid "unknown search type %d" msgstr "" -#: plugins/sudoers/sudoreplay.c:1679 +#: plugins/sudoers/sudoreplay.c:1681 #, c-format msgid "usage: %s [-hnRS] [-d dir] [-m num] [-s num] ID\n" msgstr "" -#: plugins/sudoers/sudoreplay.c:1681 +#: plugins/sudoers/sudoreplay.c:1683 #, c-format msgid "usage: %s [-h] [-d dir] -l [search expression]\n" msgstr "" -#: plugins/sudoers/sudoreplay.c:1695 +#: plugins/sudoers/sudoreplay.c:1697 #, c-format msgid "" "%s - replay sudo session logs\n" "\n" msgstr "" -#: plugins/sudoers/sudoreplay.c:1697 +#: plugins/sudoers/sudoreplay.c:1699 msgid "" "\n" "Options:\n" @@ -3574,26 +3594,26 @@ msgid "" "Command unmatched" msgstr "" -#: plugins/sudoers/timestamp.c:364 plugins/sudoers/timestamp.c:711 +#: plugins/sudoers/timestamp.c:364 plugins/sudoers/timestamp.c:714 #, c-format msgid "unable to truncate time stamp file to %lld bytes" msgstr "" -#: plugins/sudoers/timestamp.c:908 +#: plugins/sudoers/timestamp.c:911 msgid "ignoring time stamp from the future" msgstr "" -#: plugins/sudoers/timestamp.c:931 +#: plugins/sudoers/timestamp.c:934 #, c-format msgid "time stamp too far in the future: %20.20s" msgstr "" -#: plugins/sudoers/timestamp.c:1067 +#: plugins/sudoers/timestamp.c:1070 #, c-format msgid "unable to lock time stamp file %s" msgstr "" -#: plugins/sudoers/timestamp.c:1114 +#: plugins/sudoers/timestamp.c:1117 #, c-format msgid "%s:%d:%d timestampowner: unknown user %s" msgstr "" @@ -3780,18 +3800,18 @@ msgstr "" msgid "invalid IPv6 address" msgstr "" -#: toke.l:863 +#: toke.l:843 msgid "unexpected line break in string" msgstr "" -#: toke.l:982 +#: toke.l:962 msgid "ignoring editor backup file" msgstr "" -#: toke.l:985 +#: toke.l:965 msgid "ignoring file name containing '.'" msgstr "" -#: toke.l:1310 +#: toke.l:1290 msgid "too many levels of includes" msgstr "" diff --git a/plugins/sudoers/po/uk.mo b/plugins/sudoers/po/uk.mo index 09cd79a04..b2f371992 100644 Binary files a/plugins/sudoers/po/uk.mo and b/plugins/sudoers/po/uk.mo differ diff --git a/plugins/sudoers/po/uk.po b/plugins/sudoers/po/uk.po index 1ce1f3dbc..f809123c9 100644 --- a/plugins/sudoers/po/uk.po +++ b/plugins/sudoers/po/uk.po @@ -1,13 +1,13 @@ # Ukrainian translation for sudoers. # This file is put in the public domain. # -# Yuri Chornoivan , 2011-2021, 2022, 2023. +# Yuri Chornoivan , 2011-2021, 2022, 2023, 2024. msgid "" msgstr "" -"Project-Id-Version: sudoers 1.9.15b1\n" +"Project-Id-Version: sudoers 1.9.16b1\n" "Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n" -"POT-Creation-Date: 2023-10-19 10:02-0600\n" -"PO-Revision-Date: 2023-10-21 18:30+0300\n" +"POT-Creation-Date: 2024-06-08 09:06-0600\n" +"PO-Revision-Date: 2024-06-16 19:01+0300\n" "Last-Translator: Yuri Chornoivan \n" "Language-Team: Ukrainian \n" "Language: uk\n" @@ -16,9 +16,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Bugs: Report translation errors to the Language-Team address.\n" "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" +"X-Generator: Lokalize 23.04.3\n" -#: confstr.sh:1 gram.y:1257 plugins/sudoers/logging.c:911 +#: confstr.sh:1 gram.y:1240 plugins/sudoers/logging.c:919 msgid "syntax error" msgstr "синтаксична помилка" @@ -43,16 +43,16 @@ msgid "Sorry, try again." msgstr "Вибачте, повторіть спробу." #: gram.y:238 gram.y:305 gram.y:314 gram.y:323 gram.y:333 gram.y:343 gram.y:367 -#: gram.y:394 gram.y:403 gram.y:411 gram.y:420 gram.y:429 gram.y:503 gram.y:513 -#: gram.y:525 gram.y:573 gram.y:582 gram.y:591 gram.y:600 gram.y:733 gram.y:742 -#: gram.y:757 gram.y:777 gram.y:796 gram.y:959 gram.y:964 gram.y:972 gram.y:986 -#: gram.y:992 gram.y:1004 gram.y:1010 gram.y:1135 gram.y:1144 gram.y:1152 -#: gram.y:1161 gram.y:1170 gram.y:1199 gram.y:1208 gram.y:1216 gram.y:1317 -#: gram.y:1447 gram.y:1829 gram.y:1840 gram.y:1922 lib/eventlog/eventlog.c:236 -#: lib/eventlog/eventlog.c:313 lib/eventlog/eventlog.c:765 -#: lib/eventlog/eventlog.c:842 lib/eventlog/eventlog.c:1175 -#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:484 -#: lib/eventlog/parse_json.c:514 lib/iolog/iolog_filter.c:142 +#: gram.y:394 gram.y:403 gram.y:411 gram.y:420 gram.y:429 gram.y:502 gram.y:512 +#: gram.y:524 gram.y:566 gram.y:575 gram.y:584 gram.y:593 gram.y:726 gram.y:735 +#: gram.y:750 gram.y:770 gram.y:789 gram.y:942 gram.y:947 gram.y:955 gram.y:969 +#: gram.y:975 gram.y:987 gram.y:993 gram.y:1118 gram.y:1127 gram.y:1135 +#: gram.y:1144 gram.y:1153 gram.y:1182 gram.y:1191 gram.y:1199 gram.y:1300 +#: gram.y:1430 gram.y:1811 gram.y:1822 gram.y:1898 lib/eventlog/eventlog.c:236 +#: lib/eventlog/eventlog.c:313 lib/eventlog/eventlog.c:778 +#: lib/eventlog/eventlog.c:855 lib/eventlog/eventlog.c:1189 +#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:501 +#: lib/eventlog/parse_json.c:531 lib/iolog/iolog_filter.c:142 #: lib/iolog/iolog_filter.c:202 lib/iolog/iolog_filter.c:233 #: lib/iolog/iolog_legacy.c:101 lib/iolog/iolog_legacy.c:112 #: lib/iolog/iolog_legacy.c:124 lib/iolog/iolog_legacy.c:134 @@ -63,13 +63,13 @@ msgstr "Вибачте, повторіть спробу." #: logsrvd/iolog_writer.c:218 logsrvd/iolog_writer.c:228 #: logsrvd/iolog_writer.c:257 logsrvd/iolog_writer.c:278 #: logsrvd/iolog_writer.c:290 logsrvd/iolog_writer.c:300 -#: logsrvd/iolog_writer.c:310 logsrvd/iolog_writer.c:320 -#: logsrvd/iolog_writer.c:330 logsrvd/iolog_writer.c:342 -#: logsrvd/iolog_writer.c:377 logsrvd/iolog_writer.c:383 -#: logsrvd/iolog_writer.c:390 logsrvd/iolog_writer.c:396 -#: logsrvd/iolog_writer.c:580 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:323 -#: logsrvd/logsrvd.c:1057 logsrvd/logsrvd.c:1120 logsrvd/logsrvd.c:1589 -#: logsrvd/logsrvd.c:1594 logsrvd/logsrvd.c:1781 logsrvd/logsrvd.c:2003 +#: logsrvd/iolog_writer.c:318 logsrvd/iolog_writer.c:328 +#: logsrvd/iolog_writer.c:338 logsrvd/iolog_writer.c:350 +#: logsrvd/iolog_writer.c:385 logsrvd/iolog_writer.c:391 +#: logsrvd/iolog_writer.c:398 logsrvd/iolog_writer.c:404 +#: logsrvd/iolog_writer.c:588 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:324 +#: logsrvd/logsrvd.c:1058 logsrvd/logsrvd.c:1121 logsrvd/logsrvd.c:1599 +#: logsrvd/logsrvd.c:1604 logsrvd/logsrvd.c:1791 logsrvd/logsrvd.c:2046 #: 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 @@ -77,11 +77,11 @@ msgstr "Вибачте, повторіть спробу." #: 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_conf.c:829 logsrvd/logsrvd_conf.c:1041 +#: logsrvd/logsrvd_conf.c:1058 logsrvd/logsrvd_conf.c:1453 +#: logsrvd/logsrvd_conf.c:1600 logsrvd/logsrvd_conf.c:1626 +#: logsrvd/logsrvd_conf.c:1638 logsrvd/logsrvd_conf.c:1645 +#: logsrvd/logsrvd_conf.c:1651 logsrvd/logsrvd_conf.c:1748 #: logsrvd/logsrvd_journal.c:76 logsrvd/logsrvd_journal.c:216 #: logsrvd/logsrvd_journal.c:217 logsrvd/logsrvd_journal.c:274 #: logsrvd/logsrvd_journal.c:279 logsrvd/logsrvd_journal.c:439 @@ -94,10 +94,10 @@ msgstr "Вибачте, повторіть спробу." #: logsrvd/logsrvd_queue.c:266 logsrvd/logsrvd_relay.c:446 #: logsrvd/logsrvd_relay.c:748 logsrvd/logsrvd_relay.c:855 #: logsrvd/sendlog.c:256 logsrvd/sendlog.c:265 logsrvd/sendlog.c:297 -#: logsrvd/sendlog.c:303 logsrvd/sendlog.c:352 logsrvd/sendlog.c:630 -#: logsrvd/sendlog.c:1822 plugins/sudoers/audit.c:118 -#: plugins/sudoers/auth/bsdauth.c:154 plugins/sudoers/auth/kerb5.c:122 -#: plugins/sudoers/auth/kerb5.c:150 plugins/sudoers/auth/pam.c:697 +#: logsrvd/sendlog.c:303 logsrvd/sendlog.c:352 logsrvd/sendlog.c:651 +#: logsrvd/sendlog.c:1847 plugins/sudoers/audit.c:118 +#: plugins/sudoers/auth/bsdauth.c:154 plugins/sudoers/auth/kerb5.c:123 +#: plugins/sudoers/auth/kerb5.c:151 plugins/sudoers/auth/pam.c:697 #: plugins/sudoers/auth/rfc1938.c:112 plugins/sudoers/auth/sia.c:61 #: plugins/sudoers/canon_path.c:129 plugins/sudoers/canon_path.c:161 #: plugins/sudoers/check_aliases.c:128 plugins/sudoers/check_util.c:56 @@ -107,33 +107,30 @@ msgstr "Вибачте, повторіть спробу." #: plugins/sudoers/cvtsudoers.c:379 plugins/sudoers/cvtsudoers.c:399 #: plugins/sudoers/cvtsudoers.c:545 plugins/sudoers/cvtsudoers.c:698 #: plugins/sudoers/cvtsudoers.c:716 plugins/sudoers/cvtsudoers.c:891 -#: plugins/sudoers/cvtsudoers.c:899 plugins/sudoers/cvtsudoers.c:1395 -#: plugins/sudoers/cvtsudoers.c:1399 plugins/sudoers/cvtsudoers.c:1501 -#: plugins/sudoers/cvtsudoers_csv.c:183 plugins/sudoers/cvtsudoers_csv.c:247 -#: plugins/sudoers/cvtsudoers_json.c:76 plugins/sudoers/cvtsudoers_ldif.c:152 -#: plugins/sudoers/cvtsudoers_ldif.c:195 plugins/sudoers/cvtsudoers_ldif.c:236 -#: plugins/sudoers/cvtsudoers_ldif.c:302 plugins/sudoers/cvtsudoers_ldif.c:378 -#: plugins/sudoers/cvtsudoers_ldif.c:432 plugins/sudoers/cvtsudoers_ldif.c:440 -#: plugins/sudoers/cvtsudoers_ldif.c:451 plugins/sudoers/cvtsudoers_ldif.c:458 -#: plugins/sudoers/cvtsudoers_ldif.c:470 plugins/sudoers/cvtsudoers_ldif.c:483 -#: plugins/sudoers/cvtsudoers_ldif.c:491 plugins/sudoers/cvtsudoers_ldif.c:638 -#: 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:455 -#: plugins/sudoers/defaults.c:689 plugins/sudoers/defaults.c:1051 -#: plugins/sudoers/defaults.c:1235 plugins/sudoers/editor.c:198 -#: plugins/sudoers/env.c:263 plugins/sudoers/exptilde.c:92 +#: plugins/sudoers/cvtsudoers.c:899 plugins/sudoers/cvtsudoers.c:1393 +#: plugins/sudoers/cvtsudoers.c:1397 plugins/sudoers/cvtsudoers.c:1497 +#: plugins/sudoers/cvtsudoers_csv.c:182 plugins/sudoers/cvtsudoers_csv.c:255 +#: plugins/sudoers/cvtsudoers_json.c:604 plugins/sudoers/cvtsudoers_json.c:639 +#: plugins/sudoers/cvtsudoers_json.c:1016 +#: plugins/sudoers/cvtsudoers_json.c:1041 plugins/sudoers/cvtsudoers_ldif.c:112 +#: plugins/sudoers/cvtsudoers_ldif.c:144 plugins/sudoers/cvtsudoers_ldif.c:260 +#: plugins/sudoers/cvtsudoers_ldif.c:573 plugins/sudoers/cvtsudoers_ldif.c:586 +#: plugins/sudoers/cvtsudoers_ldif.c:591 plugins/sudoers/cvtsudoers_ldif.c:761 +#: plugins/sudoers/cvtsudoers_merge.c:57 plugins/sudoers/cvtsudoers_merge.c:357 +#: plugins/sudoers/cvtsudoers_merge.c:405 +#: plugins/sudoers/cvtsudoers_merge.c:454 +#: plugins/sudoers/cvtsudoers_merge.c:476 +#: plugins/sudoers/cvtsudoers_merge.c:588 +#: plugins/sudoers/cvtsudoers_merge.c:664 +#: plugins/sudoers/cvtsudoers_merge.c:1197 +#: plugins/sudoers/cvtsudoers_merge.c:1281 plugins/sudoers/defaults.c:455 +#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1062 +#: plugins/sudoers/defaults.c:1248 plugins/sudoers/editor.c:198 +#: plugins/sudoers/env.c:280 plugins/sudoers/exptilde.c:92 #: plugins/sudoers/filedigest.c:66 plugins/sudoers/filedigest.c:70 #: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:212 -#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268 -#: plugins/sudoers/iolog.c:675 plugins/sudoers/iolog.c:703 +#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:270 +#: plugins/sudoers/iolog.c:683 plugins/sudoers/iolog.c:711 #: plugins/sudoers/ldap.c:161 plugins/sudoers/ldap.c:448 #: plugins/sudoers/ldap.c:625 plugins/sudoers/ldap.c:789 #: plugins/sudoers/ldap.c:1214 plugins/sudoers/ldap.c:1642 @@ -143,23 +140,23 @@ msgstr "Вибачте, повторіть спробу." #: plugins/sudoers/ldap_conf.c:299 plugins/sudoers/ldap_conf.c:335 #: plugins/sudoers/ldap_conf.c:441 plugins/sudoers/ldap_conf.c:456 #: plugins/sudoers/ldap_conf.c:565 plugins/sudoers/ldap_conf.c:598 -#: plugins/sudoers/ldap_conf.c:694 plugins/sudoers/ldap_conf.c:776 +#: plugins/sudoers/ldap_conf.c:696 plugins/sudoers/ldap_conf.c:778 #: 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:717 plugins/sudoers/log_client.c:739 -#: plugins/sudoers/log_client.c:744 plugins/sudoers/log_client.c:1426 -#: plugins/sudoers/log_client.c:1547 plugins/sudoers/log_client.c:1670 -#: plugins/sudoers/log_client.c:1993 plugins/sudoers/log_client.c:2052 +#: plugins/sudoers/ldap_util.c:615 plugins/sudoers/linux_audit.c:86 +#: plugins/sudoers/log_client.c:117 plugins/sudoers/log_client.c:411 +#: plugins/sudoers/log_client.c:726 plugins/sudoers/log_client.c:748 +#: plugins/sudoers/log_client.c:753 plugins/sudoers/log_client.c:1449 +#: plugins/sudoers/log_client.c:1570 plugins/sudoers/log_client.c:1693 +#: plugins/sudoers/log_client.c:2018 plugins/sudoers/log_client.c:2077 #: plugins/sudoers/logging.c:110 plugins/sudoers/logging.c:190 -#: plugins/sudoers/logging.c:475 plugins/sudoers/logging.c:711 -#: plugins/sudoers/logging.c:872 plugins/sudoers/lookup.c:338 -#: plugins/sudoers/lookup.c:355 plugins/sudoers/lookup.c:374 -#: plugins/sudoers/lookup.c:393 plugins/sudoers/lookup.c:410 -#: plugins/sudoers/lookup.c:433 plugins/sudoers/lookup.c:444 -#: plugins/sudoers/match_command.c:302 plugins/sudoers/match_command.c:574 -#: plugins/sudoers/match_command.c:641 plugins/sudoers/match_command.c:737 -#: plugins/sudoers/match_command.c:785 plugins/sudoers/match_digest.c:88 +#: plugins/sudoers/logging.c:483 plugins/sudoers/logging.c:723 +#: plugins/sudoers/logging.c:880 plugins/sudoers/lookup.c:331 +#: plugins/sudoers/lookup.c:348 plugins/sudoers/lookup.c:366 +#: plugins/sudoers/lookup.c:384 plugins/sudoers/lookup.c:401 +#: plugins/sudoers/lookup.c:423 plugins/sudoers/lookup.c:434 +#: plugins/sudoers/match_command.c:280 plugins/sudoers/match_command.c:544 +#: plugins/sudoers/match_command.c:608 plugins/sudoers/match_command.c:702 +#: plugins/sudoers/match_command.c:750 plugins/sudoers/match_digest.c:88 #: 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 @@ -170,107 +167,107 @@ msgstr "Вибачте, повторіть спробу." #: 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:646 plugins/sudoers/policy.c:1061 +#: plugins/sudoers/policy.c:654 plugins/sudoers/policy.c:1071 #: plugins/sudoers/prompt.c:94 plugins/sudoers/pwutil.c:219 #: plugins/sudoers/pwutil.c:290 plugins/sudoers/pwutil.c:368 #: plugins/sudoers/pwutil.c:542 plugins/sudoers/pwutil.c:607 #: plugins/sudoers/pwutil.c:679 plugins/sudoers/pwutil.c:877 -#: plugins/sudoers/pwutil.c:967 plugins/sudoers/pwutil.c:1015 -#: plugins/sudoers/pwutil.c:1076 plugins/sudoers/sethost.c:85 +#: plugins/sudoers/pwutil.c:970 plugins/sudoers/pwutil.c:1018 +#: plugins/sudoers/pwutil.c:1082 plugins/sudoers/sethost.c:89 #: plugins/sudoers/sssd.c:145 plugins/sudoers/sssd.c:186 #: plugins/sudoers/sssd.c:415 plugins/sudoers/sssd.c:480 #: plugins/sudoers/sssd.c:507 plugins/sudoers/sssd.c:570 #: plugins/sudoers/sssd.c:765 plugins/sudoers/strvec_join.c:53 #: plugins/sudoers/sudoers.c:405 plugins/sudoers/sudoers.c:412 -#: plugins/sudoers/sudoers.c:656 plugins/sudoers/sudoers.c:666 -#: plugins/sudoers/sudoers.c:811 plugins/sudoers/sudoers.c:877 -#: plugins/sudoers/sudoers.c:936 plugins/sudoers/sudoers.c:985 -#: plugins/sudoers/sudoers.c:1144 plugins/sudoers/sudoers.c:1213 -#: plugins/sudoers/sudoers.c:1307 plugins/sudoers/sudoers_cb.c:150 +#: plugins/sudoers/sudoers.c:673 plugins/sudoers/sudoers.c:683 +#: plugins/sudoers/sudoers.c:828 plugins/sudoers/sudoers.c:894 +#: plugins/sudoers/sudoers.c:953 plugins/sudoers/sudoers.c:1002 +#: plugins/sudoers/sudoers.c:1162 plugins/sudoers/sudoers.c:1231 +#: plugins/sudoers/sudoers.c:1325 plugins/sudoers/sudoers_cb.c:150 #: plugins/sudoers/sudoreplay.c:559 plugins/sudoers/sudoreplay.c:562 -#: plugins/sudoers/sudoreplay.c:1279 plugins/sudoers/sudoreplay.c:1335 -#: plugins/sudoers/sudoreplay.c:1531 plugins/sudoers/sudoreplay.c:1535 +#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1337 +#: plugins/sudoers/sudoreplay.c:1533 plugins/sudoers/sudoreplay.c:1537 #: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:256 #: plugins/sudoers/testsudoers.c:265 plugins/sudoers/testsudoers.c:275 #: plugins/sudoers/testsudoers.c:282 plugins/sudoers/testsudoers.c:302 -#: plugins/sudoers/testsudoers.c:758 plugins/sudoers/timestamp.c:469 -#: plugins/sudoers/timestamp.c:513 plugins/sudoers/timestamp.c:1042 -#: plugins/sudoers/timestamp.c:1216 plugins/sudoers/toke_util.c:79 +#: plugins/sudoers/testsudoers.c:756 plugins/sudoers/timestamp.c:468 +#: plugins/sudoers/timestamp.c:514 plugins/sudoers/timestamp.c:1045 +#: plugins/sudoers/timestamp.c:1248 plugins/sudoers/toke_util.c:79 #: plugins/sudoers/toke_util.c:108 plugins/sudoers/toke_util.c:134 #: plugins/sudoers/toke_util.c:164 plugins/sudoers/toke_util.c:204 -#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:151 +#: plugins/sudoers/tsdump.c:136 plugins/sudoers/visudo.c:151 #: plugins/sudoers/visudo.c:258 plugins/sudoers/visudo.c:383 #: plugins/sudoers/visudo.c:389 plugins/sudoers/visudo.c:501 #: plugins/sudoers/visudo.c:1073 plugins/sudoers/visudo.c:1095 -#: plugins/sudoers/visudo.c:1189 toke.l:1031 toke.l:1194 toke.l:1213 -#: toke.l:1240 toke.l:1320 +#: plugins/sudoers/visudo.c:1189 toke.l:1011 toke.l:1174 toke.l:1193 +#: toke.l:1220 toke.l:1300 msgid "unable to allocate memory" msgstr "не вдалося отримати потрібний об’єм пам’яті" -#: gram.y:624 +#: gram.y:617 msgid "a digest requires a path name" msgstr "для контрольної суми слід вказати шлях" -#: gram.y:646 +#: gram.y:639 msgid "values for \"CWD\" must start with a '/', '~', or '*'" msgstr "значення «CWD» мають починатися з «/», «~» або «*»" -#: gram.y:652 +#: gram.y:645 msgid "\"CWD\" path too long" msgstr "Шлях «CWD» є надто довгим" -#: gram.y:662 +#: gram.y:655 msgid "values for \"CHROOT\" must start with a '/', '~', or '*'" msgstr "значення «CHROOT» мають починатися з «/», «~» або «*»" -#: gram.y:668 +#: gram.y:661 msgid "\"CHROOT\" path too long" msgstr "Шлях «CHROOT» є надто довгим" -#: gram.y:817 +#: gram.y:810 #, c-format msgid "syntax error, reserved word %s used as an alias name" msgstr "синтаксична помилка, як назву замінника використано зарезервоване слово %s" -#: gram.y:840 +#: gram.y:833 msgid "invalid notbefore value" msgstr "некоректне значення notbefore" -#: gram.y:849 +#: gram.y:842 msgid "invalid notafter value" msgstr "некоректне значення notafter" -#: gram.y:859 plugins/sudoers/policy.c:390 +#: gram.y:852 plugins/sudoers/policy.c:373 msgid "timeout value too large" msgstr "значення часу очікування є надто великим" -#: gram.y:861 plugins/sudoers/policy.c:392 +#: gram.y:854 plugins/sudoers/policy.c:375 msgid "invalid timeout value" msgstr "некоректне значення часу очікування" -#: gram.y:982 plugins/sudoers/sudoers.c:1162 +#: gram.y:965 plugins/sudoers/sudoers.c:1180 msgid "command too long" msgstr "надто довга команда" -#: gram.y:1016 +#: gram.y:999 msgid "expected a fully-qualified path name" msgstr "мало бути вказано назву шляху повністю" -#: gram.y:1261 +#: gram.y:1244 #, c-format msgid "%s:%d:%zu: %s\n" msgstr "%s:%d:%zu: %s\n" -#: gram.y:1315 +#: gram.y:1298 #, c-format msgid "Alias \"%s\" already defined" msgstr "Замінник «%s» вже визначено" -#: gram.y:1829 gram.y:1840 gram.y:1922 lib/eventlog/eventlog.c:236 -#: lib/eventlog/eventlog.c:765 lib/eventlog/eventlog.c:838 -#: lib/eventlog/eventlog.c:841 lib/eventlog/eventlog.c:1175 -#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:483 -#: lib/eventlog/parse_json.c:514 lib/iolog/iolog_filter.c:142 +#: gram.y:1811 gram.y:1822 gram.y:1898 lib/eventlog/eventlog.c:236 +#: lib/eventlog/eventlog.c:778 lib/eventlog/eventlog.c:851 +#: lib/eventlog/eventlog.c:854 lib/eventlog/eventlog.c:1189 +#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:500 +#: lib/eventlog/parse_json.c:531 lib/iolog/iolog_filter.c:142 #: lib/iolog/iolog_filter.c:202 lib/iolog/iolog_filter.c:232 #: lib/iolog/iolog_legacy.c:101 lib/iolog/iolog_legacy.c:112 #: lib/iolog/iolog_legacy.c:124 lib/iolog/iolog_legacy.c:134 @@ -283,16 +280,16 @@ msgstr "Замінник «%s» вже визначено" #: logsrvd/iolog_writer.c:246 logsrvd/iolog_writer.c:256 #: logsrvd/iolog_writer.c:267 logsrvd/iolog_writer.c:277 #: logsrvd/iolog_writer.c:289 logsrvd/iolog_writer.c:299 -#: logsrvd/iolog_writer.c:309 logsrvd/iolog_writer.c:319 -#: logsrvd/iolog_writer.c:329 logsrvd/iolog_writer.c:341 -#: logsrvd/iolog_writer.c:377 logsrvd/iolog_writer.c:383 -#: logsrvd/iolog_writer.c:390 logsrvd/iolog_writer.c:396 -#: logsrvd/iolog_writer.c:580 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:323 -#: logsrvd/logsrvd.c:461 logsrvd/logsrvd.c:498 logsrvd/logsrvd.c:530 -#: logsrvd/logsrvd.c:584 logsrvd/logsrvd.c:619 logsrvd/logsrvd.c:668 -#: logsrvd/logsrvd.c:704 logsrvd/logsrvd.c:740 logsrvd/logsrvd.c:1131 -#: logsrvd/logsrvd.c:1446 logsrvd/logsrvd.c:1453 logsrvd/logsrvd.c:1589 -#: logsrvd/logsrvd.c:1594 logsrvd/logsrvd.c:1781 logsrvd/logsrvd.c:2003 +#: logsrvd/iolog_writer.c:317 logsrvd/iolog_writer.c:327 +#: logsrvd/iolog_writer.c:337 logsrvd/iolog_writer.c:349 +#: logsrvd/iolog_writer.c:385 logsrvd/iolog_writer.c:391 +#: logsrvd/iolog_writer.c:398 logsrvd/iolog_writer.c:404 +#: logsrvd/iolog_writer.c:588 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:324 +#: logsrvd/logsrvd.c:462 logsrvd/logsrvd.c:499 logsrvd/logsrvd.c:531 +#: logsrvd/logsrvd.c:585 logsrvd/logsrvd.c:620 logsrvd/logsrvd.c:669 +#: logsrvd/logsrvd.c:705 logsrvd/logsrvd.c:741 logsrvd/logsrvd.c:1132 +#: logsrvd/logsrvd.c:1456 logsrvd/logsrvd.c:1463 logsrvd/logsrvd.c:1599 +#: logsrvd/logsrvd.c:1604 logsrvd/logsrvd.c:1791 logsrvd/logsrvd.c:2046 #: 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 @@ -300,11 +297,11 @@ msgstr "Замінник «%s» вже визначено" #: 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_conf.c:829 logsrvd/logsrvd_conf.c:1041 +#: logsrvd/logsrvd_conf.c:1058 logsrvd/logsrvd_conf.c:1453 +#: logsrvd/logsrvd_conf.c:1600 logsrvd/logsrvd_conf.c:1626 +#: logsrvd/logsrvd_conf.c:1638 logsrvd/logsrvd_conf.c:1645 +#: logsrvd/logsrvd_conf.c:1651 logsrvd/logsrvd_conf.c:1747 #: logsrvd/logsrvd_journal.c:76 logsrvd/logsrvd_journal.c:125 #: logsrvd/logsrvd_journal.c:216 logsrvd/logsrvd_journal.c:246 #: logsrvd/logsrvd_journal.c:250 logsrvd/logsrvd_journal.c:258 @@ -315,8 +312,8 @@ msgstr "Замінник «%s» вже визначено" #: logsrvd/logsrvd_queue.c:158 logsrvd/logsrvd_queue.c:189 #: logsrvd/logsrvd_queue.c:266 logsrvd/sendlog.c:256 logsrvd/sendlog.c:265 #: logsrvd/sendlog.c:297 logsrvd/sendlog.c:303 logsrvd/sendlog.c:352 -#: logsrvd/sendlog.c:630 logsrvd/sendlog.c:1523 logsrvd/sendlog.c:1530 -#: logsrvd/sendlog.c:1753 logsrvd/sendlog.c:1822 logsrvd/tls_init.c:305 +#: logsrvd/sendlog.c:651 logsrvd/sendlog.c:1548 logsrvd/sendlog.c:1555 +#: logsrvd/sendlog.c:1778 logsrvd/sendlog.c:1847 logsrvd/tls_init.c:305 #: logsrvd/tls_init.c:329 logsrvd/tls_init.c:340 plugins/sudoers/audit.c:118 #: plugins/sudoers/auth/pam.c:518 plugins/sudoers/auth/pam.c:697 #: plugins/sudoers/auth/rfc1938.c:112 plugins/sudoers/canon_path.c:129 @@ -327,34 +324,31 @@ msgstr "Замінник «%s» вже визначено" #: plugins/sudoers/cvtsudoers.c:337 plugins/sudoers/cvtsudoers.c:544 #: plugins/sudoers/cvtsudoers.c:697 plugins/sudoers/cvtsudoers.c:715 #: plugins/sudoers/cvtsudoers.c:891 plugins/sudoers/cvtsudoers.c:898 -#: plugins/sudoers/cvtsudoers.c:1395 plugins/sudoers/cvtsudoers.c:1399 -#: plugins/sudoers/cvtsudoers.c:1501 plugins/sudoers/cvtsudoers_csv.c:182 -#: plugins/sudoers/cvtsudoers_csv.c:246 plugins/sudoers/cvtsudoers_json.c:75 -#: plugins/sudoers/cvtsudoers_ldif.c:151 plugins/sudoers/cvtsudoers_ldif.c:194 -#: plugins/sudoers/cvtsudoers_ldif.c:235 plugins/sudoers/cvtsudoers_ldif.c:301 -#: plugins/sudoers/cvtsudoers_ldif.c:377 plugins/sudoers/cvtsudoers_ldif.c:431 -#: plugins/sudoers/cvtsudoers_ldif.c:439 plugins/sudoers/cvtsudoers_ldif.c:450 -#: plugins/sudoers/cvtsudoers_ldif.c:457 plugins/sudoers/cvtsudoers_ldif.c:469 -#: plugins/sudoers/cvtsudoers_ldif.c:482 plugins/sudoers/cvtsudoers_ldif.c:490 -#: plugins/sudoers/cvtsudoers_ldif.c:637 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:455 -#: plugins/sudoers/defaults.c:689 plugins/sudoers/defaults.c:1051 -#: plugins/sudoers/defaults.c:1235 plugins/sudoers/editor.c:198 -#: plugins/sudoers/env.c:263 plugins/sudoers/exptilde.c:92 +#: plugins/sudoers/cvtsudoers.c:1393 plugins/sudoers/cvtsudoers.c:1397 +#: plugins/sudoers/cvtsudoers.c:1497 plugins/sudoers/cvtsudoers_csv.c:182 +#: plugins/sudoers/cvtsudoers_csv.c:255 plugins/sudoers/cvtsudoers_json.c:604 +#: plugins/sudoers/cvtsudoers_json.c:639 plugins/sudoers/cvtsudoers_json.c:1016 +#: plugins/sudoers/cvtsudoers_json.c:1041 plugins/sudoers/cvtsudoers_ldif.c:112 +#: plugins/sudoers/cvtsudoers_ldif.c:144 plugins/sudoers/cvtsudoers_ldif.c:260 +#: plugins/sudoers/cvtsudoers_ldif.c:573 plugins/sudoers/cvtsudoers_ldif.c:586 +#: plugins/sudoers/cvtsudoers_ldif.c:591 plugins/sudoers/cvtsudoers_ldif.c:761 +#: plugins/sudoers/cvtsudoers_merge.c:57 plugins/sudoers/cvtsudoers_merge.c:357 +#: plugins/sudoers/cvtsudoers_merge.c:405 +#: plugins/sudoers/cvtsudoers_merge.c:453 +#: plugins/sudoers/cvtsudoers_merge.c:475 +#: plugins/sudoers/cvtsudoers_merge.c:583 +#: plugins/sudoers/cvtsudoers_merge.c:588 +#: plugins/sudoers/cvtsudoers_merge.c:661 +#: plugins/sudoers/cvtsudoers_merge.c:664 +#: plugins/sudoers/cvtsudoers_merge.c:1196 +#: plugins/sudoers/cvtsudoers_merge.c:1281 plugins/sudoers/defaults.c:455 +#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1062 +#: plugins/sudoers/defaults.c:1248 plugins/sudoers/editor.c:198 +#: plugins/sudoers/env.c:280 plugins/sudoers/exptilde.c:92 #: plugins/sudoers/filedigest.c:66 plugins/sudoers/filedigest.c:70 #: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:211 -#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268 -#: plugins/sudoers/iolog.c:675 plugins/sudoers/iolog.c:703 +#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:270 +#: plugins/sudoers/iolog.c:683 plugins/sudoers/iolog.c:711 #: plugins/sudoers/ldap.c:161 plugins/sudoers/ldap.c:448 #: plugins/sudoers/ldap.c:625 plugins/sudoers/ldap.c:789 #: plugins/sudoers/ldap.c:1214 plugins/sudoers/ldap.c:1642 @@ -364,26 +358,26 @@ msgstr "Замінник «%s» вже визначено" #: plugins/sudoers/ldap_conf.c:299 plugins/sudoers/ldap_conf.c:335 #: plugins/sudoers/ldap_conf.c:441 plugins/sudoers/ldap_conf.c:456 #: plugins/sudoers/ldap_conf.c:565 plugins/sudoers/ldap_conf.c:598 -#: plugins/sudoers/ldap_conf.c:693 plugins/sudoers/ldap_conf.c:776 +#: plugins/sudoers/ldap_conf.c:695 plugins/sudoers/ldap_conf.c:778 #: 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:717 -#: plugins/sudoers/log_client.c:739 plugins/sudoers/log_client.c:744 -#: plugins/sudoers/log_client.c:1426 plugins/sudoers/log_client.c:1547 -#: plugins/sudoers/log_client.c:1670 plugins/sudoers/log_client.c:1993 -#: plugins/sudoers/log_client.c:2052 plugins/sudoers/logging.c:110 +#: plugins/sudoers/ldap_util.c:615 plugins/sudoers/linux_audit.c:86 +#: plugins/sudoers/log_client.c:117 plugins/sudoers/log_client.c:237 +#: plugins/sudoers/log_client.c:259 plugins/sudoers/log_client.c:273 +#: plugins/sudoers/log_client.c:411 plugins/sudoers/log_client.c:726 +#: plugins/sudoers/log_client.c:748 plugins/sudoers/log_client.c:753 +#: plugins/sudoers/log_client.c:1449 plugins/sudoers/log_client.c:1570 +#: plugins/sudoers/log_client.c:1693 plugins/sudoers/log_client.c:2018 +#: plugins/sudoers/log_client.c:2077 plugins/sudoers/logging.c:110 #: plugins/sudoers/logging.c:189 plugins/sudoers/logging.c:190 -#: plugins/sudoers/logging.c:475 plugins/sudoers/logging.c:711 -#: plugins/sudoers/logging.c:755 plugins/sudoers/logging.c:872 -#: plugins/sudoers/logging.c:925 plugins/sudoers/logging.c:932 -#: plugins/sudoers/lookup.c:337 plugins/sudoers/lookup.c:354 -#: plugins/sudoers/lookup.c:373 plugins/sudoers/lookup.c:392 -#: plugins/sudoers/lookup.c:409 plugins/sudoers/lookup.c:432 -#: plugins/sudoers/lookup.c:443 plugins/sudoers/match_command.c:301 -#: plugins/sudoers/match_command.c:573 plugins/sudoers/match_command.c:640 -#: plugins/sudoers/match_command.c:737 plugins/sudoers/match_command.c:784 +#: plugins/sudoers/logging.c:483 plugins/sudoers/logging.c:723 +#: plugins/sudoers/logging.c:763 plugins/sudoers/logging.c:880 +#: plugins/sudoers/logging.c:933 plugins/sudoers/logging.c:940 +#: plugins/sudoers/lookup.c:330 plugins/sudoers/lookup.c:347 +#: plugins/sudoers/lookup.c:365 plugins/sudoers/lookup.c:383 +#: plugins/sudoers/lookup.c:400 plugins/sudoers/lookup.c:422 +#: plugins/sudoers/lookup.c:433 plugins/sudoers/match_command.c:279 +#: plugins/sudoers/match_command.c:543 plugins/sudoers/match_command.c:607 +#: plugins/sudoers/match_command.c:702 plugins/sudoers/match_command.c:749 #: plugins/sudoers/match_digest.c:88 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 @@ -394,52 +388,52 @@ msgstr "Замінник «%s» вже визначено" #: plugins/sudoers/parse_ldif.c:595 plugins/sudoers/parse_ldif.c:624 #: plugins/sudoers/parse_ldif.c:649 plugins/sudoers/parse_ldif.c:707 #: plugins/sudoers/parse_ldif.c:724 plugins/sudoers/parse_ldif.c:752 -#: plugins/sudoers/parse_ldif.c:759 plugins/sudoers/policy.c:157 -#: plugins/sudoers/policy.c:166 plugins/sudoers/policy.c:175 -#: plugins/sudoers/policy.c:204 plugins/sudoers/policy.c:374 -#: plugins/sudoers/policy.c:390 plugins/sudoers/policy.c:392 -#: plugins/sudoers/policy.c:430 plugins/sudoers/policy.c:439 -#: plugins/sudoers/policy.c:448 plugins/sudoers/policy.c:457 -#: plugins/sudoers/policy.c:493 plugins/sudoers/policy.c:502 -#: plugins/sudoers/policy.c:511 plugins/sudoers/policy.c:520 -#: plugins/sudoers/policy.c:529 plugins/sudoers/policy.c:538 -#: plugins/sudoers/policy.c:547 plugins/sudoers/policy.c:646 -#: plugins/sudoers/policy.c:1061 plugins/sudoers/prompt.c:94 +#: plugins/sudoers/parse_ldif.c:759 plugins/sudoers/policy.c:152 +#: plugins/sudoers/policy.c:161 plugins/sudoers/policy.c:170 +#: plugins/sudoers/policy.c:199 plugins/sudoers/policy.c:357 +#: plugins/sudoers/policy.c:373 plugins/sudoers/policy.c:375 +#: plugins/sudoers/policy.c:414 plugins/sudoers/policy.c:423 +#: plugins/sudoers/policy.c:432 plugins/sudoers/policy.c:441 +#: plugins/sudoers/policy.c:492 plugins/sudoers/policy.c:501 +#: plugins/sudoers/policy.c:510 plugins/sudoers/policy.c:519 +#: plugins/sudoers/policy.c:528 plugins/sudoers/policy.c:537 +#: plugins/sudoers/policy.c:546 plugins/sudoers/policy.c:654 +#: plugins/sudoers/policy.c:1071 plugins/sudoers/prompt.c:94 #: plugins/sudoers/pwutil.c:219 plugins/sudoers/pwutil.c:290 #: plugins/sudoers/pwutil.c:368 plugins/sudoers/pwutil.c:542 #: plugins/sudoers/pwutil.c:607 plugins/sudoers/pwutil.c:679 -#: plugins/sudoers/pwutil.c:877 plugins/sudoers/pwutil.c:967 -#: plugins/sudoers/pwutil.c:1015 plugins/sudoers/pwutil.c:1076 +#: plugins/sudoers/pwutil.c:877 plugins/sudoers/pwutil.c:970 +#: plugins/sudoers/pwutil.c:1018 plugins/sudoers/pwutil.c:1082 #: plugins/sudoers/set_perms.c:374 plugins/sudoers/set_perms.c:723 #: plugins/sudoers/set_perms.c:1096 plugins/sudoers/set_perms.c:1409 -#: plugins/sudoers/set_perms.c:1579 plugins/sudoers/sethost.c:85 +#: plugins/sudoers/set_perms.c:1579 plugins/sudoers/sethost.c:89 #: plugins/sudoers/sssd.c:144 plugins/sudoers/sssd.c:186 #: plugins/sudoers/sssd.c:415 plugins/sudoers/sssd.c:480 #: plugins/sudoers/sssd.c:507 plugins/sudoers/sssd.c:570 #: plugins/sudoers/sssd.c:765 plugins/sudoers/strvec_join.c:53 #: plugins/sudoers/sudoers.c:405 plugins/sudoers/sudoers.c:412 -#: plugins/sudoers/sudoers.c:656 plugins/sudoers/sudoers.c:666 -#: plugins/sudoers/sudoers.c:811 plugins/sudoers/sudoers.c:877 -#: plugins/sudoers/sudoers.c:936 plugins/sudoers/sudoers.c:985 -#: plugins/sudoers/sudoers.c:1144 plugins/sudoers/sudoers.c:1213 -#: plugins/sudoers/sudoers.c:1306 plugins/sudoers/sudoers_cb.c:150 +#: plugins/sudoers/sudoers.c:673 plugins/sudoers/sudoers.c:683 +#: plugins/sudoers/sudoers.c:828 plugins/sudoers/sudoers.c:894 +#: plugins/sudoers/sudoers.c:953 plugins/sudoers/sudoers.c:1002 +#: plugins/sudoers/sudoers.c:1162 plugins/sudoers/sudoers.c:1231 +#: plugins/sudoers/sudoers.c:1324 plugins/sudoers/sudoers_cb.c:150 #: plugins/sudoers/sudoreplay.c:559 plugins/sudoers/sudoreplay.c:562 -#: plugins/sudoers/sudoreplay.c:1279 plugins/sudoers/sudoreplay.c:1335 -#: plugins/sudoers/sudoreplay.c:1531 plugins/sudoers/sudoreplay.c:1535 +#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1337 +#: plugins/sudoers/sudoreplay.c:1533 plugins/sudoers/sudoreplay.c:1537 #: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:255 #: plugins/sudoers/testsudoers.c:264 plugins/sudoers/testsudoers.c:275 #: plugins/sudoers/testsudoers.c:282 plugins/sudoers/testsudoers.c:302 -#: plugins/sudoers/testsudoers.c:758 plugins/sudoers/timestamp.c:469 -#: plugins/sudoers/timestamp.c:513 plugins/sudoers/timestamp.c:1042 -#: plugins/sudoers/timestamp.c:1216 plugins/sudoers/toke_util.c:79 +#: plugins/sudoers/testsudoers.c:756 plugins/sudoers/timestamp.c:468 +#: plugins/sudoers/timestamp.c:514 plugins/sudoers/timestamp.c:1045 +#: plugins/sudoers/timestamp.c:1248 plugins/sudoers/toke_util.c:79 #: plugins/sudoers/toke_util.c:108 plugins/sudoers/toke_util.c:134 #: plugins/sudoers/toke_util.c:163 plugins/sudoers/toke_util.c:204 -#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:151 +#: plugins/sudoers/tsdump.c:136 plugins/sudoers/visudo.c:151 #: plugins/sudoers/visudo.c:258 plugins/sudoers/visudo.c:383 #: plugins/sudoers/visudo.c:389 plugins/sudoers/visudo.c:501 #: plugins/sudoers/visudo.c:1073 plugins/sudoers/visudo.c:1094 -#: plugins/sudoers/visudo.c:1189 toke.l:1031 toke.l:1194 toke.l:1213 -#: toke.l:1240 toke.l:1309 toke.l:1320 +#: plugins/sudoers/visudo.c:1189 toke.l:1011 toke.l:1174 toke.l:1193 +#: toke.l:1220 toke.l:1289 toke.l:1300 #, c-format msgid "%s: %s" msgstr "%s: %s" @@ -468,12 +462,12 @@ msgstr "не вдалося створити відгалуження: %m" msgid "unable to open pipe: %m" msgstr "не вдалося відкрити канал: %m" -#: lib/eventlog/eventlog.c:1000 +#: lib/eventlog/eventlog.c:1013 #, c-format msgid "%8s : %s" msgstr "%8s : %s" -#: lib/eventlog/eventlog.c:1029 +#: lib/eventlog/eventlog.c:1042 #, c-format msgid "%8s : (command continued) %s" msgstr "%8s : (команда продовжується) %s" @@ -487,73 +481,73 @@ msgstr "мало бути використано JSON_STRING, отримано % msgid "JSON_ARRAY too large" msgstr "JSON_ARRAY є надто великим" -#: lib/eventlog/parse_json.c:506 +#: lib/eventlog/parse_json.c:523 msgid "missing double quote in name" msgstr "пропущено подвійні лапки у назві" -#: lib/eventlog/parse_json.c:624 +#: lib/eventlog/parse_json.c:641 msgid "missing JSON_OBJECT" msgstr "пропущено JSON_OBJECT" -#: lib/eventlog/parse_json.c:628 +#: lib/eventlog/parse_json.c:645 #, c-format msgid "expected JSON_OBJECT, got %d" msgstr "мало бути використано JSON_OBJECT, отримано %d" -#: lib/eventlog/parse_json.c:762 +#: lib/eventlog/parse_json.c:779 #, c-format msgid "json stack exhausted (max %u frames)" msgstr "вичерпано стек json (у стеку має бути не більше %u кадрів)" -#: lib/eventlog/parse_json.c:840 +#: lib/eventlog/parse_json.c:857 msgid "objects must consist of name:value pairs" msgstr "об'єкти мають складатися з пар «назва:значення»" -#: lib/eventlog/parse_json.c:845 lib/eventlog/parse_json.c:876 -#: lib/eventlog/parse_json.c:920 lib/eventlog/parse_json.c:942 -#: lib/eventlog/parse_json.c:964 lib/eventlog/parse_json.c:986 -#: lib/eventlog/parse_json.c:1008 +#: lib/eventlog/parse_json.c:862 lib/eventlog/parse_json.c:893 +#: lib/eventlog/parse_json.c:937 lib/eventlog/parse_json.c:959 +#: lib/eventlog/parse_json.c:981 lib/eventlog/parse_json.c:1003 +#: lib/eventlog/parse_json.c:1025 msgid "missing separator between values" msgstr "пропущено роздільник між значеннями" -#: lib/eventlog/parse_json.c:860 lib/eventlog/parse_json.c:1034 +#: lib/eventlog/parse_json.c:877 lib/eventlog/parse_json.c:1051 msgid "unmatched close brace" msgstr "завершальна фігурна дужка без початкової" -#: lib/eventlog/parse_json.c:871 +#: lib/eventlog/parse_json.c:888 msgid "unexpected array" msgstr "неочікуваний масив" -#: lib/eventlog/parse_json.c:891 lib/eventlog/parse_json.c:1037 +#: lib/eventlog/parse_json.c:908 lib/eventlog/parse_json.c:1054 msgid "unmatched close bracket" msgstr "завершальна дужка без початкової" -#: lib/eventlog/parse_json.c:902 +#: lib/eventlog/parse_json.c:919 msgid "unexpected string" msgstr "неочікуваний рядок" -#: lib/eventlog/parse_json.c:913 +#: lib/eventlog/parse_json.c:930 msgid "missing colon after name" msgstr "пропущено двокрапку після назви" -#: lib/eventlog/parse_json.c:934 lib/eventlog/parse_json.c:956 +#: lib/eventlog/parse_json.c:951 lib/eventlog/parse_json.c:973 msgid "unexpected boolean" msgstr "неочікуване булеве значення" -#: lib/eventlog/parse_json.c:978 +#: lib/eventlog/parse_json.c:995 msgid "unexpected null" msgstr "неочікуване порожнє значення" -#: lib/eventlog/parse_json.c:999 +#: lib/eventlog/parse_json.c:1016 msgid "unexpected number" msgstr "неочікуване число" -#: lib/eventlog/parse_json.c:1045 +#: lib/eventlog/parse_json.c:1062 msgid "parse error" msgstr "помилка обробки" -#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1290 -#: plugins/sudoers/sudoreplay.c:1291 plugins/sudoers/sudoreplay.c:1587 +#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1303 +#: plugins/sudoers/sudoreplay.c:1293 plugins/sudoers/sudoreplay.c:1589 #, c-format msgid "invalid regular expression \"%s\": %s" msgstr "некоректний формальний вираз «%s»: %s" @@ -593,8 +587,8 @@ msgstr "%s: не вказано даних щодо групи, від імен msgid "%s exists but is not a directory (0%o)" msgstr "%s існує, але не є каталогом (0%o)" -#: lib/iolog/iolog_mkdirs.c:124 lib/iolog/iolog_mkdtemp.c:80 -#: logsrvd/iolog_writer.c:795 plugins/sudoers/timestamp.c:218 +#: lib/iolog/iolog_mkdirs.c:125 lib/iolog/iolog_mkdtemp.c:80 +#: logsrvd/iolog_writer.c:803 plugins/sudoers/timestamp.c:218 #, c-format msgid "unable to mkdir %s" msgstr "не вдалося створити каталог %s" @@ -632,90 +626,90 @@ msgstr "%s: помилка протоколу: помилковий тип дл msgid "%s: protocol error: NULL value found in %s" msgstr "%s: помилка протоколу: виявлено значення NULL у %s" -#: logsrvd/iolog_writer.c:141 plugins/sudoers/logging.c:1024 -#: plugins/sudoers/policy.c:613 +#: logsrvd/iolog_writer.c:141 plugins/sudoers/logging.c:1035 +#: plugins/sudoers/policy.c:621 msgid "unable to generate UUID" msgstr "не вдалося створити UUID" -#: logsrvd/iolog_writer.c:354 logsrvd/iolog_writer.c:359 -#: logsrvd/iolog_writer.c:364 logsrvd/iolog_writer.c:369 +#: logsrvd/iolog_writer.c:362 logsrvd/iolog_writer.c:367 +#: logsrvd/iolog_writer.c:372 logsrvd/iolog_writer.c:377 #, c-format msgid "%s: protocol error: %s missing from AcceptMessage" msgstr "%s: помилка протоколу: не вистачає %s з AcceptMessage" -#: logsrvd/iolog_writer.c:430 +#: logsrvd/iolog_writer.c:438 #, c-format msgid "%s: unable to format session id" msgstr "%s: не вдалося виконати форматування ідентифікатора сеансу" -#: logsrvd/iolog_writer.c:444 logsrvd/iolog_writer.c:458 -#: logsrvd/iolog_writer.c:472 logsrvd/iolog_writer.c:487 -#: logsrvd/iolog_writer.c:501 logsrvd/iolog_writer.c:515 +#: logsrvd/iolog_writer.c:452 logsrvd/iolog_writer.c:466 +#: logsrvd/iolog_writer.c:480 logsrvd/iolog_writer.c:495 +#: logsrvd/iolog_writer.c:509 logsrvd/iolog_writer.c:523 #, c-format msgid "%s: %s is not set" msgstr "%s: %s не встановлено" -#: logsrvd/iolog_writer.c:551 logsrvd/iolog_writer.c:558 +#: logsrvd/iolog_writer.c:559 logsrvd/iolog_writer.c:566 #, c-format msgid "unable to expand iolog path %s" msgstr "не вдалося розгорнути шлях iolog %s" -#: logsrvd/iolog_writer.c:576 +#: logsrvd/iolog_writer.c:584 #, c-format msgid "unable to create iolog path %s" msgstr "не вдалося створити шлях iolog %s" -#: logsrvd/iolog_writer.c:606 +#: logsrvd/iolog_writer.c:614 #, c-format msgid "invalid iofd %d" msgstr "некоректний файловий дескриптор введення-виведення %d" -#: logsrvd/iolog_writer.c:626 +#: logsrvd/iolog_writer.c:634 #, c-format msgid "error closing iofd %u: %s" msgstr "помилка під час спроби закрити дескриптор файла введення-виведення %u: %s" -#: logsrvd/iolog_writer.c:647 +#: logsrvd/iolog_writer.c:655 #, c-format msgid "error flushing iofd %u: %s" msgstr "помилка під час спроби витерти дескриптор файла введення-виведення %u: %s" -#: logsrvd/iolog_writer.c:765 +#: logsrvd/iolog_writer.c:773 #, c-format msgid "invalid I/O log %s: %s referenced but not present" msgstr "некоректний журнал введення-виведення %s: маємо посилання на %s без самого запису" -#: logsrvd/iolog_writer.c:777 logsrvd/logsrvd_journal.c:391 +#: logsrvd/iolog_writer.c:785 logsrvd/logsrvd_journal.c:391 #, c-format msgid "%s: unable to find resume point [%lld, %ld]" msgstr "%s: не вдалося знайти точку відновлення [%lld, %ld]" -#: logsrvd/iolog_writer.c:799 logsrvd/logsrvd_journal.c:434 +#: logsrvd/iolog_writer.c:807 logsrvd/logsrvd_journal.c:434 #: logsrvd/logsrvd_queue.c:115 logsrvd/tls_init.c:256 -#: plugins/sudoers/check.c:285 plugins/sudoers/cvtsudoers.c:758 -#: plugins/sudoers/cvtsudoers.c:780 plugins/sudoers/cvtsudoers.c:1461 -#: plugins/sudoers/cvtsudoers_csv.c:697 plugins/sudoers/cvtsudoers_json.c:902 -#: plugins/sudoers/cvtsudoers_ldif.c:711 plugins/sudoers/sudoers.c:1291 -#: plugins/sudoers/sudoers.c:1317 plugins/sudoers/sudoreplay.c:1497 -#: plugins/sudoers/timestamp.c:478 plugins/sudoers/tsdump.c:128 +#: plugins/sudoers/check.c:278 plugins/sudoers/cvtsudoers.c:758 +#: plugins/sudoers/cvtsudoers.c:780 plugins/sudoers/cvtsudoers.c:1457 +#: plugins/sudoers/cvtsudoers_csv.c:722 plugins/sudoers/cvtsudoers_json.c:1034 +#: plugins/sudoers/cvtsudoers_ldif.c:753 plugins/sudoers/sudoers.c:1309 +#: plugins/sudoers/sudoers.c:1335 plugins/sudoers/sudoreplay.c:1499 +#: plugins/sudoers/timestamp.c:477 plugins/sudoers/tsdump.c:141 #: plugins/sudoers/visudo.c:990 #, c-format msgid "unable to open %s" msgstr "не вдалося відкрити %s" -#: logsrvd/iolog_writer.c:811 logsrvd/logsrv_util.c:111 +#: logsrvd/iolog_writer.c:819 logsrvd/logsrv_util.c:111 #: logsrvd/logsrv_util.c:118 plugins/sudoers/sudoreplay.c:355 #: plugins/sudoers/sudoreplay.c:361 #, c-format msgid "unable to open %s/%s" msgstr "не вдалося відкрити %s/%s" -#: logsrvd/iolog_writer.c:824 +#: logsrvd/iolog_writer.c:832 #, c-format msgid "unable to copy %s/%s to %s/%s: %s" msgstr "не вдалося скопіювати %s/%s до %s/%s: %s" -#: logsrvd/iolog_writer.c:853 logsrvd/logsrvd_journal.c:198 +#: logsrvd/iolog_writer.c:861 logsrvd/logsrvd_journal.c:198 #, c-format msgid "unable to rename %s to %s" msgstr "не вдалося перейменувати %s на %s" @@ -735,209 +729,209 @@ msgstr "не вистачає файла журналу введення-вив msgid "%s/%s: unable to seek forward %zu" msgstr "%s/%s: неможливо виконати позиціювання вперед на %zu" -#: logsrvd/logsrvd.c:271 logsrvd/logsrvd_queue.c:135 +#: logsrvd/logsrvd.c:272 logsrvd/logsrvd_queue.c:135 msgid "unable to connect to relay" msgstr "не вдалося встановити з'єднання із ретранслятором" -#: logsrvd/logsrvd.c:338 logsrvd/logsrvd_relay.c:847 +#: logsrvd/logsrvd.c:339 logsrvd/logsrvd_relay.c:847 #, c-format msgid "server message too large: %zu" msgstr "надто велике повідомлення сервера: %zu" -#: logsrvd/logsrvd.c:430 logsrvd/logsrvd.c:553 logsrvd/logsrvd.c:639 -#: logsrvd/logsrvd.c:881 logsrvd/logsrvd.c:895 logsrvd/logsrvd.c:1056 -#: logsrvd/logsrvd.c:1181 logsrvd/logsrvd.c:1354 logsrvd/logsrvd.c:1372 -#: logsrvd/logsrvd.c:1471 logsrvd/logsrvd.c:1596 logsrvd/logsrvd.c:1783 +#: logsrvd/logsrvd.c:431 logsrvd/logsrvd.c:554 logsrvd/logsrvd.c:640 +#: logsrvd/logsrvd.c:882 logsrvd/logsrvd.c:896 logsrvd/logsrvd.c:1057 +#: logsrvd/logsrvd.c:1182 logsrvd/logsrvd.c:1364 logsrvd/logsrvd.c:1382 +#: logsrvd/logsrvd.c:1481 logsrvd/logsrvd.c:1606 logsrvd/logsrvd.c:1793 #: logsrvd/logsrvd_journal.c:503 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:391 logsrvd/logsrvd_relay.c:583 #: logsrvd/logsrvd_relay.c:747 logsrvd/logsrvd_relay.c:1137 -#: logsrvd/sendlog.c:1308 logsrvd/tls_client.c:136 logsrvd/tls_client.c:152 -#: logsrvd/tls_client.c:216 plugins/sudoers/audit.c:281 -#: plugins/sudoers/iolog.c:1041 plugins/sudoers/iolog.c:1175 -#: plugins/sudoers/iolog.c:1274 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:613 -#: plugins/sudoers/log_client.c:620 plugins/sudoers/log_client.c:1114 -#: plugins/sudoers/log_client.c:1395 plugins/sudoers/log_client.c:1436 -#: plugins/sudoers/log_client.c:1444 plugins/sudoers/log_client.c:1603 -#: plugins/sudoers/log_client.c:1728 plugins/sudoers/log_client.c:2060 -#: plugins/sudoers/log_client.c:2068 plugins/sudoers/logging.c:148 +#: logsrvd/sendlog.c:1333 logsrvd/tls_client.c:145 logsrvd/tls_client.c:161 +#: logsrvd/tls_client.c:225 plugins/sudoers/audit.c:281 +#: plugins/sudoers/iolog.c:1049 plugins/sudoers/iolog.c:1183 +#: plugins/sudoers/iolog.c:1282 plugins/sudoers/log_client.c:121 +#: plugins/sudoers/log_client.c:352 plugins/sudoers/log_client.c:368 +#: plugins/sudoers/log_client.c:416 plugins/sudoers/log_client.c:622 +#: plugins/sudoers/log_client.c:629 plugins/sudoers/log_client.c:1137 +#: plugins/sudoers/log_client.c:1418 plugins/sudoers/log_client.c:1459 +#: plugins/sudoers/log_client.c:1467 plugins/sudoers/log_client.c:1626 +#: plugins/sudoers/log_client.c:1751 plugins/sudoers/log_client.c:2085 +#: plugins/sudoers/log_client.c:2093 plugins/sudoers/logging.c:148 #: plugins/sudoers/logging.c:206 plugins/sudoers/sudoreplay.c:519 -#: plugins/sudoers/sudoreplay.c:566 plugins/sudoers/sudoreplay.c:808 -#: plugins/sudoers/sudoreplay.c:920 plugins/sudoers/sudoreplay.c:1011 -#: plugins/sudoers/sudoreplay.c:1026 plugins/sudoers/sudoreplay.c:1033 -#: plugins/sudoers/sudoreplay.c:1040 plugins/sudoers/sudoreplay.c:1047 -#: plugins/sudoers/sudoreplay.c:1054 plugins/sudoers/sudoreplay.c:1182 +#: plugins/sudoers/sudoreplay.c:566 plugins/sudoers/sudoreplay.c:810 +#: plugins/sudoers/sudoreplay.c:922 plugins/sudoers/sudoreplay.c:1013 +#: plugins/sudoers/sudoreplay.c:1028 plugins/sudoers/sudoreplay.c:1035 +#: plugins/sudoers/sudoreplay.c:1042 plugins/sudoers/sudoreplay.c:1049 +#: plugins/sudoers/sudoreplay.c:1056 plugins/sudoers/sudoreplay.c:1184 msgid "unable to add event to queue" msgstr "не вдалося додати подію до черги обробки" -#: logsrvd/logsrvd.c:454 logsrvd/logsrvd.c:491 logsrvd/logsrvd.c:523 -#: logsrvd/logsrvd.c:577 logsrvd/logsrvd.c:656 logsrvd/logsrvd.c:692 -#: logsrvd/logsrvd.c:728 logsrvd/logsrvd.c:764 logsrvd/logsrvd_relay.c:512 +#: logsrvd/logsrvd.c:455 logsrvd/logsrvd.c:492 logsrvd/logsrvd.c:524 +#: logsrvd/logsrvd.c:578 logsrvd/logsrvd.c:657 logsrvd/logsrvd.c:693 +#: logsrvd/logsrvd.c:729 logsrvd/logsrvd.c:765 logsrvd/logsrvd_relay.c:512 #: logsrvd/logsrvd_relay.c:545 #, c-format msgid "unexpected state %d for %s" msgstr "неочікуваний стан %d %s" -#: logsrvd/logsrvd.c:455 logsrvd/logsrvd.c:492 logsrvd/logsrvd.c:524 -#: logsrvd/logsrvd.c:578 logsrvd/logsrvd.c:657 logsrvd/logsrvd.c:693 -#: logsrvd/logsrvd.c:729 logsrvd/logsrvd.c:765 logsrvd/logsrvd_relay.c:514 +#: logsrvd/logsrvd.c:456 logsrvd/logsrvd.c:493 logsrvd/logsrvd.c:525 +#: logsrvd/logsrvd.c:579 logsrvd/logsrvd.c:658 logsrvd/logsrvd.c:694 +#: logsrvd/logsrvd.c:730 logsrvd/logsrvd.c:766 logsrvd/logsrvd_relay.c:514 #: logsrvd/logsrvd_relay.c:547 msgid "state machine error" msgstr "помилка скінченного автомата" -#: logsrvd/logsrvd.c:461 logsrvd/logsrvd.c:462 +#: logsrvd/logsrvd.c:462 logsrvd/logsrvd.c:463 msgid "invalid AcceptMessage" msgstr "некоректне AcceptMessage" -#: logsrvd/logsrvd.c:498 logsrvd/logsrvd.c:499 +#: logsrvd/logsrvd.c:499 logsrvd/logsrvd.c:500 msgid "invalid RejectMessage" msgstr "некоректне RejectMessage" -#: logsrvd/logsrvd.c:530 logsrvd/logsrvd.c:531 +#: logsrvd/logsrvd.c:531 logsrvd/logsrvd.c:532 msgid "invalid ExitMessage" msgstr "некоректне ExitMessage" -#: logsrvd/logsrvd.c:584 logsrvd/logsrvd.c:585 +#: logsrvd/logsrvd.c:585 logsrvd/logsrvd.c:586 msgid "invalid RestartMessage" msgstr "некоректне RestartMessage" -#: logsrvd/logsrvd.c:619 logsrvd/logsrvd.c:620 +#: logsrvd/logsrvd.c:620 logsrvd/logsrvd.c:621 msgid "invalid AlertMessage" msgstr "некоректне AlertMessage" -#: logsrvd/logsrvd.c:661 logsrvd/logsrvd.c:697 logsrvd/logsrvd.c:733 +#: logsrvd/logsrvd.c:662 logsrvd/logsrvd.c:698 logsrvd/logsrvd.c:734 #, c-format msgid "%s: unexpected IoBuffer" msgstr "%s: неочікуване значення IoBuffer" -#: logsrvd/logsrvd.c:662 logsrvd/logsrvd.c:698 logsrvd/logsrvd.c:734 +#: logsrvd/logsrvd.c:663 logsrvd/logsrvd.c:699 logsrvd/logsrvd.c:735 msgid "protocol error" msgstr "помилка протоколу" -#: logsrvd/logsrvd.c:668 logsrvd/logsrvd.c:669 +#: logsrvd/logsrvd.c:669 logsrvd/logsrvd.c:670 msgid "invalid IoBuffer" msgstr "некоректне IoBuffer" -#: logsrvd/logsrvd.c:704 logsrvd/logsrvd.c:705 +#: logsrvd/logsrvd.c:705 logsrvd/logsrvd.c:706 msgid "invalid ChangeWindowSize" msgstr "некоректне ChangeWindowSize" -#: logsrvd/logsrvd.c:740 logsrvd/logsrvd.c:741 +#: logsrvd/logsrvd.c:741 logsrvd/logsrvd.c:742 msgid "invalid CommandSuspend" msgstr "некоректне CommandSuspend" -#: logsrvd/logsrvd.c:790 logsrvd/logsrvd_journal.c:302 -#: logsrvd/logsrvd_relay.c:654 logsrvd/sendlog.c:1207 -#: plugins/sudoers/log_client.c:1593 +#: logsrvd/logsrvd.c:791 logsrvd/logsrvd_journal.c:302 +#: logsrvd/logsrvd_relay.c:654 logsrvd/sendlog.c:1232 +#: plugins/sudoers/log_client.c:1616 #, c-format msgid "unable to unpack %s size %zu" msgstr "не вдалося розпакувати %s, розмір %zu" -#: logsrvd/logsrvd.c:835 logsrvd/logsrvd_journal.c:376 +#: logsrvd/logsrvd.c:836 logsrvd/logsrvd_journal.c:376 #: logsrvd/logsrvd_relay.c:678 #, c-format msgid "unexpected type_case value %d in %s from %s" msgstr "неочікуване значення type_case %d у %s від %s" -#: logsrvd/logsrvd.c:837 +#: logsrvd/logsrvd.c:838 msgid "unrecognized ClientMessage type" msgstr "нерозпізнаний тип ClientMessage" -#: logsrvd/logsrvd.c:927 +#: logsrvd/logsrvd.c:928 #, c-format msgid "timed out writing to client %s" msgstr "перевищено час очікування на завершення запису до клієнта %s" -#: logsrvd/logsrvd.c:932 logsrvd/logsrvd_relay.c:919 logsrvd/sendlog.c:1413 +#: logsrvd/logsrvd.c:933 logsrvd/logsrvd_relay.c:919 logsrvd/sendlog.c:1438 #, c-format msgid "missing write buffer for client %s" msgstr "пропущено буфер запису для клієнта %s" -#: logsrvd/logsrvd.c:1027 +#: logsrvd/logsrvd.c:1028 #, c-format msgid "timed out reading from client %s" msgstr "перевищено час очікування на читання з клієнта %s" -#: logsrvd/logsrvd.c:1068 logsrvd/logsrvd_relay.c:782 +#: logsrvd/logsrvd.c:1069 logsrvd/logsrvd_relay.c:782 #, c-format msgid "EOF from %s without proper TLS shutdown" msgstr "EOF від %s без належного закриття TLS" -#: logsrvd/logsrvd.c:1112 logsrvd/logsrvd_relay.c:205 logsrvd/sendlog.c:336 -#: plugins/sudoers/log_client.c:723 +#: logsrvd/logsrvd.c:1113 logsrvd/logsrvd_relay.c:205 logsrvd/sendlog.c:336 +#: plugins/sudoers/log_client.c:732 #, c-format msgid "client message too large: %zu" msgstr "повідомлення клієнта є надто довгим: %zu" -#: logsrvd/logsrvd.c:1113 logsrvd/logsrvd_journal.c:259 +#: logsrvd/logsrvd.c:1114 logsrvd/logsrvd_journal.c:259 #: logsrvd/logsrvd_journal.c:260 msgid "client message too large" msgstr "повідомлення клієнта є надто великим" -#: logsrvd/logsrvd.c:1131 logsrvd/logsrvd.c:1132 +#: logsrvd/logsrvd.c:1132 logsrvd/logsrvd.c:1133 msgid "invalid ClientMessage" msgstr "некоректне ClientMessage" -#: logsrvd/logsrvd.c:1432 +#: logsrvd/logsrvd.c:1442 msgid "unable to get remote IP addr" msgstr "не вдалося отримати віддалену IP-адресу" -#: logsrvd/logsrvd.c:1463 logsrvd/tls_client.c:203 -#: plugins/sudoers/log_client.c:281 +#: logsrvd/logsrvd.c:1473 logsrvd/tls_client.c:212 +#: plugins/sudoers/log_client.c:290 #, c-format msgid "Unable to attach user data to the ssl object: %s" msgstr "Не вдалося долучити дані користувача до об'єкта SSL: %s" -#: logsrvd/logsrvd.c:1646 logsrvd/logsrvd.c:2007 +#: logsrvd/logsrvd.c:1656 logsrvd/logsrvd.c:2050 msgid "unable to setup listen socket" msgstr "не вдалося налаштувати сокет очікування на дані" -#: logsrvd/logsrvd.c:1766 +#: logsrvd/logsrvd.c:1776 #, c-format msgid "unexpected signal %d" msgstr "неочікуваний сигнал %d" -#: logsrvd/logsrvd.c:1909 +#: logsrvd/logsrvd.c:1949 msgid "sudo log server" msgstr "сервер журналу sudo" -#: logsrvd/logsrvd.c:1911 logsrvd/sendlog.c:126 +#: logsrvd/logsrvd.c:1951 logsrvd/sendlog.c:126 msgid "Options:" msgstr "Параметри:" -#: logsrvd/logsrvd.c:1913 +#: logsrvd/logsrvd.c:1953 msgid "path to configuration file" msgstr "шлях до файла налаштувань" -#: logsrvd/logsrvd.c:1915 logsrvd/sendlog.c:128 +#: logsrvd/logsrvd.c:1955 logsrvd/sendlog.c:128 msgid "display help message and exit" msgstr "показати довідкове повідомлення і завершити роботу" -#: logsrvd/logsrvd.c:1917 +#: logsrvd/logsrvd.c:1957 msgid "do not fork, run in the foreground" msgstr "не відгалужувати, не переходити у фоновий режим під час виконання" -#: logsrvd/logsrvd.c:1919 +#: logsrvd/logsrvd.c:1959 msgid "percent chance connections will drop" msgstr "ймовірність розірвання з'єднання" -#: logsrvd/logsrvd.c:1921 logsrvd/sendlog.c:158 +#: logsrvd/logsrvd.c:1961 logsrvd/sendlog.c:158 msgid "display version information and exit" msgstr "показати дані щодо версії і завершити роботу" -#: logsrvd/logsrvd.c:1971 logsrvd/sendlog.c:1722 +#: logsrvd/logsrvd.c:2011 logsrvd/sendlog.c:1747 msgid "Protobuf-C version 1.3 or higher required" msgstr "Потрібна версія Protobuf-C 1.3 або новіша" -#: logsrvd/logsrvd.c:1987 +#: logsrvd/logsrvd.c:2027 #, c-format msgid "invalid random drop value: %s" msgstr "некоректне значення ймовірності скидання: %s" -#: logsrvd/logsrvd.c:1990 logsrvd/sendlog.c:1776 +#: logsrvd/logsrvd.c:2030 logsrvd/sendlog.c:1801 #: plugins/sudoers/cvtsudoers.c:250 plugins/sudoers/sudoreplay.c:294 #: plugins/sudoers/visudo.c:181 #, c-format @@ -946,16 +940,16 @@ msgstr "%s, версія %s\n" #: logsrvd/logsrvd_conf.c:422 plugins/sudoers/check.c:69 #: plugins/sudoers/exptilde.c:85 plugins/sudoers/iolog.c:122 -#: plugins/sudoers/sudoers.c:419 plugins/sudoers/sudoers.c:929 -#: plugins/sudoers/sudoers.c:1034 plugins/sudoers/sudoers.c:1424 +#: plugins/sudoers/sudoers.c:419 plugins/sudoers/sudoers.c:946 +#: plugins/sudoers/sudoers.c:1052 plugins/sudoers/sudoers.c:1442 #: plugins/sudoers/testsudoers.c:169 plugins/sudoers/testsudoers.c:285 -#: plugins/sudoers/testsudoers.c:459 +#: plugins/sudoers/testsudoers.c:459 plugins/sudoers/tsdump.c:131 #, c-format msgid "unknown user %s" msgstr "невідомий користувач %s" #: logsrvd/logsrvd_conf.c:439 plugins/sudoers/iolog.c:148 -#: plugins/sudoers/sudoers.c:425 plugins/sudoers/sudoers.c:1458 +#: plugins/sudoers/sudoers.c:425 plugins/sudoers/sudoers.c:1476 #: plugins/sudoers/testsudoers.c:483 #, c-format msgid "unknown group %s" @@ -966,7 +960,7 @@ msgstr "невідома група %s" msgid "unable to parse iolog mode %s" msgstr "не вдалося обробити запис режиму iolog %s" -#: logsrvd/logsrvd_conf.c:474 logsrvd/logsrvd_conf.c:1243 +#: logsrvd/logsrvd_conf.c:474 logsrvd/logsrvd_conf.c:1248 #, c-format msgid "invalid value for %s: %s" msgstr "некоректне значення %s: %s" @@ -980,65 +974,65 @@ msgstr "Підтримки TLS не передбачено" msgid "%s:%s" msgstr "%s:%s" -#: logsrvd/logsrvd_conf.c:622 logsrvd/logsrvd_conf.c:1032 +#: logsrvd/logsrvd_conf.c:622 logsrvd/logsrvd_conf.c:1037 #, c-format msgid "%s: not a fully qualified path" msgstr "%s: не є повноцінним записом шляхуnot a fully qualified path" -#: logsrvd/logsrvd_conf.c:951 logsrvd/logsrvd_conf.c:967 -#: logsrvd/logsrvd_conf.c:1676 +#: logsrvd/logsrvd_conf.c:956 logsrvd/logsrvd_conf.c:972 +#: logsrvd/logsrvd_conf.c:1681 #, c-format msgid "unknown syslog facility %s" msgstr "невідома можливість syslog %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 +#: logsrvd/logsrvd_conf.c:988 logsrvd/logsrvd_conf.c:1004 +#: logsrvd/logsrvd_conf.c:1020 logsrvd/logsrvd_conf.c:1685 +#: logsrvd/logsrvd_conf.c:1689 logsrvd/logsrvd_conf.c:1693 #, c-format msgid "unknown syslog priority %s" msgstr "невідома пріоритетність syslog %s" -#: logsrvd/logsrvd_conf.c:1197 +#: logsrvd/logsrvd_conf.c:1202 #, c-format msgid "%s:%d unmatched '[': %s" msgstr "%s:%d «[» без пари: %s" -#: logsrvd/logsrvd_conf.c:1203 +#: logsrvd/logsrvd_conf.c:1208 #, c-format msgid "%s:%d garbage after ']': %s" msgstr "%s:%d мотлох після «]»: %s" -#: logsrvd/logsrvd_conf.c:1215 +#: logsrvd/logsrvd_conf.c:1220 #, c-format msgid "%s:%d invalid config section: %s" msgstr "%s:%d некоректний розділ налаштувань: %s" -#: logsrvd/logsrvd_conf.c:1223 +#: logsrvd/logsrvd_conf.c:1228 #, c-format msgid "%s:%d invalid configuration line: %s" msgstr "%s:%d некоректний рядок налаштувань: %s" -#: logsrvd/logsrvd_conf.c:1229 +#: logsrvd/logsrvd_conf.c:1234 #, c-format msgid "%s:%d expected section name: %s" msgstr "%s:%d мало бути вказано назву розділу: %s" -#: logsrvd/logsrvd_conf.c:1251 +#: logsrvd/logsrvd_conf.c:1256 #, c-format msgid "%s:%d [%s] illegal key: %s" msgstr "%s:%d [%s] заборонений ключ: %s" -#: logsrvd/logsrvd_conf.c:1281 plugins/sudoers/cvtsudoers.c:273 -#: plugins/sudoers/logging.c:1076 +#: logsrvd/logsrvd_conf.c:1286 plugins/sudoers/cvtsudoers.c:273 +#: plugins/sudoers/logging.c:1087 #, c-format msgid "unable to open log file %s" msgstr "не вдалося відкрити файл журналу %s" -#: logsrvd/logsrvd_conf.c:1763 +#: logsrvd/logsrvd_conf.c:1768 msgid "unable to initialize server TLS context" msgstr "не вдалося ініціалізувати контекст сервера TLS" -#: logsrvd/logsrvd_conf.c:1783 +#: logsrvd/logsrvd_conf.c:1788 msgid "unable to initialize relay TLS context" msgstr "не вдалося ініціалізувати контекст ретранслятора TLS" @@ -1142,7 +1136,7 @@ msgstr "не вдалося виконати форматування буфер #: logsrvd/logsrvd_local.c:601 logsrvd/logsrvd_local.c:609 #: logsrvd/logsrvd_local.c:657 logsrvd/logsrvd_local.c:692 -#: plugins/sudoers/sudoreplay.c:344 toke.l:981 toke.l:984 +#: plugins/sudoers/sudoreplay.c:344 toke.l:961 toke.l:964 #, c-format msgid "%s/%s: %s" msgstr "%s/%s: %s" @@ -1176,8 +1170,8 @@ msgstr "не вдалося встановити з'єднання із вузл msgid "%s: invalid ServerHello, missing server_id" msgstr "%s: некоректне значення ServerHello — пропущено server_id" -#: logsrvd/logsrvd_relay.c:522 logsrvd/sendlog.c:1111 -#: plugins/sudoers/log_client.c:1479 +#: logsrvd/logsrvd_relay.c:522 logsrvd/sendlog.c:1136 +#: plugins/sudoers/log_client.c:1502 msgid "invalid ServerHello" msgstr "некоректне ServerHello" @@ -1281,7 +1275,7 @@ msgstr "припинити передавання даних після дося msgid "test audit server by sending selected I/O log n times in parallel" msgstr "перевірити сервер аудиту надсиланням вибраного журналу введення-виведення n разів у паралельному режимі" -#: logsrvd/sendlog.c:181 plugins/sudoers/log_client.c:453 +#: logsrvd/sendlog.c:181 plugins/sudoers/log_client.c:462 #, c-format msgid "unable to look up %s:%s: %s" msgstr "не вдалося виконати пошук %s:%s: %s" @@ -1290,108 +1284,108 @@ msgstr "не вдалося виконати пошук %s:%s: %s" msgid "unable to get server IP addr" msgstr "не вдалося отримати IP-адресу сервера" -#: logsrvd/sendlog.c:314 plugins/sudoers/sudoreplay.c:868 +#: logsrvd/sendlog.c:314 plugins/sudoers/sudoreplay.c:870 #, c-format msgid "unable to read %s/%s: %s" msgstr "не вдалося прочитати %s/%s: %s" -#: logsrvd/sendlog.c:1035 plugins/sudoers/iolog.c:959 -#: plugins/sudoers/iolog.c:1034 +#: logsrvd/sendlog.c:1060 plugins/sudoers/iolog.c:967 +#: plugins/sudoers/iolog.c:1042 #, c-format msgid "unexpected I/O event %d" msgstr "неочікувана подія введення-виведення — %d" -#: logsrvd/sendlog.c:1088 logsrvd/sendlog.c:1105 logsrvd/sendlog.c:1139 -#: plugins/sudoers/log_client.c:1129 plugins/sudoers/log_client.c:1405 -#: plugins/sudoers/log_client.c:1473 plugins/sudoers/log_client.c:1512 +#: logsrvd/sendlog.c:1113 logsrvd/sendlog.c:1130 logsrvd/sendlog.c:1164 +#: plugins/sudoers/log_client.c:1152 plugins/sudoers/log_client.c:1428 +#: plugins/sudoers/log_client.c:1496 plugins/sudoers/log_client.c:1535 #, c-format msgid "%s: unexpected state %d" msgstr "%s: неочікуваний стан — %d" -#: logsrvd/sendlog.c:1175 plugins/sudoers/log_client.c:1561 +#: logsrvd/sendlog.c:1200 plugins/sudoers/log_client.c:1584 #, c-format msgid "error message received from server: %s" msgstr "отримано повідомлення про помилку від сервера: %s" -#: logsrvd/sendlog.c:1188 plugins/sudoers/log_client.c:1574 +#: logsrvd/sendlog.c:1213 plugins/sudoers/log_client.c:1597 #, c-format msgid "abort message received from server: %s" msgstr "отримано повідомлення про переривання від сервера: %s" -#: logsrvd/sendlog.c:1247 plugins/sudoers/log_client.c:1624 +#: logsrvd/sendlog.c:1272 plugins/sudoers/log_client.c:1647 #, c-format msgid "%s: unexpected type_case value %d" msgstr "%s: неочікуване значення type_case — %d" -#: logsrvd/sendlog.c:1276 +#: logsrvd/sendlog.c:1301 msgid "timeout reading from server" msgstr "перевищено час очікування на читання з сервера" -#: logsrvd/sendlog.c:1327 plugins/sudoers/log_client.c:1747 +#: logsrvd/sendlog.c:1352 plugins/sudoers/log_client.c:1770 msgid "host name does not match certificate" msgstr "назва вузла не відповідає сертифікату" -#: logsrvd/sendlog.c:1361 +#: logsrvd/sendlog.c:1386 msgid "premature EOF" msgstr "передчасне завершення файла" -#: logsrvd/sendlog.c:1374 plugins/sudoers/log_client.c:1795 +#: logsrvd/sendlog.c:1399 plugins/sudoers/log_client.c:1818 #, c-format msgid "server message too large: %u" msgstr "повідомлення сервера є надто великим: %u" -#: logsrvd/sendlog.c:1430 +#: logsrvd/sendlog.c:1455 msgid "timeout writing to server" msgstr "перевищено час очікування на запис на сервері" -#: logsrvd/sendlog.c:1800 +#: logsrvd/sendlog.c:1825 msgid "both restart point and iolog ID must be specified" msgstr "слід вказати одночасно точку перезапуску та ідентифікатор журналу введення-виведення" -#: logsrvd/sendlog.c:1804 +#: logsrvd/sendlog.c:1829 msgid "a restart point may not be set when no I/O is sent" msgstr "точку перезапуску не можна встановлювати, якщо не надсилається жодних даних введення-виведення" -#: logsrvd/sendlog.c:1880 +#: logsrvd/sendlog.c:1905 #, c-format msgid "exited prematurely with state %d" msgstr "передчасний вихід зі станом %d" -#: logsrvd/sendlog.c:1881 +#: logsrvd/sendlog.c:1906 #, c-format msgid "elapsed time sent to server [%lld, %ld]" msgstr "на сервер надіслано дані щодо часу, який лишився [%lld, %ld]" -#: logsrvd/sendlog.c:1883 +#: logsrvd/sendlog.c:1908 #, c-format msgid "commit point received from server [%lld, %ld]" msgstr "отримано точку внеску від сервера [%lld, %ld]" -#: logsrvd/tls_client.c:111 plugins/sudoers/log_client.c:315 +#: logsrvd/tls_client.c:120 plugins/sudoers/log_client.c:324 msgid "TLS handshake timeout occurred" msgstr "сталося перевищення часу очікування на узгодження зв'язку TLS" -#: logsrvd/tls_client.c:131 logsrvd/tls_client.c:147 -#: plugins/sudoers/log_client.c:337 plugins/sudoers/log_client.c:353 +#: logsrvd/tls_client.c:140 logsrvd/tls_client.c:156 +#: plugins/sudoers/log_client.c:346 plugins/sudoers/log_client.c:362 msgid "unable to set event" msgstr "не вдалося встановити подію" -#: logsrvd/tls_client.c:157 logsrvd/tls_client.c:161 +#: logsrvd/tls_client.c:166 logsrvd/tls_client.c:170 #, c-format msgid "TLS connection failed: %s" msgstr "Не вдалося встановити з'єднання TLS: %s" -#: logsrvd/tls_client.c:196 +#: logsrvd/tls_client.c:205 #, c-format msgid "unable to allocate ssl object: %s" msgstr "не вдалося розмістити об'єкт SSL у пам'яті: %s" -#: logsrvd/tls_client.c:210 +#: logsrvd/tls_client.c:219 #, c-format msgid "Unable to attach socket to the ssl object: %s" msgstr "Не вдалося долучити сокет до об'єкта SSL: %s" -#: logsrvd/tls_client.c:238 +#: logsrvd/tls_client.c:247 msgid "unable to initialize TLS context" msgstr "не вдалося ініціалізувати контекст TLS" @@ -1420,12 +1414,11 @@ msgstr "не вдалося створити контекст TLS: %s" msgid "unable to set minimum protocol version to TLS 1.2: %s" msgstr "не вдалося встановити мінімальну версію протоколу у значення TLS 1.2: %s" -#: plugins/sudoers/audit.c:272 plugins/sudoers/audit.c:452 -#: plugins/sudoers/log_client.c:962 plugins/sudoers/log_client.c:1011 -#: plugins/sudoers/log_client.c:1060 plugins/sudoers/log_client.c:1185 -#: plugins/sudoers/logging.c:614 plugins/sudoers/logging.c:732 -#: plugins/sudoers/logging.c:859 plugins/sudoers/logging.c:1031 -#: plugins/sudoers/policy.c:123 +#: plugins/sudoers/audit.c:272 plugins/sudoers/log_client.c:985 +#: plugins/sudoers/log_client.c:1034 plugins/sudoers/log_client.c:1083 +#: plugins/sudoers/log_client.c:1208 plugins/sudoers/logging.c:627 +#: plugins/sudoers/logging.c:867 plugins/sudoers/logging.c:1017 +#: plugins/sudoers/logging.c:1041 plugins/sudoers/policy.c:1055 msgid "unable to get time of day" msgstr "не вдалося отримати дані щодо пори доби" @@ -1481,47 +1474,47 @@ msgstr "" "помилка сервера розпізнавання:\n" "%s" -#: plugins/sudoers/auth/kerb5.c:116 +#: plugins/sudoers/auth/kerb5.c:117 #, c-format msgid "%s: unable to convert principal to string ('%s'): %s" msgstr "%s: не вдалося перетворити реєстраційний запис на рядок («%s»): %s" -#: plugins/sudoers/auth/kerb5.c:166 +#: plugins/sudoers/auth/kerb5.c:167 #, c-format msgid "%s: unable to parse '%s': %s" msgstr "%s: не вдалося обробити «%s»: %s" -#: plugins/sudoers/auth/kerb5.c:175 +#: plugins/sudoers/auth/kerb5.c:176 #, c-format msgid "%s: unable to resolve credential cache: %s" msgstr "%s: не вдалося визначити кеш реєстраційних даних: %s" -#: plugins/sudoers/auth/kerb5.c:226 +#: plugins/sudoers/auth/kerb5.c:227 #, c-format msgid "%s: unable to allocate options: %s" msgstr "%s: не вдалося розмістити параметри: %s" -#: plugins/sudoers/auth/kerb5.c:241 +#: plugins/sudoers/auth/kerb5.c:242 #, c-format msgid "%s: unable to get credentials: %s" msgstr "%s: не вдалося отримати реєстраційні дані: %s" -#: plugins/sudoers/auth/kerb5.c:254 +#: plugins/sudoers/auth/kerb5.c:255 #, c-format msgid "%s: unable to initialize credential cache: %s" msgstr "%s: не вдалося ініціалізувати кеш реєстраційних даних: %s" -#: plugins/sudoers/auth/kerb5.c:257 +#: plugins/sudoers/auth/kerb5.c:258 #, c-format msgid "%s: unable to store credential in cache: %s" msgstr "%s: не вдалося зберегти реєстраційні дані у кеші: %s" -#: plugins/sudoers/auth/kerb5.c:322 +#: plugins/sudoers/auth/kerb5.c:324 #, c-format msgid "%s: unable to get host principal: %s" msgstr "%s: не вдалося отримати реєстраційний запис вузла: %s" -#: plugins/sudoers/auth/kerb5.c:336 +#: plugins/sudoers/auth/kerb5.c:338 #, c-format msgid "%s: Cannot verify TGT! Possible attack!: %s" msgstr "%s: спроба перевірки TGT зазнала невдачі! Ймовірно, вас атаковано: %s" @@ -1599,7 +1592,7 @@ msgstr "невідома помилка SecurID" msgid "invalid passcode length for SecurID" msgstr "некоректна довжина коду пароля для SecurID" -#: plugins/sudoers/auth/sia.c:72 plugins/sudoers/auth/sia.c:130 +#: plugins/sudoers/auth/sia.c:72 plugins/sudoers/auth/sia.c:131 msgid "unable to initialize SIA session" msgstr "не вдалося ініціалізувати сеанс SIA" @@ -1636,22 +1629,22 @@ msgid "unable to commit audit record" msgstr "не вдалося надіслати запис аудита" #: plugins/sudoers/check.c:63 plugins/sudoers/check.c:74 -#: plugins/sudoers/lookup.c:79 plugins/sudoers/tsdump.c:119 +#: plugins/sudoers/lookup.c:79 #, c-format msgid "unknown uid %u" msgstr "невідоме значення uid %u" -#: plugins/sudoers/check.c:277 +#: plugins/sudoers/check.c:270 #, c-format msgid "error reading lecture file %s" msgstr "помилка під час спроби читання файла настанов %s" -#: plugins/sudoers/check.c:280 +#: plugins/sudoers/check.c:273 #, c-format msgid "ignoring lecture file %s: not a regular file" msgstr "ігноруємо файл настанов %s: він не є звичайним файлом" -#: plugins/sudoers/check.c:293 +#: plugins/sudoers/check.c:286 msgid "" "\n" "We trust you have received the usual lecture from the local System\n" @@ -1671,7 +1664,7 @@ msgstr "" " #3) Користування широкими правами розширює сферу відповідальності.\n" "\n" -#: plugins/sudoers/check.c:301 +#: plugins/sudoers/check.c:294 msgid "" "For security reasons, the password you type will not be visible.\n" "\n" @@ -1760,13 +1753,13 @@ msgstr "некоректний фільтр: %s" msgid "failed to parse %s file, unknown error" msgstr "не вдалося обробити файл %s, невідома помилка" -#: plugins/sudoers/cvtsudoers.c:1508 plugins/sudoers/sudoreplay.c:1143 +#: plugins/sudoers/cvtsudoers.c:1504 plugins/sudoers/sudoreplay.c:1145 #: plugins/sudoers/timestamp.c:353 plugins/sudoers/timestamp.c:356 #, c-format msgid "unable to write to %s" msgstr "не вдалося виконати запис до %s" -#: plugins/sudoers/cvtsudoers.c:1536 +#: plugins/sudoers/cvtsudoers.c:1532 #, c-format msgid "" "%s - convert between sudoers file formats\n" @@ -1775,7 +1768,7 @@ msgstr "" "%s — перетворення форматів файлів sudoers\n" "\n" -#: plugins/sudoers/cvtsudoers.c:1538 +#: plugins/sudoers/cvtsudoers.c:1534 msgid "" "\n" "Options:\n" @@ -1816,817 +1809,836 @@ msgstr "" " -V, --version вивести дані щодо версії і завершити роботу" #: plugins/sudoers/cvtsudoers_csv.c:192 plugins/sudoers/cvtsudoers_csv.c:199 -#: plugins/sudoers/cvtsudoers_ldif.c:245 plugins/sudoers/cvtsudoers_ldif.c:252 -#: plugins/sudoers/cvtsudoers_ldif.c:594 plugins/sudoers/env.c:340 -#: plugins/sudoers/env.c:347 plugins/sudoers/env.c:458 +#: plugins/sudoers/cvtsudoers_ldif.c:270 plugins/sudoers/cvtsudoers_ldif.c:277 +#: plugins/sudoers/cvtsudoers_ldif.c:628 plugins/sudoers/env.c:357 +#: plugins/sudoers/env.c:364 plugins/sudoers/env.c:475 #: plugins/sudoers/ldap.c:511 plugins/sudoers/ldap.c:629 #: plugins/sudoers/ldap.c:1003 plugins/sudoers/ldap_conf.c:219 -#: plugins/sudoers/ldap_conf.c:310 plugins/sudoers/ldap_util.c:486 -#: plugins/sudoers/linux_audit.c:93 plugins/sudoers/logging.c:479 -#: plugins/sudoers/policy.c:828 plugins/sudoers/policy.c:840 +#: plugins/sudoers/ldap_conf.c:310 plugins/sudoers/ldap_util.c:483 +#: plugins/sudoers/linux_audit.c:93 plugins/sudoers/logging.c:487 +#: plugins/sudoers/policy.c:836 plugins/sudoers/policy.c:848 #: plugins/sudoers/prompt.c:169 plugins/sudoers/serialize_list.c:62 #: plugins/sudoers/serialize_list.c:71 plugins/sudoers/strvec_join.c:62 -#: plugins/sudoers/sudoreplay.c:1340 plugins/sudoers/sudoreplay.c:1346 -#: plugins/sudoers/sudoreplay.c:1352 plugins/sudoers/testsudoers.c:306 -#: plugins/sudoers/toke_util.c:217 toke.l:995 toke.l:1277 +#: plugins/sudoers/sudoreplay.c:1342 plugins/sudoers/sudoreplay.c:1348 +#: plugins/sudoers/sudoreplay.c:1354 plugins/sudoers/testsudoers.c:306 +#: plugins/sudoers/toke_util.c:217 toke.l:975 toke.l:1257 #, c-format msgid "internal error, %s overflow" msgstr "внутрішня помилка, переповнення %s" -#: plugins/sudoers/cvtsudoers_csv.c:454 plugins/sudoers/cvtsudoers_csv.c:468 -#: plugins/sudoers/cvtsudoers_json.c:661 plugins/sudoers/cvtsudoers_json.c:676 -#: plugins/sudoers/cvtsudoers_ldif.c:349 plugins/sudoers/cvtsudoers_ldif.c:362 +#: plugins/sudoers/cvtsudoers_csv.c:481 plugins/sudoers/cvtsudoers_csv.c:495 +#: plugins/sudoers/cvtsudoers_json.c:760 plugins/sudoers/cvtsudoers_json.c:776 +#: plugins/sudoers/cvtsudoers_ldif.c:384 plugins/sudoers/cvtsudoers_ldif.c:398 #: plugins/sudoers/ldap.c:495 msgid "unable to get GMT time" msgstr "не вдалося отримати гринвіцький час" -#: plugins/sudoers/cvtsudoers_csv.c:459 plugins/sudoers/cvtsudoers_csv.c:473 -#: plugins/sudoers/cvtsudoers_json.c:666 plugins/sudoers/cvtsudoers_json.c:681 -#: plugins/sudoers/cvtsudoers_ldif.c:354 plugins/sudoers/cvtsudoers_ldif.c:367 +#: plugins/sudoers/cvtsudoers_csv.c:486 plugins/sudoers/cvtsudoers_csv.c:500 +#: plugins/sudoers/cvtsudoers_json.c:765 plugins/sudoers/cvtsudoers_json.c:781 +#: plugins/sudoers/cvtsudoers_ldif.c:389 plugins/sudoers/cvtsudoers_ldif.c:403 #: plugins/sudoers/ldap.c:503 msgid "unable to format timestamp" msgstr "не вдалося виконати форматування часового штампа" -#: plugins/sudoers/cvtsudoers_json.c:481 plugins/sudoers/cvtsudoers_json.c:516 -#: plugins/sudoers/cvtsudoers_json.c:732 +#: plugins/sudoers/cvtsudoers_json.c:547 plugins/sudoers/cvtsudoers_json.c:588 +#: plugins/sudoers/cvtsudoers_json.c:841 #, c-format msgid "%s:%d:%d: unknown defaults entry \"%s\"" msgstr "%s:%d:%d: невідомий запис типових параметрів, «%s»" -#: plugins/sudoers/cvtsudoers_ldif.c:663 +#: plugins/sudoers/cvtsudoers_ldif.c:116 +#, c-format +msgid "unable to base64 encode value \"%s\"" +msgstr "не вдалося закодувати у base64 значення «%s»" + +#: plugins/sudoers/cvtsudoers_ldif.c:595 +#, c-format +msgid "internal error, unable insert user %s" +msgstr "внутрішня помилка, не вдалося вставити запис користувача %s" + +#: plugins/sudoers/cvtsudoers_ldif.c:702 #, c-format msgid "too many sudoers entries, maximum %u" msgstr "забагато записів sudoers, максимальна кількість — %u" -#: plugins/sudoers/cvtsudoers_ldif.c:706 +#: plugins/sudoers/cvtsudoers_ldif.c:747 msgid "the SUDOERS_BASE environment variable is not set and the -b option was not specified." msgstr "не встановлено значення змінної середовища SUDOERS_BASE і не вказано параметра -b." -#: plugins/sudoers/cvtsudoers_merge.c:273 -#: plugins/sudoers/cvtsudoers_merge.c:309 +#: plugins/sudoers/cvtsudoers_merge.c:275 +#: plugins/sudoers/cvtsudoers_merge.c:313 #, c-format msgid "%s:%d:%d: converting host list to ALL" msgstr "%s:%d:%d: перетворюємо список вузлів на ALL" -#: plugins/sudoers/cvtsudoers_merge.c:545 +#: plugins/sudoers/cvtsudoers_merge.c:568 #, c-format msgid "unable to find alias %s" msgstr "не вдалося знайти альтернативну назву %s" -#: plugins/sudoers/cvtsudoers_merge.c:548 +#: plugins/sudoers/cvtsudoers_merge.c:572 #, c-format msgid "%s:%d:%d: renaming alias %s to %s" msgstr "%s:%d:%d: перейменування альтернативної назви %s на %s" -#: plugins/sudoers/cvtsudoers_merge.c:605 +#: plugins/sudoers/cvtsudoers_merge.c:634 #, c-format msgid "%s:%d:%d: removing duplicate alias %s" msgstr "%s:%d:%d: вилучення дубліката альтернативної назви %s" -#: plugins/sudoers/cvtsudoers_merge.c:830 +#: plugins/sudoers/cvtsudoers_merge.c:868 #, c-format msgid "%s:%d:%d: conflicting Defaults entry \"%s\" host-specific in %s:%d:%d" msgstr "%s:%d:%d: конфлікт запису Defaults «%s» специфічним для вузла у %s:%d:%d" -#: plugins/sudoers/cvtsudoers_merge.c:864 +#: plugins/sudoers/cvtsudoers_merge.c:904 #, c-format msgid "%s:%d:%d: made Defaults \"%s\" specific to host %s" msgstr "%s:%d:%d: Defaults «%s» зроблено специфічним для вузла %s" -#: plugins/sudoers/cvtsudoers_merge.c:882 +#: plugins/sudoers/cvtsudoers_merge.c:922 #, c-format msgid "%s:%d:%d: unable to make Defaults \"%s\" host-specific" msgstr "%s:%d:%d: не вдалося зробити Defaults «%s» специфічними для вузла" -#: plugins/sudoers/cvtsudoers_merge.c:892 +#: plugins/sudoers/cvtsudoers_merge.c:932 #, c-format msgid "%s:%d:%d: removing Defaults \"%s\" overridden by subsequent entries" msgstr "%s:%d:%d: вилучення Defaults «%s» перевизначено наступними записами" -#: plugins/sudoers/cvtsudoers_merge.c:1088 +#: plugins/sudoers/cvtsudoers_merge.c:1128 #, c-format msgid "%s:%d:%d: merging userspec into %s:%d:%d" msgstr "%s:%d:%d: об'єднуємо специфікації користувачів у %s:%d:%d" -#: plugins/sudoers/cvtsudoers_merge.c:1182 +#: plugins/sudoers/cvtsudoers_merge.c:1224 #, c-format msgid "%s:%d:%d: removing userspec overridden by subsequent entries" msgstr "%s:%d:%d: вилучення userspec перевизначено наступними записами" -#: plugins/sudoers/def_data.c:56 +#: plugins/sudoers/def_data.c:58 #, c-format msgid "Syslog facility if syslog is being used for logging: %s" msgstr "Інструмент ведення журналу, якщо використано syslog: %s" -#: plugins/sudoers/def_data.c:60 +#: plugins/sudoers/def_data.c:62 #, c-format msgid "Syslog priority to use when user authenticates successfully: %s" msgstr "Пріоритетність, яка використовуватиметься у syslog для успішних розпізнавань: %s" -#: plugins/sudoers/def_data.c:64 +#: plugins/sudoers/def_data.c:66 #, c-format msgid "Syslog priority to use when user authenticates unsuccessfully: %s" msgstr "Пріоритетність, яка використовуватиметься у syslog для неуспішних розпізнавань: %s" -#: plugins/sudoers/def_data.c:68 +#: plugins/sudoers/def_data.c:70 msgid "Put OTP prompt on its own line" msgstr "Розташовувати запит щодо OTP у окремому рядку" -#: plugins/sudoers/def_data.c:72 +#: plugins/sudoers/def_data.c:74 msgid "Ignore '.' in $PATH" msgstr "Ігнорувати «.» у $PATH" -#: plugins/sudoers/def_data.c:76 +#: plugins/sudoers/def_data.c:78 msgid "Always send mail when sudo is run" msgstr "Завжди надсилати листа, коли викликано sudo" -#: plugins/sudoers/def_data.c:80 +#: plugins/sudoers/def_data.c:82 msgid "Send mail if user authentication fails" msgstr "Надсилати листа, якщо користувачу не вдалося пройти розпізнавання" -#: plugins/sudoers/def_data.c:84 +#: plugins/sudoers/def_data.c:86 msgid "Send mail if the user is not in sudoers" msgstr "Надсилати листа, якщо користувача немає серед sudoers" -#: plugins/sudoers/def_data.c:88 +#: plugins/sudoers/def_data.c:90 msgid "Send mail if the user is not in sudoers for this host" msgstr "Надсилати листа, якщо користувача немає у списку sudoers цього вузла" -#: plugins/sudoers/def_data.c:92 +#: plugins/sudoers/def_data.c:94 msgid "Send mail if the user is not allowed to run a command" msgstr "Надсилати листа, якщо користувачеві заборонено виконувати команду" -#: plugins/sudoers/def_data.c:96 +#: plugins/sudoers/def_data.c:98 msgid "Send mail if the user tries to run a command" msgstr "Надсилати листа, якщо користувач намагається віддати команду" -#: plugins/sudoers/def_data.c:100 +#: plugins/sudoers/def_data.c:102 msgid "Use a separate timestamp for each user/tty combo" msgstr "Окремий часовий штамп для кожної комбінації користувач/tty" -#: plugins/sudoers/def_data.c:104 +#: plugins/sudoers/def_data.c:106 msgid "Lecture user the first time they run sudo" msgstr "Показувати настанови користувачеві під час першого запуску sudo" -#: plugins/sudoers/def_data.c:108 +#: plugins/sudoers/def_data.c:110 #, c-format msgid "File containing the sudo lecture: %s" msgstr "Файл з настановами щодо sudo: %s" -#: plugins/sudoers/def_data.c:112 +#: plugins/sudoers/def_data.c:114 msgid "Require users to authenticate by default" msgstr "Типово, вимагати розпізнавання" -#: plugins/sudoers/def_data.c:116 +#: plugins/sudoers/def_data.c:118 msgid "Root may run sudo" msgstr "Root може виконувати sudo" -#: plugins/sudoers/def_data.c:120 +#: plugins/sudoers/def_data.c:122 msgid "Log the hostname in the (non-syslog) log file" msgstr "Записувати назву вузла до файла журналу (не syslog)" -#: plugins/sudoers/def_data.c:124 +#: plugins/sudoers/def_data.c:126 msgid "Log the year in the (non-syslog) log file" msgstr "Записувати рік до файла журналу (не syslog)" -#: plugins/sudoers/def_data.c:128 +#: plugins/sudoers/def_data.c:130 msgid "If sudo is invoked with no arguments, start a shell" msgstr "Якщо sudo викликано без параметрів, запускати командну оболонку" -#: plugins/sudoers/def_data.c:132 +#: plugins/sudoers/def_data.c:134 msgid "Set $HOME to the target user when starting a shell with -s" msgstr "Встановлювати $HOME відповідно до вказаного користувача для запуску оболонки з -s" -#: plugins/sudoers/def_data.c:136 +#: plugins/sudoers/def_data.c:138 msgid "Always set $HOME to the target user's home directory" msgstr "Завжди встановлювати значенням $HOME домашній каталог вказаного користувача" -#: plugins/sudoers/def_data.c:140 +#: plugins/sudoers/def_data.c:142 msgid "Allow some information gathering to give useful error messages" msgstr "Дозволити збирання даних з метою формування зрозумілих повідомлень про помилки" -#: plugins/sudoers/def_data.c:144 +#: plugins/sudoers/def_data.c:146 msgid "Require fully-qualified hostnames in the sudoers file" msgstr "У файлі sudoers слід вказати повні назви вузлів" -#: plugins/sudoers/def_data.c:148 +#: plugins/sudoers/def_data.c:150 msgid "Insult the user when they enter an incorrect password" msgstr "Знущатися з користувача, якщо введено помилковий пароль" -#: plugins/sudoers/def_data.c:152 +#: plugins/sudoers/def_data.c:154 msgid "Only allow the user to run sudo if they have a tty" msgstr "Дозволяти користувачеві виконувати sudo, лише якщо з ним пов’язано tty" -#: plugins/sudoers/def_data.c:156 +#: plugins/sudoers/def_data.c:158 msgid "Visudo will honor the EDITOR environment variable" msgstr "Visudo зважатимwill honor the EDITOR environment variable" -#: plugins/sudoers/def_data.c:160 -msgid "Prompt for root's password, not the users's" +#: plugins/sudoers/def_data.c:162 +msgid "Prompt for root's password, not the user's" msgstr "Надсилати запит на пароль root, а не користувача" -#: plugins/sudoers/def_data.c:164 -msgid "Prompt for the runas_default user's password, not the users's" +#: plugins/sudoers/def_data.c:166 +msgid "Prompt for the runas_default user's password, not the user's" msgstr "Надсилати запит щодо пароля runas_default, але пароля самого користувача" -#: plugins/sudoers/def_data.c:168 -msgid "Prompt for the target user's password, not the users's" +#: plugins/sudoers/def_data.c:170 +msgid "Prompt for the target user's password, not the user's" msgstr "Надсилати запит щодо пароля потрібного користувача, але пароля самого користувача" -#: plugins/sudoers/def_data.c:172 +#: plugins/sudoers/def_data.c:174 msgid "Apply defaults in the target user's login class if there is one" msgstr "Застосовувати типові параметри у класі вказаного користувача, якщо такий клас є" -#: plugins/sudoers/def_data.c:176 +#: plugins/sudoers/def_data.c:178 msgid "Set the LOGNAME and USER environment variables" msgstr "Встановити значення змінних середовища LOGNAME і USER" -#: plugins/sudoers/def_data.c:180 +#: plugins/sudoers/def_data.c:182 msgid "Only set the effective uid to the target user, not the real uid" msgstr "Встановлювати для потрібного користувача ефективний uid, а не справжній uid" -#: plugins/sudoers/def_data.c:184 +#: plugins/sudoers/def_data.c:186 msgid "Don't initialize the group vector to that of the target user" msgstr "Не ініціалізувати вектор групи відповідно до вказаного користувача" -#: plugins/sudoers/def_data.c:188 +#: plugins/sudoers/def_data.c:190 #, c-format msgid "Length at which to wrap log file lines (0 for no wrap): %u" msgstr "Позиція, на якій слід переносити рядки файла журналу (0 — без перенесення): %u" -#: plugins/sudoers/def_data.c:192 +#: plugins/sudoers/def_data.c:194 #, c-format msgid "Authentication timestamp timeout: %.1f minutes" msgstr "Час очікування на часовий штамп розпізнавання: %.1f хвилина" -#: plugins/sudoers/def_data.c:196 +#: plugins/sudoers/def_data.c:198 #, c-format msgid "Password prompt timeout: %.1f minutes" msgstr "Час очікування на введення пароля: %.1f хвилина" -#: plugins/sudoers/def_data.c:200 +#: plugins/sudoers/def_data.c:202 #, c-format msgid "Number of tries to enter a password: %u" msgstr "Кількість спроб введення пароля: %u" -#: plugins/sudoers/def_data.c:204 +#: plugins/sudoers/def_data.c:206 #, c-format msgid "Umask to use or 0777 to use user's: 0%o" msgstr "Потрібне значення umask або 0777 для користувачевого: 0%o" -#: plugins/sudoers/def_data.c:208 +#: plugins/sudoers/def_data.c:210 #, c-format msgid "Path to log file: %s" msgstr "Шлях до файла журналу: %s" -#: plugins/sudoers/def_data.c:212 +#: plugins/sudoers/def_data.c:214 #, c-format msgid "Path to mail program: %s" msgstr "Шлях до програми ел. пошти: %s" -#: plugins/sudoers/def_data.c:216 +#: plugins/sudoers/def_data.c:218 #, c-format msgid "Flags for mail program: %s" msgstr "Параметри програми ел. пошти: %s" -#: plugins/sudoers/def_data.c:220 +#: plugins/sudoers/def_data.c:222 #, c-format msgid "Address to send mail to: %s" msgstr "Адреса, на яку надсилатимуться листи: %s" -#: plugins/sudoers/def_data.c:224 +#: plugins/sudoers/def_data.c:226 #, c-format msgid "Address to send mail from: %s" msgstr "Адреса, з якої надсилатимуться листи: %s" -#: plugins/sudoers/def_data.c:228 +#: plugins/sudoers/def_data.c:230 #, c-format msgid "Subject line for mail messages: %s" msgstr "Тема листів: %s" -#: plugins/sudoers/def_data.c:232 +#: plugins/sudoers/def_data.c:234 #, c-format msgid "Incorrect password message: %s" msgstr "Повідомлення про помилковий пароль: %s" -#: plugins/sudoers/def_data.c:236 +#: plugins/sudoers/def_data.c:238 #, c-format msgid "Path to lecture status dir: %s" msgstr "Шлях до каталогу стану отримання настанов: %s" -#: plugins/sudoers/def_data.c:240 +#: plugins/sudoers/def_data.c:242 #, c-format msgid "Path to authentication timestamp dir: %s" msgstr "Шлях до каталогу часових штампів розпізнавання: %s" -#: plugins/sudoers/def_data.c:244 +#: plugins/sudoers/def_data.c:246 #, c-format msgid "Owner of the authentication timestamp dir: %s" msgstr "Власник каталогу часових штампів розпізнавання: %s" -#: plugins/sudoers/def_data.c:248 +#: plugins/sudoers/def_data.c:250 #, c-format msgid "Users in this group are exempt from password and PATH requirements: %s" msgstr "Користувачів цієї групи звільнено від потреби у введенні пароля і PATH: %s" -#: plugins/sudoers/def_data.c:252 +#: plugins/sudoers/def_data.c:254 #, c-format msgid "Default password prompt: %s" msgstr "Типовий запит пароля: %s" -#: plugins/sudoers/def_data.c:256 +#: plugins/sudoers/def_data.c:258 msgid "If set, passprompt will override system prompt in all cases." msgstr "Якщо встановлено, запит щодо паролю замінюватиме запит системи." -#: plugins/sudoers/def_data.c:260 +#: plugins/sudoers/def_data.c:262 #, c-format msgid "Default user to run commands as: %s" msgstr "Типовий користувач для запуску команд: %s" -#: plugins/sudoers/def_data.c:264 +#: plugins/sudoers/def_data.c:266 #, c-format msgid "Value to override user's $PATH with: %s" msgstr "Значення для заміни $PATH користувача: %s" -#: plugins/sudoers/def_data.c:268 +#: plugins/sudoers/def_data.c:270 #, c-format msgid "Path to the editor for use by visudo: %s" msgstr "Шлях до редактора, який використовуватиме visudo: %s" -#: plugins/sudoers/def_data.c:272 +#: plugins/sudoers/def_data.c:274 #, c-format msgid "When to require a password for 'list' pseudocommand: %s" msgstr "Умови запиту пароля для псевдокоманди «list»: %s" -#: plugins/sudoers/def_data.c:276 +#: plugins/sudoers/def_data.c:278 #, c-format msgid "When to require a password for 'verify' pseudocommand: %s" msgstr "Умови запиту пароля для псевдокоманди «verify»: %s" -#: plugins/sudoers/def_data.c:280 +#: plugins/sudoers/def_data.c:282 msgid "Preload the sudo_noexec library which replaces the exec functions" msgstr "Попередньо завантажити бібліотеку sudo_noexec, яка замінює функції виконання" -#: plugins/sudoers/def_data.c:284 +#: plugins/sudoers/def_data.c:286 msgid "If LDAP directory is up, do we ignore local sudoers file" msgstr "Чи слід ігнорувати локальний файл sudoers, якщо є доступ до каталогу LDAP" -#: plugins/sudoers/def_data.c:288 +#: plugins/sudoers/def_data.c:290 #, c-format msgid "File descriptors >= %d will be closed before executing a command" msgstr "Дескриптори файлів >= %d буде закрито перед виконанням команди" -#: plugins/sudoers/def_data.c:292 +#: plugins/sudoers/def_data.c:294 msgid "If set, users may override the value of \"closefrom\" with the -C option" msgstr "Якщо встановлено, користувачі можуть перевизначати значення closefrom за допомогою параметра -C" -#: plugins/sudoers/def_data.c:296 +#: plugins/sudoers/def_data.c:298 msgid "Allow users to set arbitrary environment variables" msgstr "Дозволити користувачам встановлювати значення довільних змінних середовища" -#: plugins/sudoers/def_data.c:300 +#: plugins/sudoers/def_data.c:302 msgid "Reset the environment to a default set of variables" msgstr "Відновити типовий набір змінних середовища" -#: plugins/sudoers/def_data.c:304 +#: plugins/sudoers/def_data.c:306 msgid "Environment variables to check for safety:" msgstr "Змінні середовища, безпечність яких слід перевіряти:" -#: plugins/sudoers/def_data.c:308 +#: plugins/sudoers/def_data.c:310 msgid "Environment variables to remove:" msgstr "Змінні середовища, які слід вилучити:" -#: plugins/sudoers/def_data.c:312 +#: plugins/sudoers/def_data.c:314 msgid "Environment variables to preserve:" msgstr "Змінні середовища, які слід зберегти:" -#: plugins/sudoers/def_data.c:316 +#: plugins/sudoers/def_data.c:318 #, c-format msgid "SELinux role to use in the new security context: %s" msgstr "Роль SELinux, яку слід використати у новому контексті захисту: %s" -#: plugins/sudoers/def_data.c:320 +#: plugins/sudoers/def_data.c:322 #, c-format msgid "SELinux type to use in the new security context: %s" msgstr "Тип SELinux, який слід використати у новому контексті захисту: %s" -#: plugins/sudoers/def_data.c:324 +#: plugins/sudoers/def_data.c:326 #, c-format msgid "Path to the sudo-specific environment file: %s" msgstr "Шлях до специфічного для sudo файла середовища: %s" -#: plugins/sudoers/def_data.c:328 +#: plugins/sudoers/def_data.c:330 #, c-format msgid "Path to the restricted sudo-specific environment file: %s" msgstr "Шлях до специфічного для sudo файла середовища з обмеженим доступом: %s" -#: plugins/sudoers/def_data.c:332 +#: plugins/sudoers/def_data.c:334 #, c-format msgid "Locale to use while parsing sudoers: %s" msgstr "Локаль, яку слід використати під час обробки sudoers: %s" -#: plugins/sudoers/def_data.c:336 +#: plugins/sudoers/def_data.c:338 msgid "Allow sudo to prompt for a password even if it would be visible" msgstr "Дозволити sudo надсилати запит щодо пароля, навіть якщо цей пароль буде видимим" -#: plugins/sudoers/def_data.c:340 +#: plugins/sudoers/def_data.c:342 msgid "Provide visual feedback at the password prompt when there is user input" msgstr "Супроводжувати введення користувачем пароля показом замінників символів пароля" -#: plugins/sudoers/def_data.c:344 +#: plugins/sudoers/def_data.c:346 msgid "Use faster globbing that is less accurate but does not access the filesystem" msgstr "Швидше встановлення відповідності, менш точне, але без доступу до файлової системи" -#: plugins/sudoers/def_data.c:348 +#: plugins/sudoers/def_data.c:350 msgid "The umask specified in sudoers will override the user's, even if it is more permissive" msgstr "Значення umask, вказане у sudoers, перевизначатиме значення користувача, навіть якщо це значення відкриває ширший доступ" -#: plugins/sudoers/def_data.c:352 +#: plugins/sudoers/def_data.c:354 msgid "Log user's input for the command being run" msgstr "Записувати дані, вказані користувачем під час виконання команди" -#: plugins/sudoers/def_data.c:356 +#: plugins/sudoers/def_data.c:358 msgid "Log the command's standard input if not connected to a terminal" msgstr "Записувати до журналу джерело стандартних вхідних даних команди, якщо команду не з'єднано із терміналом" -#: plugins/sudoers/def_data.c:360 +#: plugins/sudoers/def_data.c:362 msgid "Log the user's terminal input for the command being run" msgstr "Записувати дані, вказані користувачем у терміналі, під час виконання команди" -#: plugins/sudoers/def_data.c:364 +#: plugins/sudoers/def_data.c:366 msgid "Log the output of the command being run" msgstr "Записувати дані, виведені командою під час виконання" -#: plugins/sudoers/def_data.c:368 +#: plugins/sudoers/def_data.c:370 msgid "Log the command's standard output if not connected to a terminal" msgstr "Записувати до журналу стандартне виведення команди, якщо команду не з'єднано із терміналом" -#: plugins/sudoers/def_data.c:372 +#: plugins/sudoers/def_data.c:374 msgid "Log the command's standard error if not connected to a terminal" msgstr "Записувати до журналу стандартне виведення помилок команди, якщо команду не з'єднано із терміналом" -#: plugins/sudoers/def_data.c:376 +#: plugins/sudoers/def_data.c:378 msgid "Log the terminal output of the command being run" msgstr "Записувати дані, виведені командою до термінала під час виконання" -#: plugins/sudoers/def_data.c:380 +#: plugins/sudoers/def_data.c:382 msgid "Compress I/O logs using zlib" msgstr "Стискати журнали за допомогою zlib" -#: plugins/sudoers/def_data.c:384 +#: plugins/sudoers/def_data.c:386 msgid "Always run commands in a pseudo-tty" msgstr "Завжди запускати команди у псевдо-tty" -#: plugins/sudoers/def_data.c:388 +#: plugins/sudoers/def_data.c:390 #, c-format msgid "Plugin for non-Unix group support: %s" msgstr "Додаток для підтримки не-Unix груп: %s" -#: plugins/sudoers/def_data.c:392 +#: plugins/sudoers/def_data.c:394 #, c-format msgid "Directory in which to store input/output logs: %s" msgstr "Каталог, у якому слід зберігати журнали введення/виведення: %s" -#: plugins/sudoers/def_data.c:396 +#: plugins/sudoers/def_data.c:398 #, c-format msgid "File in which to store the input/output log: %s" msgstr "Файл, у якому слід зберігати журнал введення/виведення даних: %s" -#: plugins/sudoers/def_data.c:400 +#: plugins/sudoers/def_data.c:402 msgid "Add an entry to the utmp/utmpx file when allocating a pty" msgstr "Додати запис до файла utmp/utmpx під час розміщення pty" -#: plugins/sudoers/def_data.c:404 +#: plugins/sudoers/def_data.c:406 msgid "Set the user in utmp to the runas user, not the invoking user" msgstr "Встановити користувача у utmp у значення користувача, від імені якого виконується команда" -#: plugins/sudoers/def_data.c:408 +#: plugins/sudoers/def_data.c:410 #, c-format msgid "Set of permitted privileges: %s" msgstr "Набір дозвільних прав доступу: %s" -#: plugins/sudoers/def_data.c:412 +#: plugins/sudoers/def_data.c:414 #, c-format msgid "Set of limit privileges: %s" msgstr "Набір обмежувальних прав доступу: %s" -#: plugins/sudoers/def_data.c:416 +#: plugins/sudoers/def_data.c:418 msgid "Run commands on a pty in the background" msgstr "Виконувати команди у pty у фоновому режимі" -#: plugins/sudoers/def_data.c:420 +#: plugins/sudoers/def_data.c:422 #, c-format msgid "PAM service name to use: %s" msgstr "Назва служби PAM, якою слід скористатися: %s" -#: plugins/sudoers/def_data.c:424 +#: plugins/sudoers/def_data.c:426 #, c-format msgid "PAM service name to use for login shells: %s" msgstr "Назва служби PAM, якою слід скористатися для оболонок входу до системи: %s" -#: plugins/sudoers/def_data.c:428 +#: plugins/sudoers/def_data.c:430 #, 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:432 +#: plugins/sudoers/def_data.c:434 msgid "Attempt to establish PAM credentials for the target user" msgstr "Спробувати встановити реєстраційні дані PAM для користувача, від імені якого виконуватимуться дії" -#: plugins/sudoers/def_data.c:436 +#: plugins/sudoers/def_data.c:438 msgid "Create a new PAM session for the command to run in" msgstr "Створити сеанс PAM для виконання команди" -#: plugins/sudoers/def_data.c:440 +#: plugins/sudoers/def_data.c:442 msgid "Perform PAM account validation management" msgstr "Виконати керування коректністю облікового запису PAM" -#: plugins/sudoers/def_data.c:444 +#: plugins/sudoers/def_data.c:446 +msgid "Do not allow PAM authentication modules to generate output" +msgstr "Не дозволяти модулям розпізнавання PAM виводити дані" + +#: plugins/sudoers/def_data.c:450 #, c-format msgid "Maximum I/O log sequence number: %s" msgstr "Максимальний номер у послідовності журналу введення-виведення: %s" -#: plugins/sudoers/def_data.c:448 +#: plugins/sudoers/def_data.c:454 msgid "Enable sudoers netgroup support" msgstr "Увімкнути підтримку мережевих груп у sudoers" -#: plugins/sudoers/def_data.c:452 +#: plugins/sudoers/def_data.c:458 msgid "Check parent directories for writability when editing files with sudoedit" msgstr "Перевіряти можливість запису до батьківського каталогу під час редагування фалів за допомогою sudoedit" -#: plugins/sudoers/def_data.c:456 +#: plugins/sudoers/def_data.c:462 msgid "Follow symbolic links when editing files with sudoedit" msgstr "Переходити за символічними посиланнями під час редагування файлів за допомогою sudoedit" -#: plugins/sudoers/def_data.c:460 +#: plugins/sudoers/def_data.c:466 msgid "Query the group plugin for unknown system groups" msgstr "Надсилати запит до додатка груп щодо невідомих груп системи" -#: plugins/sudoers/def_data.c:464 +#: plugins/sudoers/def_data.c:470 msgid "Match netgroups based on the entire tuple: user, host and domain" msgstr "Встановлювати відповідність мережевим групам за усім кортежем даних: користувачем, вузлом і доменом" -#: plugins/sudoers/def_data.c:468 +#: plugins/sudoers/def_data.c:474 msgid "Allow commands to be run even if sudo cannot write to the audit log" msgstr "Дозволити виконання команд, навіть якщо sudo не може здійснювати запис до журналу аудиту" -#: plugins/sudoers/def_data.c:472 +#: plugins/sudoers/def_data.c:478 msgid "Allow commands to be run even if sudo cannot write to the I/O log" msgstr "Дозволити виконання команд, навіть якщо sudo не може здійснювати запис до журналу введення-виведення" -#: plugins/sudoers/def_data.c:476 +#: plugins/sudoers/def_data.c:482 msgid "Allow commands to be run even if sudo cannot write to the log file" msgstr "Дозволити виконання команд, навіть якщо sudo не може здійснювати запис до файла журналу" -#: plugins/sudoers/def_data.c:480 +#: plugins/sudoers/def_data.c:486 msgid "Resolve groups in sudoers and match on the group ID, not the name" msgstr "Визначати групи у sudoers і встановлювати відповідність не назві, а ідентифікатору групи" -#: plugins/sudoers/def_data.c:484 +#: plugins/sudoers/def_data.c:490 #, c-format msgid "Log entries larger than this value will be split into multiple syslog messages: %u" msgstr "Записи журналу, які виявляться довшими за це значення, буде поділено на декілька повідомлень журналу системи: %u" -#: plugins/sudoers/def_data.c:488 +#: plugins/sudoers/def_data.c:494 #, c-format msgid "User that will own the I/O log files: %s" msgstr "Користувач, який буде власником усіх файлів журналу введення-виведення: %s" -#: plugins/sudoers/def_data.c:492 +#: plugins/sudoers/def_data.c:498 #, c-format msgid "Group that will own the I/O log files: %s" msgstr "Група, яка буде власником усіх файлів журналу введення-виведення: %s" -#: plugins/sudoers/def_data.c:496 +#: plugins/sudoers/def_data.c:502 #, c-format msgid "File mode to use for the I/O log files: 0%o" msgstr "Режим доступу до файлів, яким слід скористатися для файлів журналу введення-виведення: 0%o" -#: plugins/sudoers/def_data.c:500 +#: plugins/sudoers/def_data.c:506 #, c-format msgid "Execute commands by file descriptor instead of by path: %s" msgstr "Виконати команди за дескриптором файла замість виконання за шляхом: %s" -#: plugins/sudoers/def_data.c:504 +#: plugins/sudoers/def_data.c:510 msgid "Ignore unknown Defaults entries in sudoers instead of producing a warning" msgstr "Ігнорувати невідомі записи Defaults у sudoers замість показу попередження" -#: plugins/sudoers/def_data.c:508 +#: plugins/sudoers/def_data.c:514 #, c-format msgid "Time in seconds after which the command will be terminated: %u" msgstr "Час у секундах, який має минути, щоб команду буде перервано: %u" -#: plugins/sudoers/def_data.c:512 +#: plugins/sudoers/def_data.c:518 msgid "Allow the user to specify a timeout on the command line" msgstr "Надати змогу користувачеві встановлювати час очікування у командному рядку" -#: plugins/sudoers/def_data.c:516 +#: plugins/sudoers/def_data.c:522 msgid "Flush I/O log data to disk immediately instead of buffering it" msgstr "Скидати дані журналу введення-виведення на диск негайно, без буферизації" -#: plugins/sudoers/def_data.c:520 +#: plugins/sudoers/def_data.c:526 msgid "Include the process ID when logging via syslog" msgstr "Включати ідентифікатор процесу до журналів syslog" -#: plugins/sudoers/def_data.c:524 +#: plugins/sudoers/def_data.c:530 #, c-format msgid "Type of authentication timestamp record: %s" msgstr "Тип запису часової позначки розпізнавання: %s" -#: plugins/sudoers/def_data.c:528 +#: plugins/sudoers/def_data.c:534 #, c-format msgid "Authentication failure message: %s" msgstr "Повідомлення про помилку розпізнавання: %s" -#: plugins/sudoers/def_data.c:532 +#: plugins/sudoers/def_data.c:538 msgid "Ignore case when matching user names" msgstr "Ігнорувати регістр символів при пошуку імен користувачів" -#: plugins/sudoers/def_data.c:536 +#: plugins/sudoers/def_data.c:542 msgid "Ignore case when matching group names" msgstr "Ігнорувати регістр символів при пошуку назв груп" -#: plugins/sudoers/def_data.c:540 +#: plugins/sudoers/def_data.c:546 msgid "Log when a command is allowed by sudoers" msgstr "Записувати до журналу дані, коли виконання команди дозволене sudoers" -#: plugins/sudoers/def_data.c:544 +#: plugins/sudoers/def_data.c:550 msgid "Log when a command is denied by sudoers" msgstr "Записувати до журналу дані, коли виконання команди заборонене sudoers" -#: plugins/sudoers/def_data.c:548 +#: plugins/sudoers/def_data.c:554 msgid "Sudo log server(s) to connect to with optional port" msgstr "Сервер або сервери журналу sudo, з якими слід встановити з'єднання, з необов'язковим зазначенням порту" -#: plugins/sudoers/def_data.c:552 +#: plugins/sudoers/def_data.c:558 #, c-format msgid "Sudo log server timeout in seconds: %u" msgstr "Час очікування на дії сервера журналу sudo у секундах: %u" -#: plugins/sudoers/def_data.c:556 +#: plugins/sudoers/def_data.c:562 msgid "Enable SO_KEEPALIVE socket option on the socket connected to the logserver" msgstr "Увімкнути параметр сокета SO_KEEPALIVE на сокеті, який з'єднано із сервером журналу" -#: plugins/sudoers/def_data.c:560 +#: plugins/sudoers/def_data.c:566 #, c-format msgid "Path to the audit server's CA bundle file: %s" msgstr "Шлях до файла пакета CA сервера аудиту: %s" -#: plugins/sudoers/def_data.c:564 +#: plugins/sudoers/def_data.c:570 #, c-format msgid "Path to the sudoers certificate file: %s" msgstr "Шлях до файла сертифікатів sudoers: %s" -#: plugins/sudoers/def_data.c:568 +#: plugins/sudoers/def_data.c:574 #, c-format msgid "Path to the sudoers private key file: %s" msgstr "Шлях до файла закритого ключа sudoers: %s" -#: plugins/sudoers/def_data.c:572 +#: plugins/sudoers/def_data.c:578 msgid "Verify that the log server's certificate is valid" msgstr "Перевірити, чи є сертифікат сервера журналювання чинним" -#: plugins/sudoers/def_data.c:576 +#: plugins/sudoers/def_data.c:582 msgid "Allow the use of unknown runas user and/or group ID" msgstr "Дозволити використання невідомих значень імені користувача і/або ідентифікатора групи для runas" -#: plugins/sudoers/def_data.c:580 +#: plugins/sudoers/def_data.c:586 msgid "Only permit running commands as a user with a valid shell" msgstr "Дозволяти виконання команд лише від імені користувачів із коректним записом командної оболонки" -#: plugins/sudoers/def_data.c:584 +#: plugins/sudoers/def_data.c:590 msgid "Set the pam remote user to the user running sudo" msgstr "Встановити для віддаленого користувача PAM те саме ім'я, що і для користувача, від імені якого запущено sudo" -#: plugins/sudoers/def_data.c:588 +#: plugins/sudoers/def_data.c:594 msgid "Set the pam remote host to the local host name" msgstr "Встановити для віддаленого вузла PAM назву локального вузла" -#: plugins/sudoers/def_data.c:592 +#: plugins/sudoers/def_data.c:598 #, c-format msgid "Working directory to change to before executing the command: %s" msgstr "Робочий каталог, до якого слід перейти перед виконанням команди: %s" -#: plugins/sudoers/def_data.c:596 +#: plugins/sudoers/def_data.c:602 #, c-format msgid "Root directory to change to before executing the command: %s" msgstr "Кореневий каталог, до якого слід перейти перед виконанням команди: %s" -#: plugins/sudoers/def_data.c:600 +#: plugins/sudoers/def_data.c:606 #, c-format msgid "The format of logs to produce: %s" msgstr "Формат журналу: %s" -#: plugins/sudoers/def_data.c:604 +#: plugins/sudoers/def_data.c:610 msgid "Enable SELinux RBAC support" msgstr "Увімкнути підтримку RBAC SELinux" -#: plugins/sudoers/def_data.c:608 +#: plugins/sudoers/def_data.c:614 #, 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:612 +#: plugins/sudoers/def_data.c:618 msgid "Intercept further commands and apply sudoers restrictions to them" msgstr "Перехоплювати подальші команди і застосовувати до них обмеження sudoers" -#: plugins/sudoers/def_data.c:616 +#: plugins/sudoers/def_data.c:622 msgid "Log sub-commands run by the original command" msgstr "Записувати до журналу підкоманди, які запущено початковою командою" -#: plugins/sudoers/def_data.c:620 +#: plugins/sudoers/def_data.c:626 msgid "Log the exit status of commands" msgstr "Записувати до журналу стан виходу команд" -#: plugins/sudoers/def_data.c:624 +#: plugins/sudoers/def_data.c:630 msgid "Subsequent commands in an intercepted session must be authenticated" msgstr "Для виконання наступних команд у перехопленому сеансі слід пройти розпізнавання" -#: plugins/sudoers/def_data.c:628 +#: plugins/sudoers/def_data.c:634 msgid "Allow an intercepted command to run set setuid or setgid programs" msgstr "Дозволити перехопленій команді запускати програми зі встановлення setuid або setgid" -#: plugins/sudoers/def_data.c:632 +#: plugins/sudoers/def_data.c:638 #, 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:636 +#: plugins/sudoers/def_data.c:642 #, c-format msgid "The largest size core dump file that may be created (in bytes): %s" msgstr "Найбільший розмір файла дампа ядра, який може бути створено (у байтах): %s" -#: plugins/sudoers/def_data.c:640 +#: plugins/sudoers/def_data.c:646 #, c-format msgid "The maximum amount of CPU time that the process may use (in seconds): %s" msgstr "Максимальна кількість часу процесора, який може використовувати процес (у секундах): %s" -#: plugins/sudoers/def_data.c:644 +#: plugins/sudoers/def_data.c:650 #, c-format msgid "The maximum size of the data segment for the process (in bytes): %s" msgstr "Максимальний розмір сегмента даних для процесу (у байтах): %s" -#: plugins/sudoers/def_data.c:648 +#: plugins/sudoers/def_data.c:654 #, c-format msgid "The largest size file that the process may create (in bytes): %s" msgstr "Найбільший розмір файла, який може створювати процес (у байтах): %s" -#: plugins/sudoers/def_data.c:652 +#: plugins/sudoers/def_data.c:658 #, c-format msgid "The maximum number of locks that the process may establish: %s" msgstr "Максимальна кількість блокувань, які може встановлювати процес: %s" -#: plugins/sudoers/def_data.c:656 +#: plugins/sudoers/def_data.c:662 #, c-format msgid "The maximum size that the process may lock in memory (in bytes): %s" msgstr "Максимальний розмір, який процес може блокувати у пам'яті (у байтах): %s" -#: plugins/sudoers/def_data.c:660 +#: plugins/sudoers/def_data.c:666 #, c-format msgid "The maximum number of files that the process may have open: %s" msgstr "Максимальна кількість файлів, які може відкривати процес: %s" -#: plugins/sudoers/def_data.c:664 +#: plugins/sudoers/def_data.c:670 #, c-format msgid "The maximum number of processes that the user may run simultaneously: %s" msgstr "Максимальна кількість процесів, які користувач може запускати одночасно: %s" -#: plugins/sudoers/def_data.c:668 +#: plugins/sudoers/def_data.c:674 #, 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:672 +#: plugins/sudoers/def_data.c:678 #, c-format msgid "The maximum size to which the process's stack may grow (in bytes): %s" msgstr "Максимальний розмір, до якого може зростати стос процесу (у байтах): %s" -#: plugins/sudoers/def_data.c:676 +#: plugins/sudoers/def_data.c:682 msgid "Attempt authentication even when in non-interactive mode" msgstr "Намагатися пройти розпізнавання, навіть якщо працюємо не в інтерактивному режимі" -#: plugins/sudoers/def_data.c:680 +#: plugins/sudoers/def_data.c:686 msgid "Store plaintext passwords in I/O log input" msgstr "Зберігати звичайний текст паролів у вхідних даних журналу введення-виведення" -#: plugins/sudoers/def_data.c:684 +#: plugins/sudoers/def_data.c:690 msgid "List of regular expressions to use when matching a password prompt" msgstr "Список формальних виразів для встановлення відповідності при запиті пароля" -#: plugins/sudoers/def_data.c:688 +#: plugins/sudoers/def_data.c:694 #, c-format msgid "The mechanism used by the intercept and log_subcmds options: %s" msgstr "Механізм, який використано для параметрів intercept і log_subcmds: %s" -#: plugins/sudoers/def_data.c:692 +#: plugins/sudoers/def_data.c:698 msgid "Attempt to verify the command and arguments after execution" msgstr "Спробувати перевірити команду і аргументи після виконання" -#: plugins/sudoers/def_data.c:696 +#: plugins/sudoers/def_data.c:702 #, c-format msgid "AppArmor profile to use in the new security context: %s" msgstr "Профіль AppArmor, який слід використати у новому контексті захисту: %s" +#: plugins/sudoers/def_data.c:706 +#, c-format +msgid "Command denial message: %s" +msgstr "Повідомлення про відмову у команді: %s" + #: plugins/sudoers/defaults.c:207 #, c-format msgid "unknown defaults entry \"%s\"" @@ -2657,64 +2669,64 @@ msgstr "некоректний тип Defaults, 0x%x, для параметра msgid "value \"%s\" is invalid for option \"%s\"" msgstr "значення «%s» є некоректним для параметра «%s»" -#: plugins/sudoers/defaults.c:1176 plugins/sudoers/policy.c:213 -#: plugins/sudoers/policy.c:222 +#: plugins/sudoers/defaults.c:1189 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:1182 +#: plugins/sudoers/defaults.c:1195 #, c-format msgid "values for \"%s\" must start with a '/', '~', or '*'" msgstr "значення для «%s» має починатися з «/», «~» або «*»" -#: plugins/sudoers/defaults.c:1189 +#: plugins/sudoers/defaults.c:1202 #, c-format msgid "values for \"%s\" must start with a '/'" msgstr "значення для «%s» має починатися з «/»" -#: plugins/sudoers/display.c:160 +#: plugins/sudoers/display.c:154 #, c-format msgid "LDAP Role: %s\n" msgstr "Роль LDAP: %s\n" -#: plugins/sudoers/display.c:163 +#: plugins/sudoers/display.c:157 #, c-format msgid "Sudoers entry: %s\n" msgstr "Запис sudoers: %s\n" -#: plugins/sudoers/display.c:166 +#: plugins/sudoers/display.c:160 msgid " RunAsUsers: " msgstr " Користувачі для запуску: " -#: plugins/sudoers/display.c:181 +#: plugins/sudoers/display.c:175 msgid " RunAsGroups: " msgstr " Групи для запуску: " -#: plugins/sudoers/display.c:191 +#: plugins/sudoers/display.c:185 msgid " Options: " msgstr " Параметри: " -#: plugins/sudoers/display.c:255 +#: plugins/sudoers/display.c:249 msgid " Commands:\n" msgstr " Команди:\n" -#: plugins/sudoers/display.c:478 +#: plugins/sudoers/display.c:472 #, c-format msgid "Matching Defaults entries for %s on %s:\n" msgstr "Відповідність записів Defaults для %s на %s:\n" -#: plugins/sudoers/display.c:496 +#: plugins/sudoers/display.c:490 #, c-format msgid "Runas and Command-specific defaults for %s:\n" msgstr "Типові значення для запуску від імені і команд для %s:\n" -#: plugins/sudoers/display.c:514 +#: plugins/sudoers/display.c:508 #, c-format msgid "User %s may run the following commands on %s:\n" msgstr "Користувач %s має право виконувати на %s такі команди:\n" -#: plugins/sudoers/display.c:530 +#: plugins/sudoers/display.c:524 #, c-format msgid "User %s is not allowed to run sudo on %s.\n" msgstr "Користувач %s не має права виконувати sudo на %s.\n" @@ -2728,15 +2740,15 @@ msgstr "ігноруємо редактор: %.*s" msgid "editor arguments may not contain \"--\"" msgstr "в записі аргументів редактора не може міститися \"--\"" -#: plugins/sudoers/env.c:426 +#: plugins/sudoers/env.c:443 msgid "sudo_putenv: corrupted envp, length mismatch" msgstr "sudo_putenv: помилкове значення envp, невідповідність довжин" -#: plugins/sudoers/env.c:1119 +#: plugins/sudoers/env.c:1137 msgid "unable to rebuild the environment" msgstr "не вдалося перебудувати середовище" -#: plugins/sudoers/env.c:1199 +#: plugins/sudoers/env.c:1217 #, c-format msgid "sorry, you are not allowed to set the following environment variables: %s" msgstr "вибачте, вам не дозволено встановлювати такі змінні середовища: %s" @@ -2780,37 +2792,37 @@ msgstr "не вдалося обробити маску мережі «%s»" msgid "Local IP address and netmask pairs:\n" msgstr "Пари локальних IP-адрес і масок мережі:\n" -#: plugins/sudoers/iolog.c:694 +#: plugins/sudoers/iolog.c:702 msgid "unable to update sequence file" msgstr "не вдалося оновити файл послідовності" -#: plugins/sudoers/iolog.c:728 plugins/sudoers/iolog.c:917 -#: plugins/sudoers/iolog.c:1080 plugins/sudoers/iolog.c:1087 -#: plugins/sudoers/iolog.c:1209 plugins/sudoers/iolog.c:1216 -#: plugins/sudoers/iolog.c:1316 plugins/sudoers/iolog.c:1323 +#: plugins/sudoers/iolog.c:736 plugins/sudoers/iolog.c:925 +#: plugins/sudoers/iolog.c:1088 plugins/sudoers/iolog.c:1095 +#: plugins/sudoers/iolog.c:1217 plugins/sudoers/iolog.c:1224 +#: plugins/sudoers/iolog.c:1324 plugins/sudoers/iolog.c:1331 #, c-format msgid "unable to write to I/O log file: %s" msgstr "не вдалося здійснити запис до файла журналу введення-виведення: %s" -#: plugins/sudoers/iolog.c:736 +#: plugins/sudoers/iolog.c:744 #, c-format msgid "unable to create %s/%s" msgstr "не вдалося створити %s/%s" -#: plugins/sudoers/iolog.c:965 +#: plugins/sudoers/iolog.c:973 #, c-format msgid "%s: internal error, I/O log file for event %d not open" msgstr "%s: внутрішня помилка, файл журналу введення-виведення для події %d не відкрито" -#: plugins/sudoers/iolog.c:1065 plugins/sudoers/iolog.c:1194 -#: plugins/sudoers/iolog.c:1300 plugins/sudoers/timestamp.c:897 -#: plugins/sudoers/timestamp.c:989 plugins/sudoers/visudo.c:555 +#: plugins/sudoers/iolog.c:1073 plugins/sudoers/iolog.c:1202 +#: plugins/sudoers/iolog.c:1308 plugins/sudoers/timestamp.c:900 +#: plugins/sudoers/timestamp.c:992 plugins/sudoers/visudo.c:555 #: plugins/sudoers/visudo.c:561 msgid "unable to read the clock" msgstr "не вдалося прочитати час на годиннику" -#: plugins/sudoers/iolog.c:1292 plugins/sudoers/log_client.c:1203 -#: plugins/sudoers/log_client.c:1213 plugins/sudoers/log_client.c:1217 +#: plugins/sudoers/iolog.c:1300 plugins/sudoers/log_client.c:1226 +#: plugins/sudoers/log_client.c:1236 plugins/sudoers/log_client.c:1240 #, c-format msgid "%s: internal error, invalid signal %d" msgstr "%s: внутрішня помилка, некоректний сигнал %d" @@ -2857,15 +2869,15 @@ msgstr "непідтримуваний тип адреси LDAP: %s" msgid "unable to mix ldap and ldaps URIs" msgstr "не можна використовувати суміш з адрес ldap і ldaps" -#: 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 +#: plugins/sudoers/ldap_util.c:496 plugins/sudoers/ldap_util.c:503 +#: plugins/sudoers/ldap_util.c:511 plugins/sudoers/ldap_util.c:519 +#: plugins/sudoers/ldap_util.c:527 plugins/sudoers/ldap_util.c:535 +#: plugins/sudoers/ldap_util.c:543 plugins/sudoers/ldap_util.c:551 #, c-format msgid "duplicate sudoOption: %s%s%s" msgstr "дублювання sudoOption: %s%s%s" -#: plugins/sudoers/ldap_util.c:568 plugins/sudoers/ldap_util.c:570 +#: plugins/sudoers/ldap_util.c:569 plugins/sudoers/ldap_util.c:571 #, c-format msgid "unable to convert sudoOption: %s%s%s" msgstr "не вдалося перетворити запис sudoOption: %s%s%s" @@ -2878,63 +2890,63 @@ msgstr "не вдалося відкрити систему аудита" msgid "unable to send audit message" msgstr "не вдалося надіслати повідомлення аудита" -#: plugins/sudoers/log_client.c:125 plugins/sudoers/log_client.c:412 -#: plugins/sudoers/log_client.c:1450 plugins/sudoers/log_client.c:2076 +#: plugins/sudoers/log_client.c:125 plugins/sudoers/log_client.c:421 +#: plugins/sudoers/log_client.c:1473 plugins/sudoers/log_client.c:2101 msgid "error in event loop" msgstr "помилка у циклі обробки подій" -#: plugins/sudoers/log_client.c:205 +#: plugins/sudoers/log_client.c:214 #, c-format msgid "Creation of new SSL_CTX object failed: %s" msgstr "Не вдалося створити об'єкт SSL_CTX: %s" -#: plugins/sudoers/log_client.c:230 +#: plugins/sudoers/log_client.c:239 #, c-format msgid "unable to load certificate authority bundle %s" msgstr "не вдалося завантажити комплект служби сертифікації %s" -#: plugins/sudoers/log_client.c:252 +#: plugins/sudoers/log_client.c:261 #, c-format msgid "unable to load certificate %s" msgstr "не вдалося завантажити сертифікат %s" -#: plugins/sudoers/log_client.c:266 +#: plugins/sudoers/log_client.c:275 #, c-format msgid "unable to load private key %s" msgstr "не вдалося завантажити закритий ключ %s" -#: plugins/sudoers/log_client.c:275 +#: plugins/sudoers/log_client.c:284 #, c-format msgid "Unable to allocate ssl object: %s" msgstr "Не вдалося розмістити об'єкт SSL у пам'яті: %s" -#: plugins/sudoers/log_client.c:364 plugins/sudoers/log_client.c:369 +#: plugins/sudoers/log_client.c:373 plugins/sudoers/log_client.c:378 #, c-format msgid "TLS connection to %s:%s failed: %s" msgstr "Не вдалося встановити з'єднання TLS із %s:%s: %s" -#: plugins/sudoers/log_client.c:545 +#: plugins/sudoers/log_client.c:554 msgid "TLS initialization was unsuccessful" msgstr "Спроба ініціалізувати TLS завершилася невдало" -#: plugins/sudoers/log_client.c:555 +#: plugins/sudoers/log_client.c:564 msgid "TLS handshake was unsuccessful" msgstr "Спроба узгодити зв'язок TLS завершилася невдало" -#: plugins/sudoers/log_client.c:1221 +#: plugins/sudoers/log_client.c:1244 #, c-format msgid "%s: internal error, invalid exit status %d" msgstr "%s: внутрішня помилка, некоректний стан виходу %d" -#: plugins/sudoers/log_client.c:1757 plugins/sudoers/log_client.c:1782 +#: plugins/sudoers/log_client.c:1780 plugins/sudoers/log_client.c:1805 msgid "lost connection to log server" msgstr "втрачено зв’язок з сервером журналу" -#: plugins/sudoers/log_client.c:1859 +#: plugins/sudoers/log_client.c:1882 msgid "missing write buffer" msgstr "не вказано буфер запису" -#: plugins/sudoers/log_client.c:2015 +#: plugins/sudoers/log_client.c:2040 msgid "unable to connect to log server" msgstr "не вдалося встановити з'єднання із сервером журналу" @@ -2947,42 +2959,55 @@ msgid "user NOT authorized on host" msgstr "користувача не уповноважено на дії на вузлі" #: plugins/sudoers/logging.c:299 +msgid "setid command rejected in intercept mode" +msgstr "команду setid відкинуто у режимі перехоплення" + +#: plugins/sudoers/logging.c:301 msgid "command not allowed" msgstr "виконання команди заборонено" -#: plugins/sudoers/logging.c:320 +#: plugins/sudoers/logging.c:322 #, c-format msgid "%s is not in the sudoers file.\n" msgstr "%s немає у файлі sudoers.\n" -#: plugins/sudoers/logging.c:323 +#: plugins/sudoers/logging.c:325 #, c-format msgid "%s is not allowed to run sudo on %s.\n" msgstr "%s не має права виконувати sudo на %s.\n" -#: plugins/sudoers/logging.c:326 +#: plugins/sudoers/logging.c:328 plugins/sudoers/parser_warnx.c:59 +#, c-format +msgid "%s: %s\n" +msgstr "%s: %s\n" + +#: plugins/sudoers/logging.c:329 +msgid "setid commands are not permitted in intercept mode" +msgstr "команди setid не дозволено у режимі перехоплення" + +#: plugins/sudoers/logging.c:331 #, c-format msgid "Sorry, user %s may not run sudo on %s.\n" msgstr "Вибачте, користувач %s не має права виконувати sudo на %s.\n" -#: plugins/sudoers/logging.c:339 +#: plugins/sudoers/logging.c:344 #, c-format msgid "Sorry, user %s is not allowed to execute '%s%s%s%s' as %s%s%s on %s.\n" msgstr "Вибачте, користувач %s не має права виконувати «%s%s%s%s» від імені %s%s%s на %s.\n" -#: plugins/sudoers/logging.c:350 +#: plugins/sudoers/logging.c:358 msgid "This incident has been reported to the administrator.\n" msgstr "Про цю подію подано звіт адміністратору.\n" -#: plugins/sudoers/logging.c:387 plugins/sudoers/sudoers.c:547 -#: plugins/sudoers/sudoers.c:549 plugins/sudoers/sudoers.c:551 -#: plugins/sudoers/sudoers.c:553 plugins/sudoers/sudoers.c:777 -#: plugins/sudoers/sudoers.c:779 +#: plugins/sudoers/logging.c:395 plugins/sudoers/sudoers.c:564 +#: plugins/sudoers/sudoers.c:566 plugins/sudoers/sudoers.c:568 +#: plugins/sudoers/sudoers.c:570 plugins/sudoers/sudoers.c:794 +#: plugins/sudoers/sudoers.c:796 #, c-format msgid "%s: command not found" msgstr "%s: команду не знайдено" -#: plugins/sudoers/logging.c:389 plugins/sudoers/sudoers.c:543 +#: plugins/sudoers/logging.c:397 plugins/sudoers/sudoers.c:560 #, c-format msgid "" "ignoring \"%s\" found in '.'\n" @@ -2991,7 +3016,7 @@ msgstr "" "пропущено «%s» знайдений у «.»\n" "Скористайтеся командою «sudo ./%s», якщо вам потрібно виконати саме «%s»." -#: plugins/sudoers/logging.c:409 +#: plugins/sudoers/logging.c:417 #, c-format msgid "%u incorrect password attempt" msgid_plural "%u incorrect password attempts" @@ -3000,24 +3025,24 @@ msgstr[1] "%u невдалих спроби введення пароля" msgstr[2] "%u невдалих спроб введення пароля" msgstr[3] "одна невдала спроба введення пароля" -#: plugins/sudoers/logging.c:500 +#: plugins/sudoers/logging.c:508 msgid "authentication failure" msgstr "помилка під час спроби розпізнавання" -#: plugins/sudoers/logging.c:539 plugins/sudoers/logging.c:558 +#: plugins/sudoers/logging.c:552 plugins/sudoers/logging.c:571 msgid "a password is required" msgstr "слід вказати пароль" -#: plugins/sudoers/logging.c:881 +#: plugins/sudoers/logging.c:889 msgid "problem parsing sudoers" msgstr "проблема із обробкою sudoers" -#: plugins/sudoers/logging.c:922 plugins/sudoers/logging.c:930 +#: plugins/sudoers/logging.c:930 plugins/sudoers/logging.c:938 #, c-format msgid "%s:%d:%d: %s" msgstr "%s:%d:%d: %s" -#: plugins/sudoers/logging.c:1108 +#: plugins/sudoers/logging.c:1119 #, c-format msgid "unable to write log file %s" msgstr "не вдалося виконати запис до файла журналу %s" @@ -3047,11 +3072,6 @@ msgstr "некоректний атрибут LDIF: %s" msgid "%s:%d:%d: %s\n" msgstr "%s:%d:%d: %s\n" -#: plugins/sudoers/parser_warnx.c:59 -#, c-format -msgid "%s: %s\n" -msgstr "%s: %s\n" - #: plugins/sudoers/pivot.c:71 msgid "unable to restore root directory" msgstr "не вдалося відновити кореневий каталог" @@ -3065,59 +3085,59 @@ msgstr "не вдалося відновити поточний робочий msgid "invalid %.*s set by sudo front-end" msgstr "оболонкою sudo встановлено некоректне значення параметра %.*s" -#: plugins/sudoers/policy.c:364 plugins/sudoers/testsudoers.c:329 +#: plugins/sudoers/policy.c:347 plugins/sudoers/testsudoers.c:329 msgid "unable to parse network address list" msgstr "не вдалося обробити список мережевих адрес" -#: plugins/sudoers/policy.c:556 +#: plugins/sudoers/policy.c:555 msgid "user name not set by sudo front-end" msgstr "ім'я користувача не встановлено за допомогою оболонки sudo" -#: plugins/sudoers/policy.c:560 +#: plugins/sudoers/policy.c:559 msgid "user-ID not set by sudo front-end" msgstr "ідентифікатор користувача не встановлено за допомогою оболонки sudo" -#: plugins/sudoers/policy.c:564 +#: plugins/sudoers/policy.c:563 msgid "group-ID not set by sudo front-end" msgstr "ідентифікатор групи не встановлено за допомогою оболонки sudo" -#: plugins/sudoers/policy.c:568 +#: plugins/sudoers/policy.c:567 msgid "host name not set by sudo front-end" msgstr "назву вузла не встановлено за допомогою оболонки sudo" -#: plugins/sudoers/policy.c:757 +#: plugins/sudoers/policy.c:765 #, c-format msgid "invalid working directory: %s" msgstr "некоректний робочий каталог: %s" -#: plugins/sudoers/policy.c:944 +#: plugins/sudoers/policy.c:952 #, c-format msgid "invalid chroot directory: %s" msgstr "некоректний каталог chroot: %s" -#: plugins/sudoers/policy.c:1153 plugins/sudoers/visudo.c:919 +#: plugins/sudoers/policy.c:1163 plugins/sudoers/visudo.c:919 #: plugins/sudoers/visudo.c:1218 #, c-format msgid "unable to execute %s" msgstr "не вдалося виконати %s" -#: plugins/sudoers/policy.c:1225 plugins/sudoers/policy.c:1260 -#: plugins/sudoers/policy.c:1282 plugins/sudoers/policy.c:1300 +#: plugins/sudoers/policy.c:1232 plugins/sudoers/policy.c:1267 +#: plugins/sudoers/policy.c:1289 plugins/sudoers/policy.c:1307 #, c-format msgid "%s: invalid mode flags from sudo front end: 0x%x" msgstr "%s: некоректні прапорці режиму від оболонки sudo: 0x%x" -#: plugins/sudoers/policy.c:1323 +#: plugins/sudoers/policy.c:1330 #, c-format msgid "Sudoers policy plugin version %s\n" msgstr "Додаток правил sudoers версії %s\n" -#: plugins/sudoers/policy.c:1325 +#: plugins/sudoers/policy.c:1332 #, c-format msgid "Sudoers file grammar version %d\n" msgstr "Граматична перевірка файла sudoers версії %d\n" -#: plugins/sudoers/policy.c:1329 +#: plugins/sudoers/policy.c:1336 #, c-format msgid "" "\n" @@ -3126,27 +3146,27 @@ msgstr "" "\n" "Шлях до sudoers: %s\n" -#: plugins/sudoers/policy.c:1332 +#: plugins/sudoers/policy.c:1339 #, c-format msgid "nsswitch path: %s\n" msgstr "Шлях до nsswitch: %s\n" -#: plugins/sudoers/policy.c:1335 +#: plugins/sudoers/policy.c:1342 #, c-format msgid "ldap.conf path: %s\n" msgstr "Шлях до ldap.conf: %s\n" -#: plugins/sudoers/policy.c:1337 +#: plugins/sudoers/policy.c:1344 #, c-format msgid "ldap.secret path: %s\n" msgstr "Шлях до ldap.secret: %s\n" -#: plugins/sudoers/policy.c:1370 +#: plugins/sudoers/policy.c:1377 #, c-format msgid "unable to register hook of type %d (version %d.%d)" msgstr "неможливо зареєструвати процедуру перехоплення типу %d (версія %d.%d)" -#: plugins/sudoers/policy.c:1388 +#: plugins/sudoers/policy.c:1395 #, c-format msgid "unable to deregister hook of type %d (version %d.%d)" msgstr "неможливо скасувати реєстрацію процедури перехоплення типу %d (версія %d.%d)" @@ -3193,24 +3213,24 @@ msgstr "не вдалося кешувати групу %s" msgid "unable to cache group %s, already exists" msgstr "не вдалося кешувати групу %s, запис вже існує" -#: plugins/sudoers/pwutil.c:900 plugins/sudoers/pwutil.c:985 -#: plugins/sudoers/pwutil.c:1039 plugins/sudoers/pwutil.c:1095 +#: plugins/sudoers/pwutil.c:900 plugins/sudoers/pwutil.c:988 +#: plugins/sudoers/pwutil.c:1042 plugins/sudoers/pwutil.c:1101 #, c-format msgid "unable to cache group list for %s, already exists" msgstr "не вдалося кешувати список груп %s, запис вже існує" -#: plugins/sudoers/pwutil.c:906 plugins/sudoers/pwutil.c:990 -#: plugins/sudoers/pwutil.c:1045 plugins/sudoers/pwutil.c:1100 +#: plugins/sudoers/pwutil.c:906 plugins/sudoers/pwutil.c:993 +#: plugins/sudoers/pwutil.c:1048 plugins/sudoers/pwutil.c:1106 #, c-format msgid "unable to cache group list for %s" msgstr "не вдалося кешувати список груп %s" -#: plugins/sudoers/pwutil.c:979 +#: plugins/sudoers/pwutil.c:982 #, c-format msgid "unable to parse groups for %s" msgstr "не вдалося обробити записи груп %s" -#: plugins/sudoers/pwutil.c:1089 +#: plugins/sudoers/pwutil.c:1095 #, c-format msgid "unable to parse gids for %s" msgstr "не вдалося обробити записи ідентифікаторів груп %s" @@ -3339,82 +3359,82 @@ msgstr "користувачеві заборонено змінювати ка msgid "you are not permitted to use the -D option with %s" msgstr "вам не дозволено використовувати параметр -D з %s" -#: plugins/sudoers/sudoers.c:542 +#: plugins/sudoers/sudoers.c:559 msgid "command in current directory" msgstr "команда у поточному каталозі" -#: plugins/sudoers/sudoers.c:557 +#: plugins/sudoers/sudoers.c:574 msgid "\"cd\" is a shell built-in command, it cannot be run directly." msgstr "«cd» є вбудованою командою оболонки, її не може бути запущено безпосередньо." -#: plugins/sudoers/sudoers.c:559 +#: plugins/sudoers/sudoers.c:576 msgid "the -s option may be used to run a privileged shell." msgstr "параметр -s може бути використано для запуску привілейованої оболонки." -#: plugins/sudoers/sudoers.c:561 +#: plugins/sudoers/sudoers.c:578 msgid "the -D option may be used to run a command in a specific directory." msgstr "параметр -D може бути використано для запуску команди у вказаному каталозі." -#: plugins/sudoers/sudoers.c:570 +#: plugins/sudoers/sudoers.c:587 msgid "user not allowed to set a command timeout" msgstr "користувачеві заборонено встановлювати час очікування на виконання команди" -#: plugins/sudoers/sudoers.c:572 +#: plugins/sudoers/sudoers.c:589 msgid "sorry, you are not allowed set a command timeout" msgstr "вибачте, вам не дозволено встановлювати час очікування на виконання команди" -#: plugins/sudoers/sudoers.c:580 +#: plugins/sudoers/sudoers.c:597 msgid "user not allowed to preserve the environment" msgstr "користувачеві заборонено зберігати середовище" -#: plugins/sudoers/sudoers.c:582 +#: plugins/sudoers/sudoers.c:599 msgid "sorry, you are not allowed to preserve the environment" msgstr "вибачте, вам не дозволено зберігати середовище" -#: plugins/sudoers/sudoers.c:618 +#: plugins/sudoers/sudoers.c:635 msgid "no command specified" msgstr "не вказано команду" -#: plugins/sudoers/sudoers.c:759 +#: plugins/sudoers/sudoers.c:776 msgid "error setting user-specified environment variables" msgstr "помилка під час спроби встановити значення змінних середовища, які вказано користувачем" -#: plugins/sudoers/sudoers.c:1211 +#: plugins/sudoers/sudoers.c:1229 msgid "sudoedit doesn't need to be run via sudo" msgstr "Немає потреби у запуску sudoedit за допомогою sudo" -#: plugins/sudoers/sudoers.c:1296 plugins/sudoers/sudoreplay.c:1613 -#: plugins/sudoers/tsdump.c:138 +#: plugins/sudoers/sudoers.c:1314 plugins/sudoers/sudoreplay.c:1615 +#: plugins/sudoers/tsdump.c:151 #, c-format msgid "unable to read %s" msgstr "не вдалося прочитати %s" -#: plugins/sudoers/sudoers.c:1321 plugins/sudoers/visudo.c:1123 +#: plugins/sudoers/sudoers.c:1339 plugins/sudoers/visudo.c:1123 #, c-format msgid "%s is not a regular file" msgstr "%s не є звичайним файлом" -#: plugins/sudoers/sudoers.c:1325 plugins/sudoers/timestamp.c:272 toke.l:1355 +#: plugins/sudoers/sudoers.c:1343 plugins/sudoers/timestamp.c:272 toke.l:1335 #, c-format msgid "%s is owned by uid %u, should be %u" msgstr "%s належить uid %u, має належати %u" -#: plugins/sudoers/sudoers.c:1330 plugins/sudoers/timestamp.c:279 toke.l:1360 +#: plugins/sudoers/sudoers.c:1348 plugins/sudoers/timestamp.c:279 toke.l:1340 #, c-format msgid "%s is world writable" msgstr "Запис до «%s» можливий для довільного користувача" -#: plugins/sudoers/sudoers.c:1334 plugins/sudoers/timestamp.c:284 toke.l:1363 +#: plugins/sudoers/sudoers.c:1352 plugins/sudoers/timestamp.c:284 toke.l:1343 #, c-format msgid "%s is owned by gid %u, should be %u" msgstr "%s належить gid %u, має належати %u" -#: plugins/sudoers/sudoers.c:1363 +#: plugins/sudoers/sudoers.c:1381 #, c-format msgid "only root can use \"-c %s\"" msgstr "використовувати «-c %s» може лише root" -#: plugins/sudoers/sudoers.c:1382 +#: plugins/sudoers/sudoers.c:1400 #, c-format msgid "unknown login class %s" msgstr "невідомий клас входу %s" @@ -3459,75 +3479,75 @@ msgstr "%s/розклад за часом: %s" msgid "Replaying sudo session: %s" msgstr "Відтворення сеансу sudo: %s" -#: plugins/sudoers/sudoreplay.c:634 +#: plugins/sudoers/sudoreplay.c:633 plugins/sudoers/sudoreplay.c:636 msgid "unable to set tty to raw mode" msgstr "не вдалося перевести tty у режим без обробки даних" -#: plugins/sudoers/sudoreplay.c:685 +#: plugins/sudoers/sudoreplay.c:687 msgid "Warning: your terminal is too small to properly replay the log." msgstr "Попередження: розміри вашого термінала є замалими для належного показу журналу." -#: plugins/sudoers/sudoreplay.c:686 +#: plugins/sudoers/sudoreplay.c:688 #, c-format msgid "Log geometry is %d x %d, your terminal's geometry is %d x %d." msgstr "Встановлено формат журналу %d x %d, тоді як формат термінала — %d x %d." -#: plugins/sudoers/sudoreplay.c:714 +#: plugins/sudoers/sudoreplay.c:716 msgid "Replay finished, press any key to restore the terminal." msgstr "Відтворення завершено, натисніть будь-яку клавішу, щоб повернутися до термінала." -#: plugins/sudoers/sudoreplay.c:1217 plugins/sudoers/sudoreplay.c:1247 +#: plugins/sudoers/sudoreplay.c:1219 plugins/sudoers/sudoreplay.c:1249 #, c-format msgid "ambiguous expression \"%s\"" msgstr "неоднозначний вираз «%s»" -#: plugins/sudoers/sudoreplay.c:1269 +#: plugins/sudoers/sudoreplay.c:1271 msgid "unmatched ')' in expression" msgstr "зайва дужка, «)», у виразі" -#: plugins/sudoers/sudoreplay.c:1273 +#: plugins/sudoers/sudoreplay.c:1275 #, c-format msgid "unknown search term \"%s\"" msgstr "невідомий ключ пошуку «%s»" -#: plugins/sudoers/sudoreplay.c:1288 +#: plugins/sudoers/sudoreplay.c:1290 #, c-format msgid "%s requires an argument" msgstr "%s потребує визначення аргументу" -#: plugins/sudoers/sudoreplay.c:1298 +#: plugins/sudoers/sudoreplay.c:1300 #, c-format msgid "could not parse date \"%s\"" msgstr "не вдалося обробити дату «%s»" -#: plugins/sudoers/sudoreplay.c:1307 +#: plugins/sudoers/sudoreplay.c:1309 msgid "unmatched '(' in expression" msgstr "зайва дужка, «(», у виразі" -#: plugins/sudoers/sudoreplay.c:1309 +#: plugins/sudoers/sudoreplay.c:1311 msgid "illegal trailing \"or\"" msgstr "помилкове завершальне «or»" -#: plugins/sudoers/sudoreplay.c:1311 +#: plugins/sudoers/sudoreplay.c:1313 msgid "illegal trailing \"!\"" msgstr "помилкове завершальне «!»" -#: plugins/sudoers/sudoreplay.c:1417 +#: plugins/sudoers/sudoreplay.c:1419 #, c-format msgid "unknown search type %d" msgstr "невідомий тип пошуку %d" -#: plugins/sudoers/sudoreplay.c:1679 +#: plugins/sudoers/sudoreplay.c:1681 #, 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:1681 +#: plugins/sudoers/sudoreplay.c:1683 #, c-format msgid "usage: %s [-h] [-d dir] -l [search expression]\n" msgstr "використання: %s [-h] [-d каталог] -l [вираз для пошуку]\n" -#: plugins/sudoers/sudoreplay.c:1695 +#: plugins/sudoers/sudoreplay.c:1697 #, c-format msgid "" "%s - replay sudo session logs\n" @@ -3536,7 +3556,7 @@ msgstr "" "%s — відтворення журналів сеансів sudo\n" "\n" -#: plugins/sudoers/sudoreplay.c:1697 +#: plugins/sudoers/sudoreplay.c:1699 msgid "" "\n" "Options:\n" @@ -3613,26 +3633,26 @@ msgstr "" "\n" "Не знайдено відповідника команди" -#: plugins/sudoers/timestamp.c:364 plugins/sudoers/timestamp.c:711 +#: plugins/sudoers/timestamp.c:364 plugins/sudoers/timestamp.c:714 #, c-format msgid "unable to truncate time stamp file to %lld bytes" msgstr "не вдалося обрізати файл часової позначки до %lld байтів" -#: plugins/sudoers/timestamp.c:908 +#: plugins/sudoers/timestamp.c:911 msgid "ignoring time stamp from the future" msgstr "ігноруємо часову позначку з майбутнього" -#: plugins/sudoers/timestamp.c:931 +#: plugins/sudoers/timestamp.c:934 #, c-format msgid "time stamp too far in the future: %20.20s" msgstr "занадто далека часова позначка у майбутньому: %20.20s" -#: plugins/sudoers/timestamp.c:1067 +#: plugins/sudoers/timestamp.c:1070 #, c-format msgid "unable to lock time stamp file %s" msgstr "не вдалося заблокувати файл часової позначки %s" -#: plugins/sudoers/timestamp.c:1114 +#: plugins/sudoers/timestamp.c:1117 #, c-format msgid "%s:%d:%d timestampowner: unknown user %s" msgstr "%s:%d:%d timestampowner: невідомий користувач %s" @@ -3834,19 +3854,19 @@ msgstr "некоректне продовження рядка" msgid "invalid IPv6 address" msgstr "некоректна адреса IPv6" -#: toke.l:863 +#: toke.l:843 msgid "unexpected line break in string" msgstr "неочікуваний розрив рядків у рядку" -#: toke.l:982 +#: toke.l:962 msgid "ignoring editor backup file" msgstr "ігноруємо створений редактором файл резервної копії" -#: toke.l:985 +#: toke.l:965 msgid "ignoring file name containing '.'" msgstr "ігноруємо назву файла, що містить '.'" -#: toke.l:1310 +#: toke.l:1290 msgid "too many levels of includes" msgstr "занадто високий рівень вкладеності" @@ -3921,6 +3941,3 @@ msgstr "занадто високий рівень вкладеності" #~ msgid "problem with defaults entries" #~ msgstr "проблема з типовими записами" - -#~ msgid "internal error, unable to find %s in list!" -#~ msgstr "внутрішня помилка, не вдалося знайти %s у списку!" diff --git a/plugins/sudoers/po/zh_CN.mo b/plugins/sudoers/po/zh_CN.mo index 59fc977e8..ee28ea377 100644 Binary files a/plugins/sudoers/po/zh_CN.mo and b/plugins/sudoers/po/zh_CN.mo differ diff --git a/plugins/sudoers/po/zh_CN.po b/plugins/sudoers/po/zh_CN.po index 64c001164..00b521415 100644 --- a/plugins/sudoers/po/zh_CN.po +++ b/plugins/sudoers/po/zh_CN.po @@ -1,14 +1,14 @@ # Chinese simplified translation for sudoers. # This file is put in the public domain. -# Wylmer Wang , 2011-2018 -# Boyuan Yang <073plan@gmail.com>, 2019, 2020, 2021, 2022. +# Wylmer Wang , 2011-2018. +# Boyuan Yang <073plan@gmail.com>, 2019-2024. # msgid "" msgstr "" -"Project-Id-Version: sudoers 1.9.12b2\n" +"Project-Id-Version: sudoers 1.9.16b1\n" "Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n" -"POT-Creation-Date: 2022-10-10 09:13-0600\n" -"PO-Revision-Date: 2022-11-29 14:54-0500\n" +"POT-Creation-Date: 2024-06-08 09:06-0600\n" +"PO-Revision-Date: 2024-06-17 14:52-0400\n" "Last-Translator: Boyuan Yang <073plan@gmail.com>\n" "Language-Team: Chinese (simplified) \n" "Language: zh_CN\n" @@ -17,9 +17,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Bugs: Report translation errors to the Language-Team address.\n" -"X-Generator: Poedit 3.2\n" +"X-Generator: Poedit 3.4.4\n" -#: confstr.sh:1 gram.y:1220 plugins/sudoers/logging.c:862 +#: confstr.sh:1 gram.y:1240 plugins/sudoers/logging.c:919 msgid "syntax error" msgstr "语法错误" @@ -43,247 +43,254 @@ msgstr "*** %h 安全信息 ***" msgid "Sorry, try again." msgstr "对不起,请重试。" -#: 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 +#: gram.y:238 gram.y:305 gram.y:314 gram.y:323 gram.y:333 gram.y:343 gram.y:367 +#: gram.y:394 gram.y:403 gram.y:411 gram.y:420 gram.y:429 gram.y:502 gram.y:512 +#: gram.y:524 gram.y:566 gram.y:575 gram.y:584 gram.y:593 gram.y:726 gram.y:735 +#: gram.y:750 gram.y:770 gram.y:789 gram.y:942 gram.y:947 gram.y:955 gram.y:969 +#: gram.y:975 gram.y:987 gram.y:993 gram.y:1118 gram.y:1127 gram.y:1135 +#: gram.y:1144 gram.y:1153 gram.y:1182 gram.y:1191 gram.y:1199 gram.y:1300 +#: gram.y:1430 gram.y:1811 gram.y:1822 gram.y:1898 lib/eventlog/eventlog.c:236 +#: lib/eventlog/eventlog.c:313 lib/eventlog/eventlog.c:778 +#: lib/eventlog/eventlog.c:855 lib/eventlog/eventlog.c:1189 +#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:501 +#: lib/eventlog/parse_json.c:531 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_legacy.c:101 lib/iolog/iolog_legacy.c:112 +#: lib/iolog/iolog_legacy.c:124 lib/iolog/iolog_legacy.c:134 +#: lib/iolog/iolog_legacy.c:140 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/iolog_writer.c:147 logsrvd/iolog_writer.c:185 +#: logsrvd/iolog_writer.c:218 logsrvd/iolog_writer.c:228 +#: logsrvd/iolog_writer.c:257 logsrvd/iolog_writer.c:278 +#: logsrvd/iolog_writer.c:290 logsrvd/iolog_writer.c:300 +#: logsrvd/iolog_writer.c:318 logsrvd/iolog_writer.c:328 +#: logsrvd/iolog_writer.c:338 logsrvd/iolog_writer.c:350 +#: logsrvd/iolog_writer.c:385 logsrvd/iolog_writer.c:391 +#: logsrvd/iolog_writer.c:398 logsrvd/iolog_writer.c:404 +#: logsrvd/iolog_writer.c:588 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:324 +#: logsrvd/logsrvd.c:1058 logsrvd/logsrvd.c:1121 logsrvd/logsrvd.c:1599 +#: logsrvd/logsrvd.c:1604 logsrvd/logsrvd.c:1791 logsrvd/logsrvd.c:2046 +#: 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:1041 +#: logsrvd/logsrvd_conf.c:1058 logsrvd/logsrvd_conf.c:1453 +#: logsrvd/logsrvd_conf.c:1600 logsrvd/logsrvd_conf.c:1626 +#: logsrvd/logsrvd_conf.c:1638 logsrvd/logsrvd_conf.c:1645 +#: logsrvd/logsrvd_conf.c:1651 logsrvd/logsrvd_conf.c:1748 +#: logsrvd/logsrvd_journal.c:76 logsrvd/logsrvd_journal.c:216 +#: logsrvd/logsrvd_journal.c:217 logsrvd/logsrvd_journal.c:274 +#: logsrvd/logsrvd_journal.c:279 logsrvd/logsrvd_journal.c:439 +#: logsrvd/logsrvd_journal.c:441 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_local.c:468 logsrvd/logsrvd_local.c:469 +#: logsrvd/logsrvd_local.c:474 logsrvd/logsrvd_local.c:475 #: 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 +#: logsrvd/logsrvd_queue.c:266 logsrvd/logsrvd_relay.c:446 +#: logsrvd/logsrvd_relay.c:748 logsrvd/logsrvd_relay.c:855 +#: logsrvd/sendlog.c:256 logsrvd/sendlog.c:265 logsrvd/sendlog.c:297 +#: logsrvd/sendlog.c:303 logsrvd/sendlog.c:352 logsrvd/sendlog.c:651 +#: logsrvd/sendlog.c:1847 plugins/sudoers/audit.c:118 +#: plugins/sudoers/auth/bsdauth.c:154 plugins/sudoers/auth/kerb5.c:123 +#: plugins/sudoers/auth/kerb5.c:151 plugins/sudoers/auth/pam.c:697 +#: plugins/sudoers/auth/rfc1938.c:112 plugins/sudoers/auth/sia.c:61 +#: plugins/sudoers/canon_path.c:129 plugins/sudoers/canon_path.c:161 +#: plugins/sudoers/check_aliases.c:128 plugins/sudoers/check_util.c:56 +#: plugins/sudoers/check_util.c:84 plugins/sudoers/cvtsudoers.c:132 +#: plugins/sudoers/cvtsudoers.c:176 plugins/sudoers/cvtsudoers.c:193 +#: plugins/sudoers/cvtsudoers.c:204 plugins/sudoers/cvtsudoers.c:338 +#: plugins/sudoers/cvtsudoers.c:379 plugins/sudoers/cvtsudoers.c:399 +#: plugins/sudoers/cvtsudoers.c:545 plugins/sudoers/cvtsudoers.c:698 +#: plugins/sudoers/cvtsudoers.c:716 plugins/sudoers/cvtsudoers.c:891 +#: plugins/sudoers/cvtsudoers.c:899 plugins/sudoers/cvtsudoers.c:1393 +#: plugins/sudoers/cvtsudoers.c:1397 plugins/sudoers/cvtsudoers.c:1497 +#: plugins/sudoers/cvtsudoers_csv.c:182 plugins/sudoers/cvtsudoers_csv.c:255 +#: plugins/sudoers/cvtsudoers_json.c:604 plugins/sudoers/cvtsudoers_json.c:639 +#: plugins/sudoers/cvtsudoers_json.c:1016 +#: plugins/sudoers/cvtsudoers_json.c:1041 plugins/sudoers/cvtsudoers_ldif.c:112 +#: plugins/sudoers/cvtsudoers_ldif.c:144 plugins/sudoers/cvtsudoers_ldif.c:260 +#: plugins/sudoers/cvtsudoers_ldif.c:573 plugins/sudoers/cvtsudoers_ldif.c:586 +#: plugins/sudoers/cvtsudoers_ldif.c:591 plugins/sudoers/cvtsudoers_ldif.c:761 +#: plugins/sudoers/cvtsudoers_merge.c:57 plugins/sudoers/cvtsudoers_merge.c:357 +#: plugins/sudoers/cvtsudoers_merge.c:405 +#: plugins/sudoers/cvtsudoers_merge.c:454 +#: plugins/sudoers/cvtsudoers_merge.c:476 +#: plugins/sudoers/cvtsudoers_merge.c:588 +#: plugins/sudoers/cvtsudoers_merge.c:664 +#: plugins/sudoers/cvtsudoers_merge.c:1197 +#: plugins/sudoers/cvtsudoers_merge.c:1281 plugins/sudoers/defaults.c:455 +#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1062 +#: plugins/sudoers/defaults.c:1248 plugins/sudoers/editor.c:198 +#: plugins/sudoers/env.c:280 plugins/sudoers/exptilde.c:92 +#: plugins/sudoers/filedigest.c:66 plugins/sudoers/filedigest.c:70 +#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:212 +#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:270 +#: plugins/sudoers/iolog.c:683 plugins/sudoers/iolog.c:711 +#: plugins/sudoers/ldap.c:161 plugins/sudoers/ldap.c:448 +#: plugins/sudoers/ldap.c:625 plugins/sudoers/ldap.c:789 +#: plugins/sudoers/ldap.c:1214 plugins/sudoers/ldap.c:1642 +#: plugins/sudoers/ldap.c:1679 plugins/sudoers/ldap.c:1897 +#: plugins/sudoers/ldap.c:2007 plugins/sudoers/ldap.c:2023 +#: plugins/sudoers/ldap_conf.c:215 plugins/sudoers/ldap_conf.c:247 +#: plugins/sudoers/ldap_conf.c:299 plugins/sudoers/ldap_conf.c:335 +#: plugins/sudoers/ldap_conf.c:441 plugins/sudoers/ldap_conf.c:456 +#: plugins/sudoers/ldap_conf.c:565 plugins/sudoers/ldap_conf.c:598 +#: plugins/sudoers/ldap_conf.c:696 plugins/sudoers/ldap_conf.c:778 +#: plugins/sudoers/ldap_util.c:294 plugins/sudoers/ldap_util.c:301 +#: plugins/sudoers/ldap_util.c:615 plugins/sudoers/linux_audit.c:86 +#: plugins/sudoers/log_client.c:117 plugins/sudoers/log_client.c:411 +#: plugins/sudoers/log_client.c:726 plugins/sudoers/log_client.c:748 +#: plugins/sudoers/log_client.c:753 plugins/sudoers/log_client.c:1449 +#: plugins/sudoers/log_client.c:1570 plugins/sudoers/log_client.c:1693 +#: plugins/sudoers/log_client.c:2018 plugins/sudoers/log_client.c:2077 +#: plugins/sudoers/logging.c:110 plugins/sudoers/logging.c:190 +#: plugins/sudoers/logging.c:483 plugins/sudoers/logging.c:723 +#: plugins/sudoers/logging.c:880 plugins/sudoers/lookup.c:331 +#: plugins/sudoers/lookup.c:348 plugins/sudoers/lookup.c:366 +#: plugins/sudoers/lookup.c:384 plugins/sudoers/lookup.c:401 +#: plugins/sudoers/lookup.c:423 plugins/sudoers/lookup.c:434 +#: plugins/sudoers/match_command.c:280 plugins/sudoers/match_command.c:544 +#: plugins/sudoers/match_command.c:608 plugins/sudoers/match_command.c:702 +#: plugins/sudoers/match_command.c:750 plugins/sudoers/match_digest.c:88 #: 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: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 +#: plugins/sudoers/parse_ldif.c:484 plugins/sudoers/parse_ldif.c:595 +#: 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:654 plugins/sudoers/policy.c:1071 +#: plugins/sudoers/prompt.c:94 plugins/sudoers/pwutil.c:219 +#: plugins/sudoers/pwutil.c:290 plugins/sudoers/pwutil.c:368 +#: plugins/sudoers/pwutil.c:542 plugins/sudoers/pwutil.c:607 +#: plugins/sudoers/pwutil.c:679 plugins/sudoers/pwutil.c:877 +#: plugins/sudoers/pwutil.c:970 plugins/sudoers/pwutil.c:1018 +#: plugins/sudoers/pwutil.c:1082 plugins/sudoers/sethost.c:89 +#: plugins/sudoers/sssd.c:145 plugins/sudoers/sssd.c:186 +#: plugins/sudoers/sssd.c:415 plugins/sudoers/sssd.c:480 +#: plugins/sudoers/sssd.c:507 plugins/sudoers/sssd.c:570 +#: plugins/sudoers/sssd.c:765 plugins/sudoers/strvec_join.c:53 +#: plugins/sudoers/sudoers.c:405 plugins/sudoers/sudoers.c:412 +#: plugins/sudoers/sudoers.c:673 plugins/sudoers/sudoers.c:683 +#: plugins/sudoers/sudoers.c:828 plugins/sudoers/sudoers.c:894 +#: plugins/sudoers/sudoers.c:953 plugins/sudoers/sudoers.c:1002 +#: plugins/sudoers/sudoers.c:1162 plugins/sudoers/sudoers.c:1231 +#: plugins/sudoers/sudoers.c:1325 plugins/sudoers/sudoers_cb.c:150 +#: plugins/sudoers/sudoreplay.c:559 plugins/sudoers/sudoreplay.c:562 +#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1337 +#: plugins/sudoers/sudoreplay.c:1533 plugins/sudoers/sudoreplay.c:1537 +#: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:256 +#: plugins/sudoers/testsudoers.c:265 plugins/sudoers/testsudoers.c:275 +#: plugins/sudoers/testsudoers.c:282 plugins/sudoers/testsudoers.c:302 +#: plugins/sudoers/testsudoers.c:756 plugins/sudoers/timestamp.c:468 +#: plugins/sudoers/timestamp.c:514 plugins/sudoers/timestamp.c:1045 +#: plugins/sudoers/timestamp.c:1248 plugins/sudoers/toke_util.c:79 +#: plugins/sudoers/toke_util.c:108 plugins/sudoers/toke_util.c:134 +#: plugins/sudoers/toke_util.c:164 plugins/sudoers/toke_util.c:204 +#: plugins/sudoers/tsdump.c:136 plugins/sudoers/visudo.c:151 +#: plugins/sudoers/visudo.c:258 plugins/sudoers/visudo.c:383 +#: plugins/sudoers/visudo.c:389 plugins/sudoers/visudo.c:501 +#: plugins/sudoers/visudo.c:1073 plugins/sudoers/visudo.c:1095 +#: plugins/sudoers/visudo.c:1189 toke.l:1011 toke.l:1174 toke.l:1193 +#: toke.l:1220 toke.l:1300 msgid "unable to allocate memory" msgstr "无法分配内存" -#: gram.y:623 +#: gram.y:617 msgid "a digest requires a path name" msgstr "摘要需要路径参数" -#: gram.y:645 +#: gram.y:639 msgid "values for \"CWD\" must start with a '/', '~', or '*'" msgstr "“CWD”的值必须以“/”、“~”或“*”开头" -#: gram.y:651 +#: gram.y:645 msgid "\"CWD\" path too long" msgstr "“CWD”路径过长" -#: gram.y:661 +#: gram.y:655 msgid "values for \"CHROOT\" must start with a '/', '~', or '*'" msgstr "“CHROOT”的值必须以“/”、“~”或“*”开头" -#: gram.y:667 +#: gram.y:661 msgid "\"CHROOT\" path too long" msgstr "“CHROOT”路径过长" -#: gram.y:802 +#: gram.y:810 #, c-format msgid "syntax error, reserved word %s used as an alias name" msgstr "语法错误,保留字 %s 被用作别名" -#: gram.y:825 +#: gram.y:833 msgid "invalid notbefore value" msgstr "无效的 notbefore 值" -#: gram.y:834 +#: gram.y:842 msgid "invalid notafter value" msgstr "无效的 notafter 值" -#: gram.y:844 plugins/sudoers/policy.c:383 +#: gram.y:852 plugins/sudoers/policy.c:373 msgid "timeout value too large" msgstr "超时值过大" -#: gram.y:846 plugins/sudoers/policy.c:385 +#: gram.y:854 plugins/sudoers/policy.c:375 msgid "invalid timeout value" msgstr "无效的超时值" -#: gram.y:967 plugins/sudoers/sudoers.c:1033 +#: gram.y:965 plugins/sudoers/sudoers.c:1180 msgid "command too long" msgstr "命令过长" -#: 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:999 +msgid "expected a fully-qualified path name" +msgstr "期望得到完全合格的路径" -#: gram.y:1278 +#: gram.y:1244 +#, c-format +msgid "%s:%d:%zu: %s\n" +msgstr "%s:%d:%zu: %s\n" + +#: gram.y:1298 #, c-format msgid "Alias \"%s\" already defined" msgstr "别名“%s”已定义过" -#: 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 +#: gram.y:1811 gram.y:1822 gram.y:1898 lib/eventlog/eventlog.c:236 +#: lib/eventlog/eventlog.c:778 lib/eventlog/eventlog.c:851 +#: lib/eventlog/eventlog.c:854 lib/eventlog/eventlog.c:1189 +#: lib/eventlog/parse_json.c:185 lib/eventlog/parse_json.c:500 +#: lib/eventlog/parse_json.c:531 lib/iolog/iolog_filter.c:142 +#: lib/iolog/iolog_filter.c:202 lib/iolog/iolog_filter.c:232 +#: lib/iolog/iolog_legacy.c:101 lib/iolog/iolog_legacy.c:112 +#: lib/iolog/iolog_legacy.c:124 lib/iolog/iolog_legacy.c:134 +#: lib/iolog/iolog_legacy.c:140 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:147 logsrvd/iolog_writer.c:174 +#: logsrvd/iolog_writer.c:184 logsrvd/iolog_writer.c:197 +#: logsrvd/iolog_writer.c:217 logsrvd/iolog_writer.c:227 +#: logsrvd/iolog_writer.c:246 logsrvd/iolog_writer.c:256 +#: logsrvd/iolog_writer.c:267 logsrvd/iolog_writer.c:277 +#: logsrvd/iolog_writer.c:289 logsrvd/iolog_writer.c:299 +#: logsrvd/iolog_writer.c:317 logsrvd/iolog_writer.c:327 +#: logsrvd/iolog_writer.c:337 logsrvd/iolog_writer.c:349 +#: logsrvd/iolog_writer.c:385 logsrvd/iolog_writer.c:391 +#: logsrvd/iolog_writer.c:398 logsrvd/iolog_writer.c:404 +#: logsrvd/iolog_writer.c:588 logsrvd/logsrv_util.c:92 logsrvd/logsrvd.c:324 +#: logsrvd/logsrvd.c:462 logsrvd/logsrvd.c:499 logsrvd/logsrvd.c:531 +#: logsrvd/logsrvd.c:585 logsrvd/logsrvd.c:620 logsrvd/logsrvd.c:669 +#: logsrvd/logsrvd.c:705 logsrvd/logsrvd.c:741 logsrvd/logsrvd.c:1132 +#: logsrvd/logsrvd.c:1456 logsrvd/logsrvd.c:1463 logsrvd/logsrvd.c:1599 +#: logsrvd/logsrvd.c:1604 logsrvd/logsrvd.c:1791 logsrvd/logsrvd.c:2046 #: 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 @@ -291,276 +298,261 @@ msgstr "别名“%s”已定义过" #: 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_conf.c:829 logsrvd/logsrvd_conf.c:1041 +#: logsrvd/logsrvd_conf.c:1058 logsrvd/logsrvd_conf.c:1453 +#: logsrvd/logsrvd_conf.c:1600 logsrvd/logsrvd_conf.c:1626 +#: logsrvd/logsrvd_conf.c:1638 logsrvd/logsrvd_conf.c:1645 +#: logsrvd/logsrvd_conf.c:1651 logsrvd/logsrvd_conf.c:1747 +#: logsrvd/logsrvd_journal.c:76 logsrvd/logsrvd_journal.c:125 +#: logsrvd/logsrvd_journal.c:216 logsrvd/logsrvd_journal.c:246 +#: logsrvd/logsrvd_journal.c:250 logsrvd/logsrvd_journal.c:258 +#: logsrvd/logsrvd_journal.c:287 logsrvd/logsrvd_journal.c:291 +#: logsrvd/logsrvd_journal.c:439 logsrvd/logsrvd_local.c:215 +#: logsrvd/logsrvd_local.c:278 logsrvd/logsrvd_local.c:468 +#: logsrvd/logsrvd_local.c:474 logsrvd/logsrvd_local.c:493 #: 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: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: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: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 +#: logsrvd/logsrvd_queue.c:266 logsrvd/sendlog.c:256 logsrvd/sendlog.c:265 +#: logsrvd/sendlog.c:297 logsrvd/sendlog.c:303 logsrvd/sendlog.c:352 +#: logsrvd/sendlog.c:651 logsrvd/sendlog.c:1548 logsrvd/sendlog.c:1555 +#: logsrvd/sendlog.c:1778 logsrvd/sendlog.c:1847 logsrvd/tls_init.c:305 +#: logsrvd/tls_init.c:329 logsrvd/tls_init.c:340 plugins/sudoers/audit.c:118 +#: plugins/sudoers/auth/pam.c:518 plugins/sudoers/auth/pam.c:697 +#: plugins/sudoers/auth/rfc1938.c:112 plugins/sudoers/canon_path.c:129 +#: plugins/sudoers/canon_path.c:161 plugins/sudoers/check_aliases.c:128 +#: plugins/sudoers/check_util.c:56 plugins/sudoers/check_util.c:84 +#: plugins/sudoers/cvtsudoers.c:132 plugins/sudoers/cvtsudoers.c:175 +#: plugins/sudoers/cvtsudoers.c:192 plugins/sudoers/cvtsudoers.c:203 +#: plugins/sudoers/cvtsudoers.c:337 plugins/sudoers/cvtsudoers.c:544 +#: plugins/sudoers/cvtsudoers.c:697 plugins/sudoers/cvtsudoers.c:715 +#: plugins/sudoers/cvtsudoers.c:891 plugins/sudoers/cvtsudoers.c:898 +#: plugins/sudoers/cvtsudoers.c:1393 plugins/sudoers/cvtsudoers.c:1397 +#: plugins/sudoers/cvtsudoers.c:1497 plugins/sudoers/cvtsudoers_csv.c:182 +#: plugins/sudoers/cvtsudoers_csv.c:255 plugins/sudoers/cvtsudoers_json.c:604 +#: plugins/sudoers/cvtsudoers_json.c:639 plugins/sudoers/cvtsudoers_json.c:1016 +#: plugins/sudoers/cvtsudoers_json.c:1041 plugins/sudoers/cvtsudoers_ldif.c:112 +#: plugins/sudoers/cvtsudoers_ldif.c:144 plugins/sudoers/cvtsudoers_ldif.c:260 +#: plugins/sudoers/cvtsudoers_ldif.c:573 plugins/sudoers/cvtsudoers_ldif.c:586 +#: plugins/sudoers/cvtsudoers_ldif.c:591 plugins/sudoers/cvtsudoers_ldif.c:761 +#: plugins/sudoers/cvtsudoers_merge.c:57 plugins/sudoers/cvtsudoers_merge.c:357 +#: plugins/sudoers/cvtsudoers_merge.c:405 +#: plugins/sudoers/cvtsudoers_merge.c:453 +#: plugins/sudoers/cvtsudoers_merge.c:475 +#: plugins/sudoers/cvtsudoers_merge.c:583 +#: plugins/sudoers/cvtsudoers_merge.c:588 +#: plugins/sudoers/cvtsudoers_merge.c:661 +#: plugins/sudoers/cvtsudoers_merge.c:664 +#: plugins/sudoers/cvtsudoers_merge.c:1196 +#: plugins/sudoers/cvtsudoers_merge.c:1281 plugins/sudoers/defaults.c:455 +#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1062 +#: plugins/sudoers/defaults.c:1248 plugins/sudoers/editor.c:198 +#: plugins/sudoers/env.c:280 plugins/sudoers/exptilde.c:92 +#: plugins/sudoers/filedigest.c:66 plugins/sudoers/filedigest.c:70 +#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:211 +#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:270 +#: plugins/sudoers/iolog.c:683 plugins/sudoers/iolog.c:711 +#: plugins/sudoers/ldap.c:161 plugins/sudoers/ldap.c:448 +#: plugins/sudoers/ldap.c:625 plugins/sudoers/ldap.c:789 +#: plugins/sudoers/ldap.c:1214 plugins/sudoers/ldap.c:1642 +#: plugins/sudoers/ldap.c:1679 plugins/sudoers/ldap.c:1897 +#: plugins/sudoers/ldap.c:2007 plugins/sudoers/ldap.c:2023 +#: plugins/sudoers/ldap_conf.c:215 plugins/sudoers/ldap_conf.c:247 +#: plugins/sudoers/ldap_conf.c:299 plugins/sudoers/ldap_conf.c:335 +#: plugins/sudoers/ldap_conf.c:441 plugins/sudoers/ldap_conf.c:456 +#: plugins/sudoers/ldap_conf.c:565 plugins/sudoers/ldap_conf.c:598 +#: plugins/sudoers/ldap_conf.c:695 plugins/sudoers/ldap_conf.c:778 +#: plugins/sudoers/ldap_util.c:293 plugins/sudoers/ldap_util.c:300 +#: plugins/sudoers/ldap_util.c:615 plugins/sudoers/linux_audit.c:86 +#: plugins/sudoers/log_client.c:117 plugins/sudoers/log_client.c:237 +#: plugins/sudoers/log_client.c:259 plugins/sudoers/log_client.c:273 +#: plugins/sudoers/log_client.c:411 plugins/sudoers/log_client.c:726 +#: plugins/sudoers/log_client.c:748 plugins/sudoers/log_client.c:753 +#: plugins/sudoers/log_client.c:1449 plugins/sudoers/log_client.c:1570 +#: plugins/sudoers/log_client.c:1693 plugins/sudoers/log_client.c:2018 +#: plugins/sudoers/log_client.c:2077 plugins/sudoers/logging.c:110 +#: plugins/sudoers/logging.c:189 plugins/sudoers/logging.c:190 +#: plugins/sudoers/logging.c:483 plugins/sudoers/logging.c:723 +#: plugins/sudoers/logging.c:763 plugins/sudoers/logging.c:880 +#: plugins/sudoers/logging.c:933 plugins/sudoers/logging.c:940 +#: plugins/sudoers/lookup.c:330 plugins/sudoers/lookup.c:347 +#: plugins/sudoers/lookup.c:365 plugins/sudoers/lookup.c:383 +#: plugins/sudoers/lookup.c:400 plugins/sudoers/lookup.c:422 +#: plugins/sudoers/lookup.c:433 plugins/sudoers/match_command.c:279 +#: plugins/sudoers/match_command.c:543 plugins/sudoers/match_command.c:607 +#: plugins/sudoers/match_command.c:702 plugins/sudoers/match_command.c:749 +#: plugins/sudoers/match_digest.c:88 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:595 plugins/sudoers/parse_ldif.c:624 +#: plugins/sudoers/parse_ldif.c:649 plugins/sudoers/parse_ldif.c:707 +#: plugins/sudoers/parse_ldif.c:724 plugins/sudoers/parse_ldif.c:752 +#: plugins/sudoers/parse_ldif.c:759 plugins/sudoers/policy.c:152 +#: plugins/sudoers/policy.c:161 plugins/sudoers/policy.c:170 +#: plugins/sudoers/policy.c:199 plugins/sudoers/policy.c:357 +#: plugins/sudoers/policy.c:373 plugins/sudoers/policy.c:375 +#: plugins/sudoers/policy.c:414 plugins/sudoers/policy.c:423 +#: plugins/sudoers/policy.c:432 plugins/sudoers/policy.c:441 +#: plugins/sudoers/policy.c:492 plugins/sudoers/policy.c:501 +#: plugins/sudoers/policy.c:510 plugins/sudoers/policy.c:519 +#: plugins/sudoers/policy.c:528 plugins/sudoers/policy.c:537 +#: plugins/sudoers/policy.c:546 plugins/sudoers/policy.c:654 +#: plugins/sudoers/policy.c:1071 plugins/sudoers/prompt.c:94 +#: plugins/sudoers/pwutil.c:219 plugins/sudoers/pwutil.c:290 +#: plugins/sudoers/pwutil.c:368 plugins/sudoers/pwutil.c:542 +#: plugins/sudoers/pwutil.c:607 plugins/sudoers/pwutil.c:679 +#: plugins/sudoers/pwutil.c:877 plugins/sudoers/pwutil.c:970 +#: plugins/sudoers/pwutil.c:1018 plugins/sudoers/pwutil.c:1082 +#: plugins/sudoers/set_perms.c:374 plugins/sudoers/set_perms.c:723 +#: plugins/sudoers/set_perms.c:1096 plugins/sudoers/set_perms.c:1409 +#: plugins/sudoers/set_perms.c:1579 plugins/sudoers/sethost.c:89 +#: plugins/sudoers/sssd.c:144 plugins/sudoers/sssd.c:186 +#: plugins/sudoers/sssd.c:415 plugins/sudoers/sssd.c:480 +#: plugins/sudoers/sssd.c:507 plugins/sudoers/sssd.c:570 +#: plugins/sudoers/sssd.c:765 plugins/sudoers/strvec_join.c:53 +#: plugins/sudoers/sudoers.c:405 plugins/sudoers/sudoers.c:412 +#: plugins/sudoers/sudoers.c:673 plugins/sudoers/sudoers.c:683 +#: plugins/sudoers/sudoers.c:828 plugins/sudoers/sudoers.c:894 +#: plugins/sudoers/sudoers.c:953 plugins/sudoers/sudoers.c:1002 +#: plugins/sudoers/sudoers.c:1162 plugins/sudoers/sudoers.c:1231 +#: plugins/sudoers/sudoers.c:1324 plugins/sudoers/sudoers_cb.c:150 +#: plugins/sudoers/sudoreplay.c:559 plugins/sudoers/sudoreplay.c:562 +#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1337 +#: plugins/sudoers/sudoreplay.c:1533 plugins/sudoers/sudoreplay.c:1537 +#: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:255 +#: plugins/sudoers/testsudoers.c:264 plugins/sudoers/testsudoers.c:275 +#: plugins/sudoers/testsudoers.c:282 plugins/sudoers/testsudoers.c:302 +#: plugins/sudoers/testsudoers.c:756 plugins/sudoers/timestamp.c:468 +#: plugins/sudoers/timestamp.c:514 plugins/sudoers/timestamp.c:1045 +#: plugins/sudoers/timestamp.c:1248 plugins/sudoers/toke_util.c:79 +#: plugins/sudoers/toke_util.c:108 plugins/sudoers/toke_util.c:134 +#: plugins/sudoers/toke_util.c:163 plugins/sudoers/toke_util.c:204 +#: plugins/sudoers/tsdump.c:136 plugins/sudoers/visudo.c:151 +#: plugins/sudoers/visudo.c:258 plugins/sudoers/visudo.c:383 +#: plugins/sudoers/visudo.c:389 plugins/sudoers/visudo.c:501 +#: plugins/sudoers/visudo.c:1073 plugins/sudoers/visudo.c:1094 +#: plugins/sudoers/visudo.c:1189 toke.l:1011 toke.l:1174 toke.l:1193 +#: toke.l:1220 toke.l:1289 toke.l:1300 #, c-format msgid "%s: %s" msgstr "%s:%s" -#: 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: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 溢出" - -#: lib/eventlog/eventlog.c:373 +#: lib/eventlog/eventlog.c:304 #, c-format msgid "unable to dup stdin: %m" msgstr "无法 dup stdin:%m" -#: lib/eventlog/eventlog.c:415 +#: lib/eventlog/eventlog.c:346 #, c-format msgid "unable to execute %s: %m" msgstr "无法执行 %s:%m" -#: lib/eventlog/eventlog.c:463 plugins/sudoers/auth/aix_auth.c:198 +#: lib/eventlog/eventlog.c:394 plugins/sudoers/auth/aix_auth.c:199 msgid "unable to fork" msgstr "无法执行 fork" -#: lib/eventlog/eventlog.c:473 lib/eventlog/eventlog.c:538 +#: lib/eventlog/eventlog.c:404 lib/eventlog/eventlog.c:471 #, c-format msgid "unable to fork: %m" msgstr "无法执行 fork:%m" -#: lib/eventlog/eventlog.c:528 +#: lib/eventlog/eventlog.c:461 #, c-format msgid "unable to open pipe: %m" msgstr "无法打开管道:%m" -#: lib/eventlog/eventlog.c:1030 +#: lib/eventlog/eventlog.c:1013 #, c-format msgid "%8s : %s" msgstr "%8s:%s" -#: lib/eventlog/eventlog.c:1059 +#: lib/eventlog/eventlog.c:1042 #, c-format msgid "%8s : (command continued) %s" msgstr "%8s:(命令继续执行) %s" -#: 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 "无效的正则表达式“%s”:%s" - -#: lib/iolog/iolog_json.c:140 +#: lib/eventlog/parse_json.c:175 #, c-format msgid "expected JSON_STRING, got %d" msgstr "期望得到 JSON_STRING,但得到了 %d" -#: lib/iolog/iolog_json.c:145 +#: lib/eventlog/parse_json.c:180 msgid "JSON_ARRAY too large" msgstr "JSON_ARRAY 过大" -#: lib/iolog/iolog_json.c:404 +#: lib/eventlog/parse_json.c:523 msgid "missing double quote in name" msgstr "名称中缺少双引号" -#: lib/iolog/iolog_json.c:501 +#: lib/eventlog/parse_json.c:641 msgid "missing JSON_OBJECT" msgstr "缺少 JSON_OBJECT" -#: lib/iolog/iolog_json.c:505 +#: lib/eventlog/parse_json.c:645 #, c-format msgid "expected JSON_OBJECT, got %d" msgstr "期望得到 JSON_OBJECT,但得到了 %d" -#: lib/iolog/iolog_json.c:661 +#: lib/eventlog/parse_json.c:779 #, c-format msgid "json stack exhausted (max %u frames)" msgstr "json 栈耗尽(最大 %u 帧)" -#: lib/iolog/iolog_json.c:735 +#: lib/eventlog/parse_json.c:857 msgid "objects must consist of name:value pairs" msgstr "对象必须包含 名称:值 对" -#: 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 +#: lib/eventlog/parse_json.c:862 lib/eventlog/parse_json.c:893 +#: lib/eventlog/parse_json.c:937 lib/eventlog/parse_json.c:959 +#: lib/eventlog/parse_json.c:981 lib/eventlog/parse_json.c:1003 +#: lib/eventlog/parse_json.c:1025 msgid "missing separator between values" msgstr "值之间缺少分隔符" -#: lib/iolog/iolog_json.c:755 lib/iolog/iolog_json.c:929 +#: lib/eventlog/parse_json.c:877 lib/eventlog/parse_json.c:1051 msgid "unmatched close brace" msgstr "不匹配的右括号" -#: lib/iolog/iolog_json.c:766 +#: lib/eventlog/parse_json.c:888 msgid "unexpected array" msgstr "未预期的数组" -#: lib/iolog/iolog_json.c:786 lib/iolog/iolog_json.c:932 +#: lib/eventlog/parse_json.c:908 lib/eventlog/parse_json.c:1054 msgid "unmatched close bracket" msgstr "不匹配的右花括号" -#: lib/iolog/iolog_json.c:797 +#: lib/eventlog/parse_json.c:919 msgid "unexpected string" msgstr "未预期的字符串" -#: lib/iolog/iolog_json.c:808 +#: lib/eventlog/parse_json.c:930 msgid "missing colon after name" msgstr "名称后缺少冒号" -#: lib/iolog/iolog_json.c:829 lib/iolog/iolog_json.c:851 +#: lib/eventlog/parse_json.c:951 lib/eventlog/parse_json.c:973 msgid "unexpected boolean" msgstr "未预期的布尔值" -#: lib/iolog/iolog_json.c:873 +#: lib/eventlog/parse_json.c:995 msgid "unexpected null" msgstr "未预期的 null" -#: lib/iolog/iolog_json.c:894 +#: lib/eventlog/parse_json.c:1016 msgid "unexpected number" msgstr "未预期的数字" -#: lib/iolog/iolog_json.c:941 +#: lib/eventlog/parse_json.c:1062 msgid "parse error" msgstr "解析错误" +#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1303 +#: plugins/sudoers/sudoreplay.c:1293 plugins/sudoers/sudoreplay.c:1589 +#, c-format +msgid "invalid regular expression \"%s\": %s" +msgstr "无效的正则表达式“%s”:%s" + #: lib/iolog/iolog_legacy.c:65 #, c-format msgid "%s: invalid log file" @@ -571,22 +563,22 @@ msgstr "%s:无效的日志文件" msgid "%s: time stamp field is missing" msgstr "%s:缺少 时间戳 字段" -#: lib/iolog/iolog_legacy.c:89 +#: lib/iolog/iolog_legacy.c:90 #, c-format msgid "%s: time stamp %s: %s" msgstr "%s:时间戳 %s:%s" -#: lib/iolog/iolog_legacy.c:96 +#: lib/iolog/iolog_legacy.c:97 #, c-format msgid "%s: user field is missing" msgstr "%s:缺少 用户 字段" -#: lib/iolog/iolog_legacy.c:107 +#: lib/iolog/iolog_legacy.c:108 #, c-format msgid "%s: runas user field is missing" msgstr "%s:缺少 runas 用户 字段" -#: lib/iolog/iolog_legacy.c:118 +#: lib/iolog/iolog_legacy.c:119 #, c-format msgid "%s: runas group field is missing" msgstr "%s:缺少 runas 组 字段" @@ -596,14 +588,14 @@ msgstr "%s:缺少 runas 组 字段" msgid "%s exists but is not a directory (0%o)" msgstr "%s 存在,但不是目录(0%o)" -#: lib/iolog/iolog_mkdirs.c:123 lib/iolog/iolog_mkdtemp.c:78 -#: logsrvd/iolog_writer.c:781 plugins/sudoers/timestamp.c:209 +#: lib/iolog/iolog_mkdirs.c:125 lib/iolog/iolog_mkdtemp.c:80 +#: logsrvd/iolog_writer.c:803 plugins/sudoers/timestamp.c:218 #, c-format msgid "unable to mkdir %s" msgstr "无法创建目录 %s" -#: lib/iolog/iolog_mkdtemp.c:83 plugins/sudoers/visudo.c:753 -#: plugins/sudoers/visudo.c:787 plugins/sudoers/visudo.c:793 +#: lib/iolog/iolog_mkdtemp.c:85 plugins/sudoers/visudo.c:769 +#: plugins/sudoers/visudo.c:803 plugins/sudoers/visudo.c:809 #, c-format msgid "unable to change mode of %s to 0%o" msgstr "无法将 %s 的模式更改为 0%o" @@ -635,330 +627,331 @@ msgstr "%s:协议错误:%s 的错误类型" 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 +#: logsrvd/iolog_writer.c:141 plugins/sudoers/logging.c:1035 +#: plugins/sudoers/policy.c:621 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 +#: logsrvd/iolog_writer.c:362 logsrvd/iolog_writer.c:367 +#: logsrvd/iolog_writer.c:372 logsrvd/iolog_writer.c:377 #, c-format msgid "%s: protocol error: %s missing from AcceptMessage" msgstr "%s:协议错误:AcceptMessage 中 %s 缺失" -#: logsrvd/iolog_writer.c:417 +#: logsrvd/iolog_writer.c:438 #, c-format msgid "%s: unable to format session id" msgstr "%s:无法格式化会话 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 +#: logsrvd/iolog_writer.c:452 logsrvd/iolog_writer.c:466 +#: logsrvd/iolog_writer.c:480 logsrvd/iolog_writer.c:495 +#: logsrvd/iolog_writer.c:509 logsrvd/iolog_writer.c:523 #, c-format msgid "%s: %s is not set" msgstr "%s:%s 未设置" -#: logsrvd/iolog_writer.c:538 logsrvd/iolog_writer.c:545 +#: logsrvd/iolog_writer.c:559 logsrvd/iolog_writer.c:566 #, c-format msgid "unable to expand iolog path %s" msgstr "无法展开 iolog 路径 %s" -#: logsrvd/iolog_writer.c:563 +#: logsrvd/iolog_writer.c:584 #, c-format msgid "unable to create iolog path %s" msgstr "无法创建 iolog 路径 %s" -#: logsrvd/iolog_writer.c:593 +#: logsrvd/iolog_writer.c:614 #, c-format msgid "invalid iofd %d" msgstr "无效的 iofd %d" -#: logsrvd/iolog_writer.c:613 +#: logsrvd/iolog_writer.c:634 #, c-format -msgid "error closing iofd %d: %s" -msgstr "关闭 iofd %d 时出错:%s" +msgid "error closing iofd %u: %s" +msgstr "关闭 iofd %u 时出错:%s" -#: logsrvd/iolog_writer.c:633 +#: logsrvd/iolog_writer.c:655 #, c-format -msgid "error flushing iofd %d: %s" -msgstr "冲刷 iofd %d 时出错:%s" +msgid "error flushing iofd %u: %s" +msgstr "冲刷 iofd %u 时出错:%s" -#: logsrvd/iolog_writer.c:751 +#: logsrvd/iolog_writer.c:773 #, c-format msgid "invalid I/O log %s: %s referenced but not present" msgstr "无效的 I/O 日志 %s:%s 被引用但不存在" -#: logsrvd/iolog_writer.c:763 logsrvd/logsrvd_journal.c:382 +#: logsrvd/iolog_writer.c:785 logsrvd/logsrvd_journal.c:391 #, c-format msgid "%s: unable to find resume point [%lld, %ld]" msgstr "%s:无法找到恢复点 [%lld, %ld]" -#: logsrvd/iolog_writer.c:785 logsrvd/logsrvd_journal.c:425 +#: logsrvd/iolog_writer.c:807 logsrvd/logsrvd_journal.c:434 #: 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 +#: plugins/sudoers/check.c:278 plugins/sudoers/cvtsudoers.c:758 +#: plugins/sudoers/cvtsudoers.c:780 plugins/sudoers/cvtsudoers.c:1457 +#: plugins/sudoers/cvtsudoers_csv.c:722 plugins/sudoers/cvtsudoers_json.c:1034 +#: plugins/sudoers/cvtsudoers_ldif.c:753 plugins/sudoers/sudoers.c:1309 +#: plugins/sudoers/sudoers.c:1335 plugins/sudoers/sudoreplay.c:1499 +#: plugins/sudoers/timestamp.c:477 plugins/sudoers/tsdump.c:141 +#: plugins/sudoers/visudo.c:990 #, c-format msgid "unable to open %s" msgstr "无法打开 %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 +#: logsrvd/iolog_writer.c:819 logsrvd/logsrv_util.c:111 +#: logsrvd/logsrv_util.c:118 plugins/sudoers/sudoreplay.c:355 +#: plugins/sudoers/sudoreplay.c:361 #, c-format msgid "unable to open %s/%s" msgstr "无法打开 %s/%s" -#: logsrvd/iolog_writer.c:810 +#: logsrvd/iolog_writer.c:832 #, c-format msgid "unable to copy %s/%s to %s/%s: %s" msgstr "无法复制 %s/%s 到 %s/%s:%s" -#: logsrvd/iolog_writer.c:839 logsrvd/logsrvd_journal.c:195 +#: logsrvd/iolog_writer.c:861 logsrvd/logsrvd_journal.c:198 #, c-format msgid "unable to rename %s to %s" msgstr "无法将 %s 重命名为 %s" -#: logsrvd/logsrv_util.c:147 logsrvd/logsrv_util.c:176 +#: logsrvd/logsrv_util.c:153 logsrvd/logsrv_util.c:182 #, c-format msgid "%s/%s: unable to find resume point [%lld, %ld]" msgstr "%s/%s:无法找到恢复点 [%lld, %ld]" -#: logsrvd/logsrv_util.c:159 +#: logsrvd/logsrv_util.c:165 #, c-format msgid "missing I/O log file %s/%s" msgstr "缺失 I/O 日志文件 %s/%s" -#: logsrvd/logsrv_util.c:166 +#: logsrvd/logsrv_util.c:172 #, c-format msgid "%s/%s: unable to seek forward %zu" msgstr "%s/%s:无法向前查找 %zu" -#: logsrvd/logsrvd.c:271 logsrvd/logsrvd_queue.c:135 +#: logsrvd/logsrvd.c:272 logsrvd/logsrvd_queue.c:135 msgid "unable to connect to relay" msgstr "无法连接到中继" -#: logsrvd/logsrvd.c:330 logsrvd/logsrvd_relay.c:842 +#: logsrvd/logsrvd.c:339 logsrvd/logsrvd_relay.c:847 #, c-format msgid "server message too large: %zu" msgstr "服务器消息过大:%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.c:431 logsrvd/logsrvd.c:554 logsrvd/logsrvd.c:640 +#: logsrvd/logsrvd.c:882 logsrvd/logsrvd.c:896 logsrvd/logsrvd.c:1057 +#: logsrvd/logsrvd.c:1182 logsrvd/logsrvd.c:1364 logsrvd/logsrvd.c:1382 +#: logsrvd/logsrvd.c:1481 logsrvd/logsrvd.c:1606 logsrvd/logsrvd.c:1793 +#: logsrvd/logsrvd_journal.c:503 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 +#: logsrvd/logsrvd_relay.c:391 logsrvd/logsrvd_relay.c:583 +#: logsrvd/logsrvd_relay.c:747 logsrvd/logsrvd_relay.c:1137 +#: logsrvd/sendlog.c:1333 logsrvd/tls_client.c:145 logsrvd/tls_client.c:161 +#: logsrvd/tls_client.c:225 plugins/sudoers/audit.c:281 +#: plugins/sudoers/iolog.c:1049 plugins/sudoers/iolog.c:1183 +#: plugins/sudoers/iolog.c:1282 plugins/sudoers/log_client.c:121 +#: plugins/sudoers/log_client.c:352 plugins/sudoers/log_client.c:368 +#: plugins/sudoers/log_client.c:416 plugins/sudoers/log_client.c:622 +#: plugins/sudoers/log_client.c:629 plugins/sudoers/log_client.c:1137 +#: plugins/sudoers/log_client.c:1418 plugins/sudoers/log_client.c:1459 +#: plugins/sudoers/log_client.c:1467 plugins/sudoers/log_client.c:1626 +#: plugins/sudoers/log_client.c:1751 plugins/sudoers/log_client.c:2085 +#: plugins/sudoers/log_client.c:2093 plugins/sudoers/logging.c:148 +#: plugins/sudoers/logging.c:206 plugins/sudoers/sudoreplay.c:519 +#: plugins/sudoers/sudoreplay.c:566 plugins/sudoers/sudoreplay.c:810 +#: plugins/sudoers/sudoreplay.c:922 plugins/sudoers/sudoreplay.c:1013 +#: plugins/sudoers/sudoreplay.c:1028 plugins/sudoers/sudoreplay.c:1035 +#: plugins/sudoers/sudoreplay.c:1042 plugins/sudoers/sudoreplay.c:1049 +#: plugins/sudoers/sudoreplay.c:1056 plugins/sudoers/sudoreplay.c:1184 msgid "unable to add event to queue" msgstr "无法将事件添加到队列" -#: 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 +#: logsrvd/logsrvd.c:455 logsrvd/logsrvd.c:492 logsrvd/logsrvd.c:524 +#: logsrvd/logsrvd.c:578 logsrvd/logsrvd.c:657 logsrvd/logsrvd.c:693 +#: logsrvd/logsrvd.c:729 logsrvd/logsrvd.c:765 logsrvd/logsrvd_relay.c:512 +#: logsrvd/logsrvd_relay.c:545 #, c-format msgid "unexpected state %d for %s" msgstr "未预期的状态 %d 对于 %s" -#: 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 +#: logsrvd/logsrvd.c:456 logsrvd/logsrvd.c:493 logsrvd/logsrvd.c:525 +#: logsrvd/logsrvd.c:579 logsrvd/logsrvd.c:658 logsrvd/logsrvd.c:694 +#: logsrvd/logsrvd.c:730 logsrvd/logsrvd.c:766 logsrvd/logsrvd_relay.c:514 +#: logsrvd/logsrvd_relay.c:547 msgid "state machine error" msgstr "状态机错误" -#: logsrvd/logsrvd.c:453 logsrvd/logsrvd.c:454 +#: logsrvd/logsrvd.c:462 logsrvd/logsrvd.c:463 msgid "invalid AcceptMessage" msgstr "无效的 AcceptMessage" -#: logsrvd/logsrvd.c:490 logsrvd/logsrvd.c:491 +#: logsrvd/logsrvd.c:499 logsrvd/logsrvd.c:500 msgid "invalid RejectMessage" msgstr "无效的 RejectMessage" -#: logsrvd/logsrvd.c:522 logsrvd/logsrvd.c:523 +#: logsrvd/logsrvd.c:531 logsrvd/logsrvd.c:532 msgid "invalid ExitMessage" msgstr "无效的 ExitMessage" -#: logsrvd/logsrvd.c:576 logsrvd/logsrvd.c:577 +#: logsrvd/logsrvd.c:585 logsrvd/logsrvd.c:586 msgid "invalid RestartMessage" msgstr "无效的 RestartMessage" -#: logsrvd/logsrvd.c:611 logsrvd/logsrvd.c:612 +#: logsrvd/logsrvd.c:620 logsrvd/logsrvd.c:621 msgid "invalid AlertMessage" msgstr "无效的 AlertMessage" -#: logsrvd/logsrvd.c:653 logsrvd/logsrvd.c:689 logsrvd/logsrvd.c:725 +#: logsrvd/logsrvd.c:662 logsrvd/logsrvd.c:698 logsrvd/logsrvd.c:734 #, c-format msgid "%s: unexpected IoBuffer" msgstr "%s:未预期的 IoBuffer" -#: logsrvd/logsrvd.c:654 logsrvd/logsrvd.c:690 logsrvd/logsrvd.c:726 +#: logsrvd/logsrvd.c:663 logsrvd/logsrvd.c:699 logsrvd/logsrvd.c:735 msgid "protocol error" msgstr "协议错误" -#: logsrvd/logsrvd.c:660 logsrvd/logsrvd.c:661 +#: logsrvd/logsrvd.c:669 logsrvd/logsrvd.c:670 msgid "invalid IoBuffer" msgstr "无效的 IoBuffer" -#: logsrvd/logsrvd.c:696 logsrvd/logsrvd.c:697 +#: logsrvd/logsrvd.c:705 logsrvd/logsrvd.c:706 msgid "invalid ChangeWindowSize" msgstr "无效的 ChangeWindowSize" -#: logsrvd/logsrvd.c:732 logsrvd/logsrvd.c:733 +#: logsrvd/logsrvd.c:741 logsrvd/logsrvd.c:742 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 +#: logsrvd/logsrvd.c:791 logsrvd/logsrvd_journal.c:302 +#: logsrvd/logsrvd_relay.c:654 logsrvd/sendlog.c:1232 +#: plugins/sudoers/log_client.c:1616 #, 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 +#: logsrvd/logsrvd.c:836 logsrvd/logsrvd_journal.c:376 +#: logsrvd/logsrvd_relay.c:678 #, c-format msgid "unexpected type_case value %d in %s from %s" msgstr "未预期的 type_case 值 %d 在 %s 来自 %s" -#: logsrvd/logsrvd.c:829 +#: logsrvd/logsrvd.c:838 msgid "unrecognized ClientMessage type" msgstr "无法识别的 ClientMessage 类型" -#: logsrvd/logsrvd.c:919 +#: logsrvd/logsrvd.c:928 #, c-format msgid "timed out writing to client %s" msgstr "写入客户端 %s 时超时" -#: logsrvd/logsrvd.c:924 logsrvd/logsrvd_relay.c:914 logsrvd/sendlog.c:1395 +#: logsrvd/logsrvd.c:933 logsrvd/logsrvd_relay.c:919 logsrvd/sendlog.c:1438 #, c-format msgid "missing write buffer for client %s" msgstr "客户端 %s 缺失写缓冲" -#: logsrvd/logsrvd.c:1020 +#: logsrvd/logsrvd.c:1028 #, c-format msgid "timed out reading from client %s" msgstr "从客户端 %s 读取超时" -#: logsrvd/logsrvd.c:1061 logsrvd/logsrvd_relay.c:777 +#: logsrvd/logsrvd.c:1069 logsrvd/logsrvd_relay.c:782 #, c-format msgid "EOF from %s without proper TLS shutdown" msgstr "没有正确关闭 TLS 连接的情况下接收到了来自 %s 的 EOF" -#: logsrvd/logsrvd.c:1105 logsrvd/logsrvd_relay.c:205 logsrvd/sendlog.c:322 -#: plugins/sudoers/log_client.c:721 +#: logsrvd/logsrvd.c:1113 logsrvd/logsrvd_relay.c:205 logsrvd/sendlog.c:336 +#: plugins/sudoers/log_client.c:732 #, c-format msgid "client message too large: %zu" msgstr "客户端消息过大:%zu" -#: logsrvd/logsrvd.c:1106 logsrvd/logsrvd_journal.c:256 -#: logsrvd/logsrvd_journal.c:257 +#: logsrvd/logsrvd.c:1114 logsrvd/logsrvd_journal.c:259 +#: logsrvd/logsrvd_journal.c:260 msgid "client message too large" msgstr "客户端消息过长" -#: logsrvd/logsrvd.c:1124 logsrvd/logsrvd.c:1125 +#: logsrvd/logsrvd.c:1132 logsrvd/logsrvd.c:1133 msgid "invalid ClientMessage" msgstr "无效的 ClientMessage" -#: logsrvd/logsrvd.c:1425 +#: logsrvd/logsrvd.c:1442 msgid "unable to get remote IP addr" msgstr "无法获取远程 IP 地址" -#: logsrvd/logsrvd.c:1456 logsrvd/tls_client.c:203 -#: plugins/sudoers/log_client.c:281 +#: logsrvd/logsrvd.c:1473 logsrvd/tls_client.c:212 +#: plugins/sudoers/log_client.c:290 #, c-format msgid "Unable to attach user data to the ssl object: %s" msgstr "无法将用户数据附加到 ssl 对象上:%s" -#: logsrvd/logsrvd.c:1639 logsrvd/logsrvd.c:1992 +#: logsrvd/logsrvd.c:1656 logsrvd/logsrvd.c:2050 msgid "unable to setup listen socket" msgstr "无法设置监听套接字" -#: logsrvd/logsrvd.c:1756 +#: logsrvd/logsrvd.c:1776 #, c-format msgid "unexpected signal %d" msgstr "未预期的信号 %d" -#: logsrvd/logsrvd.c:1894 +#: logsrvd/logsrvd.c:1949 msgid "sudo log server" msgstr "sudo 日志服务器" -#: logsrvd/logsrvd.c:1896 logsrvd/sendlog.c:121 +#: logsrvd/logsrvd.c:1951 logsrvd/sendlog.c:126 msgid "Options:" msgstr "选项:" -#: logsrvd/logsrvd.c:1898 +#: logsrvd/logsrvd.c:1953 msgid "path to configuration file" msgstr "配置文件路径" -#: logsrvd/logsrvd.c:1900 logsrvd/sendlog.c:123 +#: logsrvd/logsrvd.c:1955 logsrvd/sendlog.c:128 msgid "display help message and exit" msgstr "显示帮助信息并退出" -#: logsrvd/logsrvd.c:1902 +#: logsrvd/logsrvd.c:1957 msgid "do not fork, run in the foreground" msgstr "不要进行 fork,在前台运行" -#: logsrvd/logsrvd.c:1904 +#: logsrvd/logsrvd.c:1959 msgid "percent chance connections will drop" msgstr "连接被丢弃的百分比概率" -#: logsrvd/logsrvd.c:1906 logsrvd/sendlog.c:153 +#: logsrvd/logsrvd.c:1961 logsrvd/sendlog.c:158 msgid "display version information and exit" msgstr "显示版本信息并退出" -#: logsrvd/logsrvd.c:1956 logsrvd/sendlog.c:1702 +#: logsrvd/logsrvd.c:2011 logsrvd/sendlog.c:1747 msgid "Protobuf-C version 1.3 or higher required" msgstr "需要 Protobuf-C 1.3 版或更高版本" -#: logsrvd/logsrvd.c:1972 +#: logsrvd/logsrvd.c:2027 #, c-format msgid "invalid random drop value: %s" msgstr "无效的随机丢弃值:%s" -#: logsrvd/logsrvd.c:1975 logsrvd/sendlog.c:1756 -#: plugins/sudoers/cvtsudoers.c:246 plugins/sudoers/sudoreplay.c:301 -#: plugins/sudoers/visudo.c:182 +#: logsrvd/logsrvd.c:2030 logsrvd/sendlog.c:1801 +#: plugins/sudoers/cvtsudoers.c:250 plugins/sudoers/sudoreplay.c:294 +#: plugins/sudoers/visudo.c:181 #, c-format msgid "%s version %s\n" msgstr "%s 版本 %s\n" -#: logsrvd/logsrvd_conf.c:422 plugins/sudoers/check.c:353 +#: logsrvd/logsrvd_conf.c:422 plugins/sudoers/check.c:69 #: 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 +#: plugins/sudoers/sudoers.c:419 plugins/sudoers/sudoers.c:946 +#: plugins/sudoers/sudoers.c:1052 plugins/sudoers/sudoers.c:1442 +#: plugins/sudoers/testsudoers.c:169 plugins/sudoers/testsudoers.c:285 +#: plugins/sudoers/testsudoers.c:459 plugins/sudoers/tsdump.c:131 #, c-format msgid "unknown user %s" msgstr "未知用户 %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 +#: plugins/sudoers/sudoers.c:425 plugins/sudoers/sudoers.c:1476 +#: plugins/sudoers/testsudoers.c:483 #, c-format msgid "unknown group %s" msgstr "未知组 %s" @@ -968,7 +961,7 @@ msgstr "未知组 %s" msgid "unable to parse iolog mode %s" msgstr "无法解析 iolog 模式 %s" -#: logsrvd/logsrvd_conf.c:474 logsrvd/logsrvd_conf.c:1243 +#: logsrvd/logsrvd_conf.c:474 logsrvd/logsrvd_conf.c:1248 #, c-format msgid "invalid value for %s: %s" msgstr "用于 %s 的无效的值:%s" @@ -982,111 +975,111 @@ msgstr "不支持 TLS" msgid "%s:%s" msgstr "%s:%s" -#: logsrvd/logsrvd_conf.c:622 logsrvd/logsrvd_conf.c:1032 +#: logsrvd/logsrvd_conf.c:622 logsrvd/logsrvd_conf.c:1037 #, c-format msgid "%s: not a fully qualified path" msgstr "%s:不是完全合格的路径" -#: logsrvd/logsrvd_conf.c:951 logsrvd/logsrvd_conf.c:967 -#: logsrvd/logsrvd_conf.c:1676 +#: logsrvd/logsrvd_conf.c:956 logsrvd/logsrvd_conf.c:972 +#: logsrvd/logsrvd_conf.c:1681 #, c-format msgid "unknown syslog facility %s" msgstr "未知的 syslog 设施 %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 +#: logsrvd/logsrvd_conf.c:988 logsrvd/logsrvd_conf.c:1004 +#: logsrvd/logsrvd_conf.c:1020 logsrvd/logsrvd_conf.c:1685 +#: logsrvd/logsrvd_conf.c:1689 logsrvd/logsrvd_conf.c:1693 #, c-format msgid "unknown syslog priority %s" msgstr "位置的 syslog 优先级 %s" -#: logsrvd/logsrvd_conf.c:1197 +#: logsrvd/logsrvd_conf.c:1202 #, c-format msgid "%s:%d unmatched '[': %s" msgstr "%s:%d 不匹配的 '[':%s" -#: logsrvd/logsrvd_conf.c:1203 +#: logsrvd/logsrvd_conf.c:1208 #, c-format msgid "%s:%d garbage after ']': %s" msgstr "%s:%d 多余内容出现在 '[' 之后:%s" -#: logsrvd/logsrvd_conf.c:1215 +#: logsrvd/logsrvd_conf.c:1220 #, c-format msgid "%s:%d invalid config section: %s" msgstr "%s:%d 无效的配置段:%s" -#: logsrvd/logsrvd_conf.c:1223 +#: logsrvd/logsrvd_conf.c:1228 #, c-format msgid "%s:%d invalid configuration line: %s" msgstr "%s:%d 无效的配置行:%s" -#: logsrvd/logsrvd_conf.c:1229 +#: logsrvd/logsrvd_conf.c:1234 #, c-format msgid "%s:%d expected section name: %s" msgstr "%s:%d 期望的节名称:%s" -#: logsrvd/logsrvd_conf.c:1251 +#: logsrvd/logsrvd_conf.c:1256 #, c-format msgid "%s:%d [%s] illegal key: %s" msgstr "%s:%d [%s] 无效键:%s" -#: logsrvd/logsrvd_conf.c:1281 plugins/sudoers/cvtsudoers.c:268 -#: plugins/sudoers/logging.c:1029 +#: logsrvd/logsrvd_conf.c:1286 plugins/sudoers/cvtsudoers.c:273 +#: plugins/sudoers/logging.c:1087 #, c-format msgid "unable to open log file %s" msgstr "无法打开日志文件 %s" -#: logsrvd/logsrvd_conf.c:1763 +#: logsrvd/logsrvd_conf.c:1768 msgid "unable to initialize server TLS context" msgstr "无法初始化服务器 TLS 上下文" -#: logsrvd/logsrvd_conf.c:1783 +#: logsrvd/logsrvd_conf.c:1788 msgid "unable to initialize relay TLS context" msgstr "无法初始化中继 TLS 上下文" -#: logsrvd/logsrvd_journal.c:146 logsrvd/logsrvd_journal.c:421 -#: logsrvd/logsrvd_journal.c:426 +#: logsrvd/logsrvd_journal.c:149 logsrvd/logsrvd_journal.c:430 +#: logsrvd/logsrvd_journal.c:435 msgid "unable to create journal file" msgstr "无法创建日志文件" -#: logsrvd/logsrvd_journal.c:150 logsrvd/logsrvd_queue.c:109 -#: plugins/sudoers/visudo.c:1026 +#: logsrvd/logsrvd_journal.c:153 logsrvd/logsrvd_queue.c:109 +#: plugins/sudoers/visudo.c:1046 #, c-format msgid "unable to lock %s" msgstr "无法锁定 %s" -#: logsrvd/logsrvd_journal.c:153 +#: logsrvd/logsrvd_journal.c:156 msgid "unable to lock journal file" msgstr "无法锁定日志文件" -#: logsrvd/logsrvd_journal.c:161 +#: logsrvd/logsrvd_journal.c:164 msgid "unable to open journal file" msgstr "无法打开日志文件" -#: logsrvd/logsrvd_journal.c:182 logsrvd/logsrvd_journal.c:457 -#: logsrvd/logsrvd_journal.c:462 +#: logsrvd/logsrvd_journal.c:185 logsrvd/logsrvd_journal.c:466 +#: logsrvd/logsrvd_journal.c:471 msgid "unable to write journal file" msgstr "无法写入日志文件" -#: logsrvd/logsrvd_journal.c:190 logsrvd/logsrvd_journal.c:197 +#: logsrvd/logsrvd_journal.c:193 logsrvd/logsrvd_journal.c:200 msgid "unable to rename journal file" msgstr "无法重命名日志文件" -#: logsrvd/logsrvd_journal.c:244 logsrvd/logsrvd_journal.c:245 -#: logsrvd/logsrvd_journal.c:279 logsrvd/logsrvd_journal.c:280 +#: logsrvd/logsrvd_journal.c:247 logsrvd/logsrvd_journal.c:248 +#: logsrvd/logsrvd_journal.c:288 logsrvd/logsrvd_journal.c:289 msgid "unexpected EOF reading journal file" msgstr "读取日志文件时未预期的 EOF" -#: logsrvd/logsrvd_journal.c:248 logsrvd/logsrvd_journal.c:249 -#: logsrvd/logsrvd_journal.c:283 logsrvd/logsrvd_journal.c:284 +#: logsrvd/logsrvd_journal.c:251 logsrvd/logsrvd_journal.c:252 +#: logsrvd/logsrvd_journal.c:292 logsrvd/logsrvd_journal.c:293 msgid "error reading journal file" msgstr "读取日志文件出错" -#: logsrvd/logsrvd_journal.c:295 logsrvd/logsrvd_journal.c:381 +#: logsrvd/logsrvd_journal.c:304 logsrvd/logsrvd_journal.c:390 msgid "invalid journal file, unable to restart" msgstr "无效的日志文件,无法重新启动" -#: logsrvd/logsrvd_journal.c:440 +#: logsrvd/logsrvd_journal.c:449 #, c-format msgid "unable to seek to [%lld, %ld] in journal file %s" msgstr "无法 seek 跳转到 [%lld, %ld](在日志文件 %s 中)" @@ -1116,284 +1109,284 @@ msgstr "解析 RejectMessage 出错" msgid "error logging reject event" msgstr "记录拒绝事件时出错" -#: logsrvd/logsrvd_local.c:427 logsrvd/logsrvd_local.c:435 +#: logsrvd/logsrvd_local.c:427 logsrvd/logsrvd_local.c:437 msgid "error logging exit event" msgstr "记录退出事件时出错" -#: logsrvd/logsrvd_local.c:492 logsrvd/logsrvd_local.c:493 +#: logsrvd/logsrvd_local.c:494 logsrvd/logsrvd_local.c:495 msgid "log is already complete, cannot be restarted" msgstr "日志已完成,无法重新启动" -#: logsrvd/logsrvd_local.c:523 +#: logsrvd/logsrvd_local.c:525 msgid "unable to restart log" msgstr "无法重新启动 log" -#: logsrvd/logsrvd_local.c:539 +#: logsrvd/logsrvd_local.c:541 msgid "error parsing AlertMessage" msgstr "解析 AlertMessage 出错" -#: logsrvd/logsrvd_local.c:549 +#: logsrvd/logsrvd_local.c:551 msgid "error logging alert event" msgstr "记录警告事件时出错" -#: logsrvd/logsrvd_local.c:585 logsrvd/logsrvd_local.c:648 -#: logsrvd/logsrvd_local.c:683 +#: logsrvd/logsrvd_local.c:587 logsrvd/logsrvd_local.c:650 +#: logsrvd/logsrvd_local.c:685 #, c-format msgid "unable to format timing buffer, length %d" msgstr "无法格式化时间缓冲区,长度 %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 +#: logsrvd/logsrvd_local.c:601 logsrvd/logsrvd_local.c:609 +#: logsrvd/logsrvd_local.c:657 logsrvd/logsrvd_local.c:692 +#: plugins/sudoers/sudoreplay.c:344 toke.l:961 toke.l:964 #, c-format msgid "%s/%s: %s" msgstr "%s/%s:%s" -#: logsrvd/logsrvd_local.c:618 +#: logsrvd/logsrvd_local.c:620 msgid "randomly dropping connection" msgstr "随机丢弃连接" -#: logsrvd/logsrvd_local.c:630 +#: logsrvd/logsrvd_local.c:632 msgid "error writing IoBuffer" msgstr "写入 IoBuffer 出错" -#: logsrvd/logsrvd_local.c:665 +#: logsrvd/logsrvd_local.c:667 msgid "error writing ChangeWindowSize" msgstr "写入 ChangeWindowSize 出错" -#: logsrvd/logsrvd_local.c:700 +#: logsrvd/logsrvd_local.c:702 msgid "error writing CommandSuspend" msgstr "写入 CommandSuspend 出错" -#: logsrvd/logsrvd_relay.c:435 +#: logsrvd/logsrvd_relay.c:437 msgid "TLS handshake with relay host failed" msgstr "与中继主机的 TLS 握手失败" -#: logsrvd/logsrvd_relay.c:463 +#: logsrvd/logsrvd_relay.c:465 msgid "unable to connect to relay host" msgstr "无法连接到中继主机" -#: logsrvd/logsrvd_relay.c:518 +#: logsrvd/logsrvd_relay.c:520 #, c-format msgid "%s: invalid ServerHello, missing server_id" msgstr "%s:无效的 ServerHello,缺少 server_id" -#: logsrvd/logsrvd_relay.c:520 logsrvd/sendlog.c:1096 -#: plugins/sudoers/log_client.c:1469 +#: logsrvd/logsrvd_relay.c:522 logsrvd/sendlog.c:1136 +#: plugins/sudoers/log_client.c:1502 msgid "invalid ServerHello" msgstr "无效的 ServerHello" -#: logsrvd/logsrvd_relay.c:679 +#: logsrvd/logsrvd_relay.c:681 msgid "unrecognized ServerMessage type" msgstr "无法识别的 ServerMessage 类型" -#: logsrvd/logsrvd_relay.c:708 +#: logsrvd/logsrvd_relay.c:710 #, c-format msgid "timed out reading from relay %s (%s)" msgstr "从中继 %s 读取超时(%s)" -#: logsrvd/logsrvd_relay.c:710 +#: logsrvd/logsrvd_relay.c:712 msgid "timeout reading from relay" msgstr "从中继读取超时" -#: logsrvd/logsrvd_relay.c:762 +#: logsrvd/logsrvd_relay.c:767 msgid "relay host name does not match certificate" msgstr "中继主机名称与证书不匹配" -#: logsrvd/logsrvd_relay.c:768 logsrvd/logsrvd_relay.c:782 -#: logsrvd/logsrvd_relay.c:789 +#: logsrvd/logsrvd_relay.c:773 logsrvd/logsrvd_relay.c:787 +#: logsrvd/logsrvd_relay.c:794 msgid "error reading from relay" msgstr "从中继读取出错" -#: logsrvd/logsrvd_relay.c:810 +#: logsrvd/logsrvd_relay.c:815 msgid "unable to read from relay" msgstr "无法从中继读取" -#: logsrvd/logsrvd_relay.c:825 logsrvd/logsrvd_relay.c:943 +#: logsrvd/logsrvd_relay.c:830 logsrvd/logsrvd_relay.c:949 msgid "relay server closed connection" msgstr "中继服务器关闭了连接" -#: logsrvd/logsrvd_relay.c:843 +#: logsrvd/logsrvd_relay.c:848 msgid "server message too large" msgstr "服务器消息过大" -#: logsrvd/logsrvd_relay.c:907 +#: logsrvd/logsrvd_relay.c:912 #, c-format msgid "timed out writing to relay %s (%s)" msgstr "写入中继 %s 时超时(%s)" -#: logsrvd/logsrvd_relay.c:909 +#: logsrvd/logsrvd_relay.c:914 msgid "timeout writing to relay" msgstr "写入中继时超时" -#: logsrvd/logsrvd_relay.c:962 logsrvd/logsrvd_relay.c:969 -#: logsrvd/logsrvd_relay.c:981 +#: logsrvd/logsrvd_relay.c:968 logsrvd/logsrvd_relay.c:975 +#: logsrvd/logsrvd_relay.c:987 msgid "error writing to relay" msgstr "写入中继时出错" -#: logsrvd/sendlog.c:119 +#: logsrvd/sendlog.c:124 msgid "send sudo I/O log to remote server" msgstr "将 sudo I/O 日志发送到远程服务器" -#: logsrvd/sendlog.c:125 +#: logsrvd/sendlog.c:130 msgid "only send an accept event (no I/O)" msgstr "只发送一个 accept 事件(没有 I/O)" -#: logsrvd/sendlog.c:128 +#: logsrvd/sendlog.c:133 msgid "certificate bundle file to verify server's cert against" -msgstr "" +msgstr "用于验证服务器证书的证书捆绑包文件" -#: logsrvd/sendlog.c:130 +#: logsrvd/sendlog.c:135 msgid "certificate file for TLS handshake" msgstr "用于 TLS 握手的证书文件" -#: logsrvd/sendlog.c:133 +#: logsrvd/sendlog.c:138 msgid "host to send logs to" msgstr "主机发送日志到" -#: logsrvd/sendlog.c:135 +#: logsrvd/sendlog.c:140 msgid "remote ID of I/O log to be resumed" msgstr "" -#: logsrvd/sendlog.c:138 +#: logsrvd/sendlog.c:143 msgid "private key file" msgstr "私钥文件" -#: logsrvd/sendlog.c:140 +#: logsrvd/sendlog.c:145 msgid "do not verify server certificate" msgstr "不要验证服务器证书" -#: logsrvd/sendlog.c:143 +#: logsrvd/sendlog.c:148 msgid "port to use when connecting to host" msgstr "连接到主机时使用的端口" -#: logsrvd/sendlog.c:145 +#: logsrvd/sendlog.c:150 msgid "restart previous I/O log transfer" msgstr "重新开始先前的 I/O 日志传输" -#: logsrvd/sendlog.c:147 +#: logsrvd/sendlog.c:152 msgid "reject the command with the given reason" msgstr "" -#: logsrvd/sendlog.c:149 +#: logsrvd/sendlog.c:154 msgid "stop transfer after reaching this time" msgstr "" -#: logsrvd/sendlog.c:151 +#: logsrvd/sendlog.c:156 msgid "test audit server by sending selected I/O log n times in parallel" msgstr "" -#: logsrvd/sendlog.c:176 plugins/sudoers/log_client.c:453 +#: logsrvd/sendlog.c:181 plugins/sudoers/log_client.c:462 #, c-format msgid "unable to look up %s:%s: %s" msgstr "无法查找 %s:%s:%s" -#: logsrvd/sendlog.c:214 +#: logsrvd/sendlog.c:219 msgid "unable to get server IP addr" msgstr "无法获取服务器 IP 地址" -#: logsrvd/sendlog.c:300 plugins/sudoers/sudoreplay.c:871 +#: logsrvd/sendlog.c:314 plugins/sudoers/sudoreplay.c:870 #, c-format msgid "unable to read %s/%s: %s" msgstr "无法读取 %s/%s:%s" -#: logsrvd/sendlog.c:1020 plugins/sudoers/iolog.c:951 -#: plugins/sudoers/iolog.c:1026 +#: logsrvd/sendlog.c:1060 plugins/sudoers/iolog.c:967 +#: plugins/sudoers/iolog.c:1042 #, c-format msgid "unexpected I/O event %d" msgstr "未预期的 I/O 事件 %d" -#: 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 +#: logsrvd/sendlog.c:1113 logsrvd/sendlog.c:1130 logsrvd/sendlog.c:1164 +#: plugins/sudoers/log_client.c:1152 plugins/sudoers/log_client.c:1428 +#: plugins/sudoers/log_client.c:1496 plugins/sudoers/log_client.c:1535 #, c-format msgid "%s: unexpected state %d" msgstr "%s:未预期的状态 %d" -#: logsrvd/sendlog.c:1160 plugins/sudoers/log_client.c:1551 +#: logsrvd/sendlog.c:1200 plugins/sudoers/log_client.c:1584 #, c-format msgid "error message received from server: %s" msgstr "从服务器收到了错误消息:%s" -#: logsrvd/sendlog.c:1173 plugins/sudoers/log_client.c:1564 +#: logsrvd/sendlog.c:1213 plugins/sudoers/log_client.c:1597 #, c-format msgid "abort message received from server: %s" msgstr "从服务器收到了中止消息:%s" -#: logsrvd/sendlog.c:1232 plugins/sudoers/log_client.c:1614 +#: logsrvd/sendlog.c:1272 plugins/sudoers/log_client.c:1647 #, c-format msgid "%s: unexpected type_case value %d" msgstr "%s:未预期的 type_case 值 %d" -#: logsrvd/sendlog.c:1261 +#: logsrvd/sendlog.c:1301 msgid "timeout reading from server" msgstr "从服务器读取超时" -#: logsrvd/sendlog.c:1310 plugins/sudoers/log_client.c:1730 +#: logsrvd/sendlog.c:1352 plugins/sudoers/log_client.c:1770 msgid "host name does not match certificate" msgstr "主机名称与证书不匹配" -#: logsrvd/sendlog.c:1343 +#: logsrvd/sendlog.c:1386 msgid "premature EOF" msgstr "过早的文件结束" -#: logsrvd/sendlog.c:1356 plugins/sudoers/log_client.c:1777 +#: logsrvd/sendlog.c:1399 plugins/sudoers/log_client.c:1818 #, c-format msgid "server message too large: %u" msgstr "服务器消息过大:%u" -#: logsrvd/sendlog.c:1412 +#: logsrvd/sendlog.c:1455 msgid "timeout writing to server" msgstr "写入服务器时超时" -#: logsrvd/sendlog.c:1779 +#: logsrvd/sendlog.c:1825 msgid "both restart point and iolog ID must be specified" msgstr "" -#: logsrvd/sendlog.c:1783 +#: logsrvd/sendlog.c:1829 msgid "a restart point may not be set when no I/O is sent" msgstr "" -#: logsrvd/sendlog.c:1859 +#: logsrvd/sendlog.c:1905 #, c-format msgid "exited prematurely with state %d" msgstr "过早地退出,状态码为 %d" -#: logsrvd/sendlog.c:1860 +#: logsrvd/sendlog.c:1906 #, c-format msgid "elapsed time sent to server [%lld, %ld]" msgstr "" -#: logsrvd/sendlog.c:1862 +#: logsrvd/sendlog.c:1908 #, c-format msgid "commit point received from server [%lld, %ld]" msgstr "" -#: logsrvd/tls_client.c:111 plugins/sudoers/log_client.c:315 +#: logsrvd/tls_client.c:120 plugins/sudoers/log_client.c:324 msgid "TLS handshake timeout occurred" msgstr "TLS 握手超时" -#: logsrvd/tls_client.c:131 logsrvd/tls_client.c:147 -#: plugins/sudoers/log_client.c:337 plugins/sudoers/log_client.c:353 +#: logsrvd/tls_client.c:140 logsrvd/tls_client.c:156 +#: plugins/sudoers/log_client.c:346 plugins/sudoers/log_client.c:362 msgid "unable to set event" msgstr "无法设置事件" -#: logsrvd/tls_client.c:157 logsrvd/tls_client.c:161 +#: logsrvd/tls_client.c:166 logsrvd/tls_client.c:170 #, c-format msgid "TLS connection failed: %s" msgstr "TLS 连接失败:%s" -#: logsrvd/tls_client.c:196 +#: logsrvd/tls_client.c:205 #, c-format msgid "unable to allocate ssl object: %s" msgstr "无法分配 ssl 对象:%s" -#: logsrvd/tls_client.c:210 +#: logsrvd/tls_client.c:219 #, c-format msgid "Unable to attach socket to the ssl object: %s" msgstr "无法将套接字附加给 ssl 对象:%s" -#: logsrvd/tls_client.c:238 +#: logsrvd/tls_client.c:247 msgid "unable to initialize TLS context" msgstr "无法初始化 TLS 上下文" @@ -1422,59 +1415,58 @@ msgstr "无法创建 TLS 上下文:%s" msgid "unable to set minimum protocol version to TLS 1.2: %s" msgstr "无法将最低协议版本设置为 TLS 1.2:%s" -#: 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 +#: plugins/sudoers/audit.c:272 plugins/sudoers/log_client.c:985 +#: plugins/sudoers/log_client.c:1034 plugins/sudoers/log_client.c:1083 +#: plugins/sudoers/log_client.c:1208 plugins/sudoers/logging.c:627 +#: plugins/sudoers/logging.c:867 plugins/sudoers/logging.c:1017 +#: plugins/sudoers/logging.c:1041 plugins/sudoers/policy.c:1055 msgid "unable to get time of day" msgstr "无法获取时间" -#: plugins/sudoers/auth/aix_auth.c:280 +#: plugins/sudoers/auth/aix_auth.c:282 #, c-format msgid "unable to change password for %s" msgstr "无法为 %s 更改密码" -#: plugins/sudoers/auth/bsdauth.c:74 +#: plugins/sudoers/auth/bsdauth.c:78 #, c-format msgid "unable to get login class for user %s" msgstr "无法获取用户 %s 的登录类别(login class)" -#: plugins/sudoers/auth/bsdauth.c:79 -msgid "unable to begin bsd authentication" -msgstr "无法开始 bsd 认证" - -#: plugins/sudoers/auth/bsdauth.c:87 +#: plugins/sudoers/auth/bsdauth.c:85 msgid "invalid authentication type" msgstr "无效的认证类型" -#: plugins/sudoers/auth/bsdauth.c:96 -msgid "unable to initialize BSD authentication" -msgstr "无法初始化 bsd 认证" +#: plugins/sudoers/auth/bsdauth.c:90 +msgid "unable to begin BSD authentication" +msgstr "无法开始 BSD 认证" -#: plugins/sudoers/auth/bsdauth.c:186 +#: plugins/sudoers/auth/bsdauth.c:97 +msgid "unable to initialize BSD authentication" +msgstr "无法初始化 BSD 认证" + +#: plugins/sudoers/auth/bsdauth.c:191 msgid "your account has expired" msgstr "您的账户已过期" -#: plugins/sudoers/auth/bsdauth.c:188 +#: plugins/sudoers/auth/bsdauth.c:193 msgid "approval failed" msgstr "批准失败" -#: plugins/sudoers/auth/fwtk.c:61 +#: plugins/sudoers/auth/fwtk.c:62 msgid "unable to read fwtk config" msgstr "无法读取 fwtk 配置" -#: plugins/sudoers/auth/fwtk.c:66 +#: plugins/sudoers/auth/fwtk.c:67 msgid "unable to connect to authentication server" msgstr "无法连接到认证服务器" -#: plugins/sudoers/auth/fwtk.c:72 plugins/sudoers/auth/fwtk.c:97 -#: plugins/sudoers/auth/fwtk.c:129 +#: plugins/sudoers/auth/fwtk.c:73 plugins/sudoers/auth/fwtk.c:99 +#: plugins/sudoers/auth/fwtk.c:131 msgid "lost connection to authentication server" msgstr "丢失了到认证服务器的连接" -#: plugins/sudoers/auth/fwtk.c:76 +#: plugins/sudoers/auth/fwtk.c:77 #, c-format msgid "" "authentication server error:\n" @@ -1483,173 +1475,179 @@ msgstr "" "认证服务器错误:\n" "%s" -#: plugins/sudoers/auth/kerb5.c:115 +#: plugins/sudoers/auth/kerb5.c:117 #, c-format msgid "%s: unable to convert principal to string ('%s'): %s" msgstr "%s:无法将主体(principal)转换为字符串(“%s”):%s" -#: plugins/sudoers/auth/kerb5.c:164 +#: plugins/sudoers/auth/kerb5.c:167 #, c-format msgid "%s: unable to parse '%s': %s" msgstr "%s:无法解析“%s”:%s" -#: plugins/sudoers/auth/kerb5.c:173 +#: plugins/sudoers/auth/kerb5.c:176 #, c-format msgid "%s: unable to resolve credential cache: %s" msgstr "%s:无法解析凭据缓存:%s" -#: plugins/sudoers/auth/kerb5.c:222 +#: plugins/sudoers/auth/kerb5.c:227 #, c-format msgid "%s: unable to allocate options: %s" msgstr "%s:无法分配选项:%s" -#: plugins/sudoers/auth/kerb5.c:237 +#: plugins/sudoers/auth/kerb5.c:242 #, c-format msgid "%s: unable to get credentials: %s" msgstr "%s:无法获取凭据:%s" -#: plugins/sudoers/auth/kerb5.c:250 +#: plugins/sudoers/auth/kerb5.c:255 #, c-format msgid "%s: unable to initialize credential cache: %s" msgstr "%s:无法初始化凭据缓存:%s" -#: plugins/sudoers/auth/kerb5.c:253 +#: plugins/sudoers/auth/kerb5.c:258 #, c-format msgid "%s: unable to store credential in cache: %s" msgstr "%s:无法在缓存中储存凭据:%s" -#: plugins/sudoers/auth/kerb5.c:317 +#: plugins/sudoers/auth/kerb5.c:324 #, c-format msgid "%s: unable to get host principal: %s" msgstr "%s:无法获取主机主体(principal):%s" -#: plugins/sudoers/auth/kerb5.c:331 +#: plugins/sudoers/auth/kerb5.c:338 #, c-format msgid "%s: Cannot verify TGT! Possible attack!: %s" msgstr "%s:无法验证目标!可能遭到了攻击!:%s" -#: plugins/sudoers/auth/pam.c:224 +#: plugins/sudoers/auth/pam.c:233 #, c-format msgid "unable to initialize PAM: %s" msgstr "无法初始化 PAM:%s" -#: plugins/sudoers/auth/pam.c:337 +#: plugins/sudoers/auth/pam.c:349 #, c-format msgid "PAM authentication error: %s" msgstr "PAM 认证出错:%s" -#: plugins/sudoers/auth/pam.c:356 +#: plugins/sudoers/auth/pam.c:369 msgid "account validation failure, is your account locked?" msgstr "账户验证失败,您的账户是不是上锁了?" -#: plugins/sudoers/auth/pam.c:367 +#: plugins/sudoers/auth/pam.c:380 msgid "Account or password is expired, reset your password and try again" msgstr "账户或密码过期,重置您的密码并重试" -#: plugins/sudoers/auth/pam.c:373 +#: plugins/sudoers/auth/pam.c:387 #, c-format msgid "unable to change expired password: %s" msgstr "无法更改过期的密码:%s" -#: plugins/sudoers/auth/pam.c:384 +#: plugins/sudoers/auth/pam.c:398 msgid "Password expired, contact your system administrator" msgstr "密码过期,联系您的系统管理员" -#: plugins/sudoers/auth/pam.c:389 +#: plugins/sudoers/auth/pam.c:403 msgid "Account expired or PAM config lacks an \"account\" section for sudo, contact your system administrator" msgstr "账户过期,或 PAM 配置缺少 sudo 使用的“account”节,联系您的系统管理员" -#: plugins/sudoers/auth/pam.c:397 plugins/sudoers/auth/pam.c:402 +#: plugins/sudoers/auth/pam.c:411 plugins/sudoers/auth/pam.c:416 #, c-format msgid "PAM account management error: %s" msgstr "PAM 账户管理出错:%s" -#: plugins/sudoers/auth/rfc1938.c:99 plugins/sudoers/visudo.c:271 +#: plugins/sudoers/auth/rfc1938.c:100 plugins/sudoers/visudo.c:266 #, c-format msgid "you do not exist in the %s database" msgstr "%s 数据库中没有您" -#: plugins/sudoers/auth/securid5.c:75 +#: plugins/sudoers/auth/securid5.c:76 msgid "failed to initialise the ACE API library" msgstr "初始化 ACE API 库失败" -#: plugins/sudoers/auth/securid5.c:106 +#: plugins/sudoers/auth/securid5.c:108 msgid "unable to contact the SecurID server" msgstr "无法联络 SecurID 服务器" -#: plugins/sudoers/auth/securid5.c:115 +#: plugins/sudoers/auth/securid5.c:117 msgid "User ID locked for SecurID Authentication" msgstr "为进行 SecurID 认证,已锁定用户 ID" -#: plugins/sudoers/auth/securid5.c:119 plugins/sudoers/auth/securid5.c:170 +#: plugins/sudoers/auth/securid5.c:121 plugins/sudoers/auth/securid5.c:174 msgid "invalid username length for SecurID" msgstr "SecurID 的用户名长度无效" -#: plugins/sudoers/auth/securid5.c:123 plugins/sudoers/auth/securid5.c:175 +#: plugins/sudoers/auth/securid5.c:125 plugins/sudoers/auth/securid5.c:179 msgid "invalid Authentication Handle for SecurID" msgstr "SecurID 的认证句柄无效" -#: plugins/sudoers/auth/securid5.c:127 +#: plugins/sudoers/auth/securid5.c:129 msgid "SecurID communication failed" msgstr "SecurID 通讯失败" -#: plugins/sudoers/auth/securid5.c:131 plugins/sudoers/auth/securid5.c:218 +#: plugins/sudoers/auth/securid5.c:133 plugins/sudoers/auth/securid5.c:222 msgid "unknown SecurID error" msgstr "未知的 SecurID 错误" -#: plugins/sudoers/auth/securid5.c:165 +#: plugins/sudoers/auth/securid5.c:169 msgid "invalid passcode length for SecurID" msgstr "无效的 SecurID 密码长度" -#: plugins/sudoers/auth/sia.c:69 plugins/sudoers/auth/sia.c:126 +#: plugins/sudoers/auth/sia.c:72 plugins/sudoers/auth/sia.c:131 msgid "unable to initialize SIA session" msgstr "无法初始化 SIA 会话" -#: plugins/sudoers/auth/sudo_auth.c:135 +#: plugins/sudoers/auth/sudo_auth.c:141 msgid "invalid authentication methods" msgstr "无效的认证方法" -#: plugins/sudoers/auth/sudo_auth.c:137 +#: plugins/sudoers/auth/sudo_auth.c:143 msgid "Invalid authentication methods compiled into sudo! You may not mix standalone and non-standalone authentication." msgstr "编译进 sudo 的认证方法无效!您不能混用独立和非独立认证。" -#: plugins/sudoers/auth/sudo_auth.c:258 plugins/sudoers/auth/sudo_auth.c:310 +#: plugins/sudoers/auth/sudo_auth.c:296 plugins/sudoers/auth/sudo_auth.c:359 msgid "no authentication methods" msgstr "无认证方法" -#: plugins/sudoers/auth/sudo_auth.c:260 +#: plugins/sudoers/auth/sudo_auth.c:298 msgid "There are no authentication methods compiled into sudo! If you want to turn off authentication, use the --disable-authentication configure option." msgstr "sudo 编译时没有加入任何认证方法!如果您想关闭认证,使用 --disable-authentication 配置选项。" -#: plugins/sudoers/auth/sudo_auth.c:312 +#: plugins/sudoers/auth/sudo_auth.c:361 msgid "Unable to initialize authentication methods." msgstr "无法初始化认证方法。" -#: plugins/sudoers/auth/sudo_auth.c:486 +#: plugins/sudoers/auth/sudo_auth.c:551 msgid "Authentication methods:" msgstr "认证方法:" -#: plugins/sudoers/bsm_audit.c:123 plugins/sudoers/bsm_audit.c:214 +#: plugins/sudoers/bsm_audit.c:122 plugins/sudoers/bsm_audit.c:214 msgid "Could not determine audit condition" msgstr "无法确定审核条件" -#: plugins/sudoers/bsm_audit.c:188 plugins/sudoers/bsm_audit.c:277 +#: plugins/sudoers/bsm_audit.c:188 plugins/sudoers/bsm_audit.c:278 msgid "unable to commit audit record" msgstr "无法提交审核记录" -#: plugins/sudoers/check.c:285 +#: plugins/sudoers/check.c:63 plugins/sudoers/check.c:74 +#: plugins/sudoers/lookup.c:79 +#, c-format +msgid "unknown uid %u" +msgstr "未知的用户 ID %u" + +#: plugins/sudoers/check.c:270 #, fuzzy, c-format #| msgid "error reading timing file: %s" msgid "error reading lecture file %s" msgstr "读取时序文件出错:%s" -#: plugins/sudoers/check.c:288 +#: plugins/sudoers/check.c:273 #, fuzzy, c-format #| msgid "%s is not a regular file" msgid "ignoring lecture file %s: not a regular file" msgstr "%s 不是常规文件" -#: plugins/sudoers/check.c:301 +#: plugins/sudoers/check.c:286 msgid "" "\n" "We trust you have received the usual lecture from the local System\n" @@ -1669,108 +1667,102 @@ msgstr "" " #3) 权力越大,责任越大。\n" "\n" -#: 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 "未知的用户 ID %u" +#: plugins/sudoers/check.c:294 +msgid "" +"For security reasons, the password you type will not be visible.\n" +"\n" +msgstr "" +"为安全起见,您键入的密码将不可见。\n" +"\n" -#: plugins/sudoers/check_aliases.c:99 plugins/sudoers/defaults.c:1279 -#, c-format -msgid "%s: %s\n" -msgstr "%s:%s\n" - -#: plugins/sudoers/check_aliases.c:133 +#: plugins/sudoers/check_aliases.c:93 #, c-format msgid "cycle in %s \"%s\"" msgstr "在 %s“%s”中循环" -#: plugins/sudoers/check_aliases.c:136 -#, fuzzy, c-format -#| msgid "Error: %s:%d:%d: %s \"%s\" referenced but not defined" +#: plugins/sudoers/check_aliases.c:96 +#, c-format msgid "%s \"%s\" referenced but not defined" -msgstr "错误:%s:%d:%d:引用了 %s“%s”但尚未定义" +msgstr "引用了 %s“%s”但尚未定义" -#: plugins/sudoers/cvtsudoers.c:209 +#: plugins/sudoers/cvtsudoers.c:211 #, c-format msgid "order increment: %s: %s" msgstr "顺序增量:%s: %s" -#: plugins/sudoers/cvtsudoers.c:228 +#: plugins/sudoers/cvtsudoers.c:231 #, c-format msgid "starting order: %s: %s" msgstr "起始顺序:%s:%s" -#: plugins/sudoers/cvtsudoers.c:238 +#: plugins/sudoers/cvtsudoers.c:242 #, c-format msgid "order padding: %s: %s" msgstr "顺序填充:%s: %s" -#: plugins/sudoers/cvtsudoers.c:248 plugins/sudoers/visudo.c:184 +#: plugins/sudoers/cvtsudoers.c:252 plugins/sudoers/visudo.c:183 #, c-format msgid "%s grammar version %d\n" msgstr "%s 语法版本 %d\n" -#: plugins/sudoers/cvtsudoers.c:277 plugins/sudoers/testsudoers.c:159 +#: plugins/sudoers/cvtsudoers.c:282 plugins/sudoers/testsudoers.c:162 #, c-format msgid "unsupported input format %s" msgstr "不支持的输入格式 %s" -#: plugins/sudoers/cvtsudoers.c:295 +#: plugins/sudoers/cvtsudoers.c:300 #, c-format msgid "unsupported output format %s" msgstr "不支持的输出格式 %s" -#: plugins/sudoers/cvtsudoers.c:385 +#: plugins/sudoers/cvtsudoers.c:392 #, c-format msgid "%s: input and output files must be different" msgstr "%s:输入和输出文件不能相同" -#: 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 +#: plugins/sudoers/cvtsudoers.c:406 plugins/sudoers/sudoers.c:151 +#: plugins/sudoers/sudoers.c:209 plugins/sudoers/testsudoers.c:315 +#: plugins/sudoers/visudo.c:276 plugins/sudoers/visudo.c:666 msgid "unable to initialize sudoers default values" msgstr "无法初始化 sudoers 默认值" -#: plugins/sudoers/cvtsudoers.c:525 plugins/sudoers/ldap_conf.c:434 +#: plugins/sudoers/cvtsudoers.c:533 plugins/sudoers/ldap_conf.c:431 #, c-format msgid "%s: %s: %s: %s" msgstr "%s:%s:%s:%s" -#: plugins/sudoers/cvtsudoers.c:584 +#: plugins/sudoers/cvtsudoers.c:612 #, c-format msgid "%s: unknown key word %s" msgstr "%s:未知的关键词 %s" -#: plugins/sudoers/cvtsudoers.c:630 +#: plugins/sudoers/cvtsudoers.c:658 #, c-format msgid "invalid defaults type: %s" msgstr "无效的默认值类型:%s" -#: plugins/sudoers/cvtsudoers.c:653 +#: plugins/sudoers/cvtsudoers.c:681 #, c-format msgid "invalid suppression type: %s" msgstr "无效的压缩类型:%s" -#: plugins/sudoers/cvtsudoers.c:694 plugins/sudoers/cvtsudoers.c:710 +#: plugins/sudoers/cvtsudoers.c:722 plugins/sudoers/cvtsudoers.c:738 #, c-format msgid "invalid filter: %s" msgstr "无效的过滤器:%s" -#: plugins/sudoers/cvtsudoers.c:754 plugins/sudoers/visudo.c:980 +#: plugins/sudoers/cvtsudoers.c:783 plugins/sudoers/visudo.c:1000 #, 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:343 plugins/sudoers/timestamp.c:346 +#: plugins/sudoers/cvtsudoers.c:1504 plugins/sudoers/sudoreplay.c:1145 +#: plugins/sudoers/timestamp.c:353 plugins/sudoers/timestamp.c:356 #, c-format msgid "unable to write to %s" msgstr "无法写入 %s" -#: plugins/sudoers/cvtsudoers.c:1506 +#: plugins/sudoers/cvtsudoers.c:1532 #, c-format msgid "" "%s - convert between sudoers file formats\n" @@ -1779,7 +1771,7 @@ msgstr "" "%s - 转换 sudoers 文件格式\n" "\n" -#: plugins/sudoers/cvtsudoers.c:1508 +#: plugins/sudoers/cvtsudoers.c:1534 msgid "" "\n" "Options:\n" @@ -1819,901 +1811,987 @@ msgstr "" " -s, --suppress=sections 压缩某些部分的输出\n" " -V, --version 显示版本信息并退出" -#: 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 +#: plugins/sudoers/cvtsudoers_csv.c:192 plugins/sudoers/cvtsudoers_csv.c:199 +#: plugins/sudoers/cvtsudoers_ldif.c:270 plugins/sudoers/cvtsudoers_ldif.c:277 +#: plugins/sudoers/cvtsudoers_ldif.c:628 plugins/sudoers/env.c:357 +#: plugins/sudoers/env.c:364 plugins/sudoers/env.c:475 +#: plugins/sudoers/ldap.c:511 plugins/sudoers/ldap.c:629 +#: plugins/sudoers/ldap.c:1003 plugins/sudoers/ldap_conf.c:219 +#: plugins/sudoers/ldap_conf.c:310 plugins/sudoers/ldap_util.c:483 +#: plugins/sudoers/linux_audit.c:93 plugins/sudoers/logging.c:487 +#: plugins/sudoers/policy.c:836 plugins/sudoers/policy.c:848 +#: plugins/sudoers/prompt.c:169 plugins/sudoers/serialize_list.c:62 +#: plugins/sudoers/serialize_list.c:71 plugins/sudoers/strvec_join.c:62 +#: plugins/sudoers/sudoreplay.c:1342 plugins/sudoers/sudoreplay.c:1348 +#: plugins/sudoers/sudoreplay.c:1354 plugins/sudoers/testsudoers.c:306 +#: plugins/sudoers/toke_util.c:217 toke.l:975 toke.l:1257 +#, c-format +msgid "internal error, %s overflow" +msgstr "内部错误,%s 溢出" + +#: plugins/sudoers/cvtsudoers_csv.c:481 plugins/sudoers/cvtsudoers_csv.c:495 +#: plugins/sudoers/cvtsudoers_json.c:760 plugins/sudoers/cvtsudoers_json.c:776 +#: plugins/sudoers/cvtsudoers_ldif.c:384 plugins/sudoers/cvtsudoers_ldif.c:398 +#: plugins/sudoers/ldap.c:495 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:662 plugins/sudoers/cvtsudoers_json.c:677 -#: plugins/sudoers/cvtsudoers_ldif.c:352 plugins/sudoers/cvtsudoers_ldif.c:365 -#: plugins/sudoers/ldap.c:518 +#: plugins/sudoers/cvtsudoers_csv.c:486 plugins/sudoers/cvtsudoers_csv.c:500 +#: plugins/sudoers/cvtsudoers_json.c:765 plugins/sudoers/cvtsudoers_json.c:781 +#: plugins/sudoers/cvtsudoers_ldif.c:389 plugins/sudoers/cvtsudoers_ldif.c:403 +#: plugins/sudoers/ldap.c:503 msgid "unable to format timestamp" msgstr "无法格式化时间戳" -#: plugins/sudoers/cvtsudoers_json.c:480 plugins/sudoers/cvtsudoers_json.c:515 -#: plugins/sudoers/cvtsudoers_json.c:728 +#: plugins/sudoers/cvtsudoers_json.c:547 plugins/sudoers/cvtsudoers_json.c:588 +#: plugins/sudoers/cvtsudoers_json.c:841 #, c-format msgid "%s:%d:%d: unknown defaults entry \"%s\"" msgstr "%s:%d:%d:未知的默认条目“%s”" -#: plugins/sudoers/cvtsudoers_ldif.c:661 +#: plugins/sudoers/cvtsudoers_ldif.c:116 +#, c-format +msgid "unable to base64 encode value \"%s\"" +msgstr "无法使用 base64 编码值“%s”" + +#: plugins/sudoers/cvtsudoers_ldif.c:595 +#, c-format +msgid "internal error, unable insert user %s" +msgstr "内部错误,无法插入用户 %s" + +#: plugins/sudoers/cvtsudoers_ldif.c:702 #, c-format msgid "too many sudoers entries, maximum %u" msgstr "sudoers 条目过多,最多为 %u" -#: plugins/sudoers/cvtsudoers_ldif.c:704 +#: plugins/sudoers/cvtsudoers_ldif.c:747 msgid "the SUDOERS_BASE environment variable is not set and the -b option was not specified." msgstr "没有设置 SUDOERS_BASE 环境变量,并且没有指定 -b 选项。" -#: plugins/sudoers/cvtsudoers_merge.c:273 -#: plugins/sudoers/cvtsudoers_merge.c:309 +#: plugins/sudoers/cvtsudoers_merge.c:275 +#: plugins/sudoers/cvtsudoers_merge.c:313 #, fuzzy, c-format #| msgid "%s:%d no value specified for \"%s\"" msgid "%s:%d:%d: converting host list to ALL" msgstr "%s:%d 没有给“%s”指定值" -#: plugins/sudoers/cvtsudoers_merge.c:545 +#: plugins/sudoers/cvtsudoers_merge.c:568 #, c-format msgid "unable to find alias %s" msgstr "无法找到别名 %s" -#: plugins/sudoers/cvtsudoers_merge.c:548 +#: plugins/sudoers/cvtsudoers_merge.c:572 #, c-format msgid "%s:%d:%d: renaming alias %s to %s" msgstr "%s:%d:%d:重命名别名 %s 为 %s" -#: plugins/sudoers/cvtsudoers_merge.c:605 +#: plugins/sudoers/cvtsudoers_merge.c:634 #, c-format msgid "%s:%d:%d: removing duplicate alias %s" msgstr "%s:%d:%d:移除重复别名 %s" -#: plugins/sudoers/cvtsudoers_merge.c:830 +#: plugins/sudoers/cvtsudoers_merge.c:868 #, c-format msgid "%s:%d:%d: conflicting Defaults entry \"%s\" host-specific in %s:%d:%d" msgstr "" -#: plugins/sudoers/cvtsudoers_merge.c:864 +#: plugins/sudoers/cvtsudoers_merge.c:904 #, fuzzy, c-format #| msgid "%s:%d invalid Defaults type 0x%x for option \"%s\"" msgid "%s:%d:%d: made Defaults \"%s\" specific to host %s" msgstr "%1$s:%2$d 选项“%4$s”的默认类型 0x%3$x 无效" -#: plugins/sudoers/cvtsudoers_merge.c:882 +#: plugins/sudoers/cvtsudoers_merge.c:922 #, c-format msgid "%s:%d:%d: unable to make Defaults \"%s\" host-specific" msgstr "" -#: plugins/sudoers/cvtsudoers_merge.c:892 +#: plugins/sudoers/cvtsudoers_merge.c:932 #, c-format msgid "%s:%d:%d: removing Defaults \"%s\" overridden by subsequent entries" msgstr "" -#: plugins/sudoers/cvtsudoers_merge.c:1088 +#: plugins/sudoers/cvtsudoers_merge.c:1128 #, fuzzy, c-format #| msgid "%s:%d no value specified for \"%s\"" msgid "%s:%d:%d: merging userspec into %s:%d:%d" msgstr "%s:%d 没有给“%s”指定值" -#: plugins/sudoers/cvtsudoers_merge.c:1182 +#: plugins/sudoers/cvtsudoers_merge.c:1224 #, c-format msgid "%s:%d:%d: removing userspec overridden by subsequent entries" msgstr "" -#: plugins/sudoers/def_data.c:56 +#: plugins/sudoers/def_data.c:58 #, c-format msgid "Syslog facility if syslog is being used for logging: %s" msgstr "若使用了 syslog,用于记录日志的 syslog 设施:%s" -#: plugins/sudoers/def_data.c:60 +#: plugins/sudoers/def_data.c:62 #, c-format msgid "Syslog priority to use when user authenticates successfully: %s" msgstr "用户认证成功时使用的 syslog 优先级:%s" -#: plugins/sudoers/def_data.c:64 +#: plugins/sudoers/def_data.c:66 #, c-format msgid "Syslog priority to use when user authenticates unsuccessfully: %s" msgstr "用户认证不成功时使用的 syslog 优先级:%s" -#: plugins/sudoers/def_data.c:68 +#: plugins/sudoers/def_data.c:70 msgid "Put OTP prompt on its own line" msgstr "将 OPT 提示放在独自的行中" -#: plugins/sudoers/def_data.c:72 +#: plugins/sudoers/def_data.c:74 msgid "Ignore '.' in $PATH" msgstr "忽略 $PATH 中的“.”" -#: plugins/sudoers/def_data.c:76 +#: plugins/sudoers/def_data.c:78 msgid "Always send mail when sudo is run" msgstr "在运行 sudo 时总是发送邮件" -#: plugins/sudoers/def_data.c:80 +#: plugins/sudoers/def_data.c:82 msgid "Send mail if user authentication fails" msgstr "在用户认证失败时发送邮件" -#: plugins/sudoers/def_data.c:84 +#: plugins/sudoers/def_data.c:86 msgid "Send mail if the user is not in sudoers" msgstr "在用户不在 sudoers 列表中时发送邮件" -#: plugins/sudoers/def_data.c:88 +#: plugins/sudoers/def_data.c:90 msgid "Send mail if the user is not in sudoers for this host" msgstr "在用户不在此主机的 sudoers 列表中时发送邮件" -#: plugins/sudoers/def_data.c:92 +#: plugins/sudoers/def_data.c:94 msgid "Send mail if the user is not allowed to run a command" msgstr "在用户不允许执行某个命令时发送邮件" -#: plugins/sudoers/def_data.c:96 +#: plugins/sudoers/def_data.c:98 msgid "Send mail if the user tries to run a command" msgstr "在用户尝试执行某个命令时发送邮件" -#: plugins/sudoers/def_data.c:100 +#: plugins/sudoers/def_data.c:102 msgid "Use a separate timestamp for each user/tty combo" msgstr "对每个用户/终端组合使用独立的时间戳" -#: plugins/sudoers/def_data.c:104 +#: plugins/sudoers/def_data.c:106 msgid "Lecture user the first time they run sudo" msgstr "在用户第一次运行 sudo 时向他致辞" -#: plugins/sudoers/def_data.c:108 +#: plugins/sudoers/def_data.c:110 #, c-format msgid "File containing the sudo lecture: %s" msgstr "包含 sudo 致辞的文件:%s" -#: plugins/sudoers/def_data.c:112 +#: plugins/sudoers/def_data.c:114 msgid "Require users to authenticate by default" msgstr "默认要求用户认证" -#: plugins/sudoers/def_data.c:116 +#: plugins/sudoers/def_data.c:118 msgid "Root may run sudo" msgstr "root 可以运行 sudo" -#: plugins/sudoers/def_data.c:120 +#: plugins/sudoers/def_data.c:122 msgid "Log the hostname in the (non-syslog) log file" msgstr "将主机名记录在(非 syslog)的日志文件中" -#: plugins/sudoers/def_data.c:124 +#: plugins/sudoers/def_data.c:126 msgid "Log the year in the (non-syslog) log file" msgstr "将年份记录在(非 syslog)的日志文件中" -#: plugins/sudoers/def_data.c:128 +#: plugins/sudoers/def_data.c:130 msgid "If sudo is invoked with no arguments, start a shell" msgstr "如果不带参数调用 sudo,启动一个 shell" -#: plugins/sudoers/def_data.c:132 +#: plugins/sudoers/def_data.c:134 msgid "Set $HOME to the target user when starting a shell with -s" msgstr "若使用 -s 选项启动 shell,将 $HOME 设为目标用户的主目录" -#: plugins/sudoers/def_data.c:136 +#: plugins/sudoers/def_data.c:138 msgid "Always set $HOME to the target user's home directory" msgstr "总是将 $HOME 设为目标用户的主目录" -#: plugins/sudoers/def_data.c:140 +#: plugins/sudoers/def_data.c:142 msgid "Allow some information gathering to give useful error messages" msgstr "允许收集一些信息,以提供有用的错误消息" -#: plugins/sudoers/def_data.c:144 +#: plugins/sudoers/def_data.c:146 msgid "Require fully-qualified hostnames in the sudoers file" msgstr "要求 sudoers 文件中包含完全限定的主机名" -#: plugins/sudoers/def_data.c:148 +#: plugins/sudoers/def_data.c:150 msgid "Insult the user when they enter an incorrect password" msgstr "在用户输入错误密码时对他们进行(玩笑式的)嘲讽" -#: plugins/sudoers/def_data.c:152 +#: plugins/sudoers/def_data.c:154 msgid "Only allow the user to run sudo if they have a tty" msgstr "只允许拥有终端的用户执行 sudo" -#: plugins/sudoers/def_data.c:156 +#: plugins/sudoers/def_data.c:158 msgid "Visudo will honor the EDITOR environment variable" msgstr "Visudo 将优先考虑 EDITOR 环境变量" -#: plugins/sudoers/def_data.c:160 -msgid "Prompt for root's password, not the users's" +#: plugins/sudoers/def_data.c:162 +msgid "Prompt for root's password, not the user's" msgstr "询问 root 用户的密码而非用户的密码" -#: plugins/sudoers/def_data.c:164 -msgid "Prompt for the runas_default user's password, not the users's" +#: plugins/sudoers/def_data.c:166 +msgid "Prompt for the runas_default user's password, not the user's" msgstr "询问 runas_default 用户的密码,而非用户密码" -#: plugins/sudoers/def_data.c:168 -msgid "Prompt for the target user's password, not the users's" +#: plugins/sudoers/def_data.c:170 +msgid "Prompt for the target user's password, not the user's" msgstr "询问目标用户的密码,而非用户密码" -#: plugins/sudoers/def_data.c:172 +#: plugins/sudoers/def_data.c:174 msgid "Apply defaults in the target user's login class if there is one" msgstr "应用目标用户登录类别中的默认设置,如果没有设置的话" -#: plugins/sudoers/def_data.c:176 +#: plugins/sudoers/def_data.c:178 msgid "Set the LOGNAME and USER environment variables" msgstr "设置 LOGNAME 和 USER 环境变量" -#: plugins/sudoers/def_data.c:180 +#: plugins/sudoers/def_data.c:182 msgid "Only set the effective uid to the target user, not the real uid" msgstr "只将有效用户 ID 设为目标用户的,而不是实际用户 ID" -#: plugins/sudoers/def_data.c:184 +#: plugins/sudoers/def_data.c:186 msgid "Don't initialize the group vector to that of the target user" msgstr "不将组向量初始化为目标用户的" -#: plugins/sudoers/def_data.c:188 +#: plugins/sudoers/def_data.c:190 #, c-format msgid "Length at which to wrap log file lines (0 for no wrap): %u" msgstr "日志文件折行的长度(0 则不折行):%u" -#: plugins/sudoers/def_data.c:192 +#: plugins/sudoers/def_data.c:194 #, c-format msgid "Authentication timestamp timeout: %.1f minutes" msgstr "认证时间戳延时:%.1f 分钟" -#: plugins/sudoers/def_data.c:196 +#: plugins/sudoers/def_data.c:198 #, c-format msgid "Password prompt timeout: %.1f minutes" msgstr "密码提示延时:%.1f 分钟" -#: plugins/sudoers/def_data.c:200 +#: plugins/sudoers/def_data.c:202 #, c-format msgid "Number of tries to enter a password: %u" msgstr "输入密码的尝试次数:%u" -#: plugins/sudoers/def_data.c:204 +#: plugins/sudoers/def_data.c:206 #, c-format msgid "Umask to use or 0777 to use user's: 0%o" msgstr "要使用的 umask,或 0777 使用用户的:0%o" -#: plugins/sudoers/def_data.c:208 +#: plugins/sudoers/def_data.c:210 #, c-format msgid "Path to log file: %s" msgstr "日志文件路径:%s" -#: plugins/sudoers/def_data.c:212 +#: plugins/sudoers/def_data.c:214 #, c-format msgid "Path to mail program: %s" msgstr "邮件程序路径:%s" -#: plugins/sudoers/def_data.c:216 +#: plugins/sudoers/def_data.c:218 #, c-format msgid "Flags for mail program: %s" msgstr "邮件程序标志:%s" -#: plugins/sudoers/def_data.c:220 +#: plugins/sudoers/def_data.c:222 #, c-format msgid "Address to send mail to: %s" msgstr "发送邮件的地址:%s" -#: plugins/sudoers/def_data.c:224 +#: plugins/sudoers/def_data.c:226 #, c-format msgid "Address to send mail from: %s" msgstr "接收邮件的地址:%s" -#: plugins/sudoers/def_data.c:228 +#: plugins/sudoers/def_data.c:230 #, c-format msgid "Subject line for mail messages: %s" msgstr "邮件消息的主题行:%s" -#: plugins/sudoers/def_data.c:232 +#: plugins/sudoers/def_data.c:234 #, c-format msgid "Incorrect password message: %s" msgstr "密码错误消息:%s" -#: plugins/sudoers/def_data.c:236 +#: plugins/sudoers/def_data.c:238 #, c-format msgid "Path to lecture status dir: %s" msgstr "致辞(lecture)状态文件夹的路径:%s" -#: plugins/sudoers/def_data.c:240 +#: plugins/sudoers/def_data.c:242 #, c-format msgid "Path to authentication timestamp dir: %s" msgstr "认证时间戳文件夹的路径:%s" -#: plugins/sudoers/def_data.c:244 +#: plugins/sudoers/def_data.c:246 #, c-format msgid "Owner of the authentication timestamp dir: %s" msgstr "认证时间戳的所有者:%s" -#: plugins/sudoers/def_data.c:248 +#: plugins/sudoers/def_data.c:250 #, c-format msgid "Users in this group are exempt from password and PATH requirements: %s" msgstr "此组的用户不要求密码和 PATH:%s" -#: plugins/sudoers/def_data.c:252 +#: plugins/sudoers/def_data.c:254 #, c-format msgid "Default password prompt: %s" msgstr "默认密码提示:%s" -#: plugins/sudoers/def_data.c:256 +#: plugins/sudoers/def_data.c:258 msgid "If set, passprompt will override system prompt in all cases." msgstr "如果设置,密码提示将覆盖各种情况下的系统提示。" -#: plugins/sudoers/def_data.c:260 +#: plugins/sudoers/def_data.c:262 #, c-format msgid "Default user to run commands as: %s" msgstr "运行命令的默认用户:%s" -#: plugins/sudoers/def_data.c:264 +#: plugins/sudoers/def_data.c:266 #, c-format msgid "Value to override user's $PATH with: %s" msgstr "覆盖用户的 $PATH 变量的值:%s" -#: plugins/sudoers/def_data.c:268 +#: plugins/sudoers/def_data.c:270 #, c-format msgid "Path to the editor for use by visudo: %s" msgstr "visudo 所使用的编辑器的路径:%s" -#: plugins/sudoers/def_data.c:272 +#: plugins/sudoers/def_data.c:274 #, c-format msgid "When to require a password for 'list' pseudocommand: %s" msgstr "何时为“list”伪命令请求密码:%s" -#: plugins/sudoers/def_data.c:276 +#: plugins/sudoers/def_data.c:278 #, c-format msgid "When to require a password for 'verify' pseudocommand: %s" msgstr "何时为“verify”伪命令请求密码:%s" -#: plugins/sudoers/def_data.c:280 +#: plugins/sudoers/def_data.c:282 msgid "Preload the sudo_noexec library which replaces the exec functions" msgstr "预加载替代 exec 函数的 sudo_noexec 库" -#: plugins/sudoers/def_data.c:284 +#: plugins/sudoers/def_data.c:286 msgid "If LDAP directory is up, do we ignore local sudoers file" msgstr "如果 LDAP 目录有效,是不是忽略本地的 sudoers 文件" -#: plugins/sudoers/def_data.c:288 +#: plugins/sudoers/def_data.c:290 #, c-format msgid "File descriptors >= %d will be closed before executing a command" msgstr ">= %d 的文件描述符将会在执行命令前关闭" -#: plugins/sudoers/def_data.c:292 +#: plugins/sudoers/def_data.c:294 msgid "If set, users may override the value of \"closefrom\" with the -C option" msgstr "如果设置,用户可以通过 -C 选项覆盖“closefrom”的值" -#: plugins/sudoers/def_data.c:296 +#: plugins/sudoers/def_data.c:298 msgid "Allow users to set arbitrary environment variables" msgstr "允许用户设置任意的环境变量" -#: plugins/sudoers/def_data.c:300 +#: plugins/sudoers/def_data.c:302 msgid "Reset the environment to a default set of variables" msgstr "将环境重设为默认的变量集" -#: plugins/sudoers/def_data.c:304 +#: plugins/sudoers/def_data.c:306 msgid "Environment variables to check for safety:" msgstr "要检查安全性的环境变量:" -#: plugins/sudoers/def_data.c:308 +#: plugins/sudoers/def_data.c:310 msgid "Environment variables to remove:" msgstr "要移除的环境变量:" -#: plugins/sudoers/def_data.c:312 +#: plugins/sudoers/def_data.c:314 msgid "Environment variables to preserve:" msgstr "要保留的环境变量:" -#: plugins/sudoers/def_data.c:316 +#: plugins/sudoers/def_data.c:318 #, c-format msgid "SELinux role to use in the new security context: %s" msgstr "在新的安全环境中使用的 SELinux 角色:%s" -#: plugins/sudoers/def_data.c:320 +#: plugins/sudoers/def_data.c:322 #, c-format msgid "SELinux type to use in the new security context: %s" msgstr "在新的安全环境中使用的 SELinux 类型:%s" -#: plugins/sudoers/def_data.c:324 +#: plugins/sudoers/def_data.c:326 #, c-format msgid "Path to the sudo-specific environment file: %s" msgstr "sudo 特定环境文件的路径:%s" -#: plugins/sudoers/def_data.c:328 +#: plugins/sudoers/def_data.c:330 #, c-format msgid "Path to the restricted sudo-specific environment file: %s" msgstr "受限的 sudo 特定环境文件的路径:%s" -#: plugins/sudoers/def_data.c:332 +#: plugins/sudoers/def_data.c:334 #, c-format msgid "Locale to use while parsing sudoers: %s" msgstr "解析 sudoers 时使用的区域设置:%s" -#: plugins/sudoers/def_data.c:336 +#: plugins/sudoers/def_data.c:338 msgid "Allow sudo to prompt for a password even if it would be visible" msgstr "允许 sudo 询问密码,即使它不可见" -#: plugins/sudoers/def_data.c:340 +#: plugins/sudoers/def_data.c:342 msgid "Provide visual feedback at the password prompt when there is user input" msgstr "用户在询问密码窗口输入时提供视觉反馈" -#: plugins/sudoers/def_data.c:344 +#: plugins/sudoers/def_data.c:346 msgid "Use faster globbing that is less accurate but does not access the filesystem" msgstr "使用不太精确但不访问文件系统的较快通配方法" -#: plugins/sudoers/def_data.c:348 +#: plugins/sudoers/def_data.c:350 msgid "The umask specified in sudoers will override the user's, even if it is more permissive" msgstr "sudoers 中指定的 umask 会覆盖用户的,即使它允许的权限更多" -#: plugins/sudoers/def_data.c:352 +#: plugins/sudoers/def_data.c:354 msgid "Log user's input for the command being run" msgstr "记录用户在所执行命令中的输入" -#: plugins/sudoers/def_data.c:356 +#: plugins/sudoers/def_data.c:358 msgid "Log the command's standard input if not connected to a terminal" msgstr "记录命令的标准输入内容,如果它未连接终端的话" -#: plugins/sudoers/def_data.c:360 +#: plugins/sudoers/def_data.c:362 msgid "Log the user's terminal input for the command being run" msgstr "记录用户在所执行命令中的终端输入" -#: plugins/sudoers/def_data.c:364 +#: plugins/sudoers/def_data.c:366 msgid "Log the output of the command being run" msgstr "记录所执行命令的输出" -#: plugins/sudoers/def_data.c:368 +#: plugins/sudoers/def_data.c:370 msgid "Log the command's standard output if not connected to a terminal" msgstr "记录命令的标准输出内容,如果它未连接终端的话" -#: plugins/sudoers/def_data.c:372 +#: plugins/sudoers/def_data.c:374 msgid "Log the command's standard error if not connected to a terminal" msgstr "记录命令的标准错误内容,如果它未连接终端的话" -#: plugins/sudoers/def_data.c:376 +#: plugins/sudoers/def_data.c:378 msgid "Log the terminal output of the command being run" msgstr "记录所执行命令的终端输出" -#: plugins/sudoers/def_data.c:380 +#: plugins/sudoers/def_data.c:382 msgid "Compress I/O logs using zlib" msgstr "使用 zlib 压缩 I/O 日志" -#: plugins/sudoers/def_data.c:384 +#: plugins/sudoers/def_data.c:386 msgid "Always run commands in a pseudo-tty" msgstr "总是在伪终端中运行命令" -#: plugins/sudoers/def_data.c:388 +#: plugins/sudoers/def_data.c:390 #, c-format msgid "Plugin for non-Unix group support: %s" msgstr "用于非 Unix 组支持的插件:%s" -#: plugins/sudoers/def_data.c:392 +#: plugins/sudoers/def_data.c:394 #, c-format msgid "Directory in which to store input/output logs: %s" msgstr "用于保存输入/输出日志的目录:%s" -#: plugins/sudoers/def_data.c:396 +#: plugins/sudoers/def_data.c:398 #, c-format msgid "File in which to store the input/output log: %s" msgstr "用于保存输入/输出日志的文件:%s" -#: plugins/sudoers/def_data.c:400 +#: plugins/sudoers/def_data.c:402 msgid "Add an entry to the utmp/utmpx file when allocating a pty" msgstr "在分配伪终端时向 utmp/utmpx 文件中添加一条记录" -#: plugins/sudoers/def_data.c:404 +#: plugins/sudoers/def_data.c:406 msgid "Set the user in utmp to the runas user, not the invoking user" msgstr "将 utmp 中的用户设为 runas 用户,而不是调用用户" -#: plugins/sudoers/def_data.c:408 +#: plugins/sudoers/def_data.c:410 #, c-format msgid "Set of permitted privileges: %s" msgstr "允许权限的集合:%s" -#: plugins/sudoers/def_data.c:412 +#: plugins/sudoers/def_data.c:414 #, c-format msgid "Set of limit privileges: %s" msgstr "限制权限的集合:%s" -#: plugins/sudoers/def_data.c:416 +#: plugins/sudoers/def_data.c:418 msgid "Run commands on a pty in the background" msgstr "在后台的伪终端上运行命令" -#: plugins/sudoers/def_data.c:420 +#: plugins/sudoers/def_data.c:422 #, c-format msgid "PAM service name to use: %s" msgstr "要使用的 PAM 服务名称:%s" -#: plugins/sudoers/def_data.c:424 +#: plugins/sudoers/def_data.c:426 #, c-format msgid "PAM service name to use for login shells: %s" msgstr "用于登录 shell 的 PAM 服务名称:%s" -#: plugins/sudoers/def_data.c:428 +#: plugins/sudoers/def_data.c:430 #, fuzzy, c-format #| msgid "PAM service name to use for login shells: %s" msgid "PAM service name to use when sudo is run with the -A option: %s" msgstr "用于登录 shell 的 PAM 服务名称:%s" -#: plugins/sudoers/def_data.c:432 +#: plugins/sudoers/def_data.c:434 msgid "Attempt to establish PAM credentials for the target user" msgstr "尝试为目标用户建立 PAM 凭据" -#: plugins/sudoers/def_data.c:436 +#: plugins/sudoers/def_data.c:438 msgid "Create a new PAM session for the command to run in" msgstr "创建一个新的 PAM 会话来运行该命令" -#: plugins/sudoers/def_data.c:440 +#: plugins/sudoers/def_data.c:442 msgid "Perform PAM account validation management" msgstr "执行 PAM 账户验证管理" -#: plugins/sudoers/def_data.c:444 +#: plugins/sudoers/def_data.c:446 +msgid "Do not allow PAM authentication modules to generate output" +msgstr "" + +#: plugins/sudoers/def_data.c:450 #, c-format msgid "Maximum I/O log sequence number: %s" msgstr "最大 I/O 日志序列号:%s" -#: plugins/sudoers/def_data.c:448 +#: plugins/sudoers/def_data.c:454 msgid "Enable sudoers netgroup support" msgstr "启用 support netgroup 支持" -#: plugins/sudoers/def_data.c:452 +#: plugins/sudoers/def_data.c:458 msgid "Check parent directories for writability when editing files with sudoedit" msgstr "在使用 sudoedit 编辑文件时检查上级目录是否可写" -#: plugins/sudoers/def_data.c:456 +#: plugins/sudoers/def_data.c:462 msgid "Follow symbolic links when editing files with sudoedit" msgstr "使用 sudoedit 编辑文件时循符号连接(定位到原文件)" -#: plugins/sudoers/def_data.c:460 +#: plugins/sudoers/def_data.c:466 msgid "Query the group plugin for unknown system groups" msgstr "通过 组 插件查询未知的系统组" -#: plugins/sudoers/def_data.c:464 +#: plugins/sudoers/def_data.c:470 msgid "Match netgroups based on the entire tuple: user, host and domain" msgstr "基于整个元组(用户、主机和域)来匹配网络组" -#: plugins/sudoers/def_data.c:468 +#: plugins/sudoers/def_data.c:474 msgid "Allow commands to be run even if sudo cannot write to the audit log" msgstr "即使 sudo 无法写入审核日志也允许命令运行" -#: plugins/sudoers/def_data.c:472 +#: plugins/sudoers/def_data.c:478 msgid "Allow commands to be run even if sudo cannot write to the I/O log" msgstr "即使 sudo 无法写入 I/O 日志也允许命令运行" -#: plugins/sudoers/def_data.c:476 +#: plugins/sudoers/def_data.c:482 msgid "Allow commands to be run even if sudo cannot write to the log file" msgstr "即使 sudo 无法写入日志文件也允许命令允许" -#: plugins/sudoers/def_data.c:480 +#: plugins/sudoers/def_data.c:486 msgid "Resolve groups in sudoers and match on the group ID, not the name" msgstr "解析 sudoers 中的组并与 组 ID (而不是名字) 匹配" -#: plugins/sudoers/def_data.c:484 +#: plugins/sudoers/def_data.c:490 #, 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:488 +#: plugins/sudoers/def_data.c:494 #, c-format msgid "User that will own the I/O log files: %s" msgstr "将拥有 I/O 日志文件的用户:%s" -#: plugins/sudoers/def_data.c:492 +#: plugins/sudoers/def_data.c:498 #, c-format msgid "Group that will own the I/O log files: %s" msgstr "将拥有 I/O 日志文件的组:%s" -#: plugins/sudoers/def_data.c:496 +#: plugins/sudoers/def_data.c:502 #, 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:500 +#: plugins/sudoers/def_data.c:506 #, c-format msgid "Execute commands by file descriptor instead of by path: %s" msgstr "根据文件描述符执行命令,而非根据路径:%s" -#: plugins/sudoers/def_data.c:504 +#: plugins/sudoers/def_data.c:510 msgid "Ignore unknown Defaults entries in sudoers instead of producing a warning" msgstr "忽略 sudoers 中未知的 Defaults 条目而非产生警告" -#: plugins/sudoers/def_data.c:508 +#: plugins/sudoers/def_data.c:514 #, c-format msgid "Time in seconds after which the command will be terminated: %u" msgstr "超过指定时间后终止命令(秒):%u" -#: plugins/sudoers/def_data.c:512 +#: plugins/sudoers/def_data.c:518 msgid "Allow the user to specify a timeout on the command line" msgstr "允许用户在命令行中指定超时时间" -#: plugins/sudoers/def_data.c:516 +#: plugins/sudoers/def_data.c:522 msgid "Flush I/O log data to disk immediately instead of buffering it" msgstr "立即冲洗(flush) I/O 日志数据而非将其缓存" -#: plugins/sudoers/def_data.c:520 +#: plugins/sudoers/def_data.c:526 msgid "Include the process ID when logging via syslog" msgstr "通过 syslog 登录时包含进程 ID" -#: plugins/sudoers/def_data.c:524 +#: plugins/sudoers/def_data.c:530 #, c-format msgid "Type of authentication timestamp record: %s" msgstr "认证时间戳记录的类型:%s" -#: plugins/sudoers/def_data.c:528 +#: plugins/sudoers/def_data.c:534 #, c-format msgid "Authentication failure message: %s" msgstr "认证失败消息:%s" -#: plugins/sudoers/def_data.c:532 +#: plugins/sudoers/def_data.c:538 msgid "Ignore case when matching user names" msgstr "在匹配 用户 名时忽略大小写" -#: plugins/sudoers/def_data.c:536 +#: plugins/sudoers/def_data.c:542 msgid "Ignore case when matching group names" msgstr "在匹配 组 名时忽略大小写" -#: plugins/sudoers/def_data.c:540 +#: plugins/sudoers/def_data.c:546 msgid "Log when a command is allowed by sudoers" msgstr "命令被 sudoers 允许时的日志" -#: plugins/sudoers/def_data.c:544 +#: plugins/sudoers/def_data.c:550 msgid "Log when a command is denied by sudoers" msgstr "命令被 sudoers 拒绝时的日志" -#: plugins/sudoers/def_data.c:548 +#: plugins/sudoers/def_data.c:554 msgid "Sudo log server(s) to connect to with optional port" -msgstr "" +msgstr "要连接到的 sudo 日志服务器,可接受可选端口值" -#: plugins/sudoers/def_data.c:552 +#: plugins/sudoers/def_data.c:558 #, c-format msgid "Sudo log server timeout in seconds: %u" msgstr "Sudo 日志服务器超时秒数:%u" -#: plugins/sudoers/def_data.c:556 +#: plugins/sudoers/def_data.c:562 msgid "Enable SO_KEEPALIVE socket option on the socket connected to the logserver" -msgstr "" +msgstr "在连接到日志服务器的套接字上启用 SO_KEEPALIVE 套接字选项" -#: plugins/sudoers/def_data.c:560 +#: plugins/sudoers/def_data.c:566 #, fuzzy, c-format #| msgid "Path to the sudo-specific environment file: %s" msgid "Path to the audit server's CA bundle file: %s" msgstr "sudo 特定环境文件的路径:%s" -#: plugins/sudoers/def_data.c:564 +#: plugins/sudoers/def_data.c:570 #, c-format msgid "Path to the sudoers certificate file: %s" msgstr "到 sudoers 证书文件的路径:%s" -#: plugins/sudoers/def_data.c:568 +#: plugins/sudoers/def_data.c:574 #, c-format msgid "Path to the sudoers private key file: %s" msgstr "到 sudoers 私钥文件的路径:%s" -#: plugins/sudoers/def_data.c:572 +#: plugins/sudoers/def_data.c:578 msgid "Verify that the log server's certificate is valid" msgstr "验证日志服务器证书有效性" -#: plugins/sudoers/def_data.c:576 +#: plugins/sudoers/def_data.c:582 msgid "Allow the use of unknown runas user and/or group ID" msgstr "" -#: plugins/sudoers/def_data.c:580 +#: plugins/sudoers/def_data.c:586 msgid "Only permit running commands as a user with a valid shell" msgstr "" -#: plugins/sudoers/def_data.c:584 +#: plugins/sudoers/def_data.c:590 msgid "Set the pam remote user to the user running sudo" msgstr "" -#: plugins/sudoers/def_data.c:588 +#: plugins/sudoers/def_data.c:594 msgid "Set the pam remote host to the local host name" msgstr "" -#: plugins/sudoers/def_data.c:592 +#: plugins/sudoers/def_data.c:598 #, fuzzy, c-format #| msgid "File descriptors >= %d will be closed before executing a command" msgid "Working directory to change to before executing the command: %s" msgstr ">= %d 的文件描述符将会在执行命令前关闭" -#: plugins/sudoers/def_data.c:596 +#: plugins/sudoers/def_data.c:602 #, fuzzy, c-format #| msgid "File descriptors >= %d will be closed before executing a command" msgid "Root directory to change to before executing the command: %s" msgstr ">= %d 的文件描述符将会在执行命令前关闭" -#: plugins/sudoers/def_data.c:600 +#: plugins/sudoers/def_data.c:606 #, c-format msgid "The format of logs to produce: %s" msgstr "要产生日志的格式:%s" -#: plugins/sudoers/def_data.c:604 +#: plugins/sudoers/def_data.c:610 msgid "Enable SELinux RBAC support" msgstr "启用 SELinux RBAC 支持" -#: plugins/sudoers/def_data.c:608 +#: plugins/sudoers/def_data.c:614 #, 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:612 +#: plugins/sudoers/def_data.c:618 msgid "Intercept further commands and apply sudoers restrictions to them" msgstr "截取未来的命令并对其施加 sudoers 限制" -#: plugins/sudoers/def_data.c:616 +#: plugins/sudoers/def_data.c:622 msgid "Log sub-commands run by the original command" msgstr "记录原始命令所执行的子命令" -#: plugins/sudoers/def_data.c:620 +#: plugins/sudoers/def_data.c:626 msgid "Log the exit status of commands" msgstr "记录所执行命令的返回状态值" -#: plugins/sudoers/def_data.c:624 +#: plugins/sudoers/def_data.c:630 msgid "Subsequent commands in an intercepted session must be authenticated" msgstr "" -#: plugins/sudoers/def_data.c:628 +#: plugins/sudoers/def_data.c:634 msgid "Allow an intercepted command to run set setuid or setgid programs" msgstr "" -#: plugins/sudoers/def_data.c:632 +#: plugins/sudoers/def_data.c:638 #, c-format msgid "The maximum size to which the process's address space may grow (in bytes): %s" msgstr "" -#: plugins/sudoers/def_data.c:636 +#: plugins/sudoers/def_data.c:642 #, c-format msgid "The largest size core dump file that may be created (in bytes): %s" msgstr "" -#: plugins/sudoers/def_data.c:640 +#: plugins/sudoers/def_data.c:646 #, c-format msgid "The maximum amount of CPU time that the process may use (in seconds): %s" msgstr "" -#: plugins/sudoers/def_data.c:644 +#: plugins/sudoers/def_data.c:650 #, c-format msgid "The maximum size of the data segment for the process (in bytes): %s" msgstr "" -#: plugins/sudoers/def_data.c:648 +#: plugins/sudoers/def_data.c:654 #, c-format msgid "The largest size file that the process may create (in bytes): %s" msgstr "" -#: plugins/sudoers/def_data.c:652 +#: plugins/sudoers/def_data.c:658 #, c-format msgid "The maximum number of locks that the process may establish: %s" msgstr "" -#: plugins/sudoers/def_data.c:656 +#: plugins/sudoers/def_data.c:662 #, c-format msgid "The maximum size that the process may lock in memory (in bytes): %s" msgstr "" -#: plugins/sudoers/def_data.c:660 +#: plugins/sudoers/def_data.c:666 #, c-format msgid "The maximum number of files that the process may have open: %s" msgstr "" -#: plugins/sudoers/def_data.c:664 +#: plugins/sudoers/def_data.c:670 #, c-format msgid "The maximum number of processes that the user may run simultaneously: %s" msgstr "" -#: plugins/sudoers/def_data.c:668 +#: plugins/sudoers/def_data.c:674 #, 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:672 +#: plugins/sudoers/def_data.c:678 #, c-format msgid "The maximum size to which the process's stack may grow (in bytes): %s" msgstr "" -#: plugins/sudoers/def_data.c:676 +#: plugins/sudoers/def_data.c:682 msgid "Attempt authentication even when in non-interactive mode" msgstr "即便在非交互模式下也尝试进行认证" -#: plugins/sudoers/def_data.c:680 +#: plugins/sudoers/def_data.c:686 msgid "Store plaintext passwords in I/O log input" msgstr "在 I/O 日志输入中存储纯文本密码" -#: plugins/sudoers/def_data.c:684 +#: plugins/sudoers/def_data.c:690 msgid "List of regular expressions to use when matching a password prompt" msgstr "尝试匹配密码提示符时要使用的正则表达式列表" -#: plugins/sudoers/def_data.c:688 +#: plugins/sudoers/def_data.c:694 #, c-format msgid "The mechanism used by the intercept and log_subcmds options: %s" msgstr "" -#: plugins/sudoers/def_data.c:692 +#: plugins/sudoers/def_data.c:698 msgid "Attempt to verify the command and arguments after execution" msgstr "在执行之后尝试验证命令和参数" -#: plugins/sudoers/def_data.c:696 +#: plugins/sudoers/def_data.c:702 #, c-format msgid "AppArmor profile to use in the new security context: %s" msgstr "在新的安全环境中使用的 SELinux 配置文件:%s" -#: plugins/sudoers/defaults.c:191 +#: plugins/sudoers/def_data.c:706 +#, fuzzy, c-format +#| msgid "" +#| "\n" +#| "Command denied" +msgid "Command denial message: %s" +msgstr "" +"\n" +"命令被拒" + +#: plugins/sudoers/defaults.c:207 #, c-format msgid "unknown defaults entry \"%s\"" msgstr "未知的默认条目“%s”" -#: plugins/sudoers/defaults.c:234 +#: plugins/sudoers/defaults.c:251 #, c-format msgid "no value specified for \"%s\"" msgstr "没有给“%s”指定值" -#: plugins/sudoers/defaults.c:243 +#: plugins/sudoers/defaults.c:260 #, fuzzy, c-format #| msgid "%s: invalid Defaults type 0x%x for option \"%s\"" msgid "invalid operator \"%c=\" for \"%s\"" msgstr "%1$s:选项“%3$s”的默认类型 0x%2$x 无效" -#: plugins/sudoers/defaults.c:275 -#, fuzzy, c-format -#| msgid "%s: option \"%s\" does not take a value" +#: plugins/sudoers/defaults.c:292 +#, c-format msgid "option \"%s\" does not take a value" -msgstr "%s:“%s”选项不接受值" +msgstr "“%s”选项不接受值" -#: plugins/sudoers/defaults.c:299 +#: plugins/sudoers/defaults.c:319 #, fuzzy, c-format #| msgid "%s: invalid Defaults type 0x%x for option \"%s\"" msgid "invalid Defaults type 0x%x for option \"%s\"" msgstr "%1$s:选项“%3$s”的默认类型 0x%2$x 无效" -#: plugins/sudoers/defaults.c:306 -#, fuzzy, c-format -#| msgid "%s: value \"%s\" is invalid for option \"%s\"" +#: plugins/sudoers/defaults.c:326 +#, c-format msgid "value \"%s\" is invalid for option \"%s\"" -msgstr "%s:值“%s”对选项“%s”无效" +msgstr "值“%s”对选项“%s”无效" -#: plugins/sudoers/defaults.c:1128 plugins/sudoers/policy.c:208 +#: plugins/sudoers/defaults.c:1189 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:1134 +#: plugins/sudoers/defaults.c:1195 #, c-format msgid "values for \"%s\" must start with a '/', '~', or '*'" msgstr "“%s”的值必须以“/”、“~”或“*”开头" -#: plugins/sudoers/defaults.c:1141 +#: plugins/sudoers/defaults.c:1202 #, c-format msgid "values for \"%s\" must start with a '/'" msgstr "“%s”的值必须以“/”开头" -#: plugins/sudoers/env.c:426 +#: plugins/sudoers/display.c:154 +#, c-format +msgid "LDAP Role: %s\n" +msgstr "LDAP 角色:%s\n" + +#: plugins/sudoers/display.c:157 +#, c-format +msgid "Sudoers entry: %s\n" +msgstr "Sudoers 条目:%s\n" + +#: plugins/sudoers/display.c:160 +msgid " RunAsUsers: " +msgstr " RunAs 用户:" + +#: plugins/sudoers/display.c:175 +msgid " RunAsGroups: " +msgstr " RunAs 组:" + +#: plugins/sudoers/display.c:185 +msgid " Options: " +msgstr " 选项:" + +#: plugins/sudoers/display.c:249 +msgid " Commands:\n" +msgstr " 命令:\n" + +#: plugins/sudoers/display.c:472 +#, c-format +msgid "Matching Defaults entries for %s on %s:\n" +msgstr "匹配 %2$s 上 %1$s 的默认条目:\n" + +#: plugins/sudoers/display.c:490 +#, c-format +msgid "Runas and Command-specific defaults for %s:\n" +msgstr "%s Runas 和命令特定的默认值:\n" + +#: plugins/sudoers/display.c:508 +#, c-format +msgid "User %s may run the following commands on %s:\n" +msgstr "用户 %s 可以在 %s 上运行以下命令:\n" + +#: plugins/sudoers/display.c:524 +#, c-format +msgid "User %s is not allowed to run sudo on %s.\n" +msgstr "用户 %s 无权在 %s 上运行 sudo。\n" + +#: plugins/sudoers/editor.c:180 +#, fuzzy, c-format +#| msgid "invalid working directory: %s" +msgid "ignoring editor: %.*s" +msgstr "无效的工作目录:%s" + +#: plugins/sudoers/editor.c:181 +msgid "editor arguments may not contain \"--\"" +msgstr "" + +#: plugins/sudoers/env.c:443 msgid "sudo_putenv: corrupted envp, length mismatch" msgstr "sudo_putenv:envp 损坏,长度不符" -#: plugins/sudoers/env.c:1109 +#: plugins/sudoers/env.c:1137 msgid "unable to rebuild the environment" msgstr "无法重建环境" -#: plugins/sudoers/env.c:1183 +#: plugins/sudoers/env.c:1217 #, c-format msgid "sorry, you are not allowed to set the following environment variables: %s" msgstr "对不起,您无权设置以下环境变量:%s" -#: plugins/sudoers/filedigest.c:49 +#: plugins/sudoers/filedigest.c:50 #, c-format -msgid "unsupported digest type %d for %s" -msgstr "%2$s 的摘要类型 %1$d 不支持" +msgid "unsupported digest type %u for %s" +msgstr "%2$s 的摘要类型 %1$u 不支持" -#: plugins/sudoers/filedigest.c:78 +#: plugins/sudoers/filedigest.c:77 #, c-format msgid "%s: read error" msgstr "%s:写错误" -#: plugins/sudoers/group_plugin.c:169 -#, c-format -msgid "%s must be owned by uid %d" -msgstr "%s 必须属于用户 ID %d" - -#: plugins/sudoers/group_plugin.c:173 -#, c-format -msgid "%s must only be writable by owner" -msgstr "%s 必须只对所有者可写" - -#: plugins/sudoers/group_plugin.c:185 plugins/sudoers/sssd.c:576 +#: plugins/sudoers/group_plugin.c:169 plugins/sudoers/sssd.c:578 #, c-format msgid "unable to load %s: %s" msgstr "无法加载 %s:%s" -#: plugins/sudoers/group_plugin.c:197 +#: plugins/sudoers/group_plugin.c:181 #, c-format msgid "unable to find symbol \"group_plugin\" in %s" msgstr "无法在 %s 中找到符号“group_plugin”" -#: plugins/sudoers/group_plugin.c:202 +#: plugins/sudoers/group_plugin.c:186 #, c-format msgid "%s: incompatible group plugin major version %d, expected %d" msgstr "%s:不兼容的组插件主版本号 %d,应为 %d" @@ -2732,92 +2810,92 @@ msgstr "无法解析网络掩码“%s”" msgid "Local IP address and netmask pairs:\n" msgstr "本地 IP 地址和网络掩码对:\n" -#: plugins/sudoers/iolog.c:685 +#: plugins/sudoers/iolog.c:702 msgid "unable to update sequence file" msgstr "无法更新序列文件" -#: 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 +#: plugins/sudoers/iolog.c:736 plugins/sudoers/iolog.c:925 +#: plugins/sudoers/iolog.c:1088 plugins/sudoers/iolog.c:1095 +#: plugins/sudoers/iolog.c:1217 plugins/sudoers/iolog.c:1224 +#: plugins/sudoers/iolog.c:1324 plugins/sudoers/iolog.c:1331 #, c-format msgid "unable to write to I/O log file: %s" msgstr "无法写入 I/O 日志文件:%s" -#: plugins/sudoers/iolog.c:727 +#: plugins/sudoers/iolog.c:744 #, c-format msgid "unable to create %s/%s" msgstr "无法创建 %s/%s" -#: plugins/sudoers/iolog.c:957 +#: plugins/sudoers/iolog.c:973 #, c-format msgid "%s: internal error, I/O log file for event %d not open" msgstr "%s:内部错误,事件 %d 的 I/O 日志文件未打开" -#: 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 +#: plugins/sudoers/iolog.c:1073 plugins/sudoers/iolog.c:1202 +#: plugins/sudoers/iolog.c:1308 plugins/sudoers/timestamp.c:900 +#: plugins/sudoers/timestamp.c:992 plugins/sudoers/visudo.c:555 +#: plugins/sudoers/visudo.c:561 msgid "unable to read the clock" msgstr "无法读取时钟" -#: plugins/sudoers/iolog.c:1281 plugins/sudoers/log_client.c:1193 -#: plugins/sudoers/log_client.c:1203 plugins/sudoers/log_client.c:1207 +#: plugins/sudoers/iolog.c:1300 plugins/sudoers/log_client.c:1226 +#: plugins/sudoers/log_client.c:1236 plugins/sudoers/log_client.c:1240 #, c-format msgid "%s: internal error, invalid signal %d" msgstr "%s:内部错误,信号 %d 无效" -#: plugins/sudoers/ldap.c:177 plugins/sudoers/ldap_conf.c:292 +#: plugins/sudoers/ldap.c:154 plugins/sudoers/ldap_conf.c:289 msgid "starttls not supported when using ldaps" msgstr "使用 ldaps 时不支持 starttls" -#: plugins/sudoers/ldap.c:248 +#: plugins/sudoers/ldap.c:226 #, c-format msgid "unable to initialize SSL cert and key db: %s" msgstr "无法初始化 SSL 证书和密钥数据库:%s" -#: plugins/sudoers/ldap.c:251 +#: plugins/sudoers/ldap.c:229 #, c-format msgid "you must set TLS_CERT in %s to use SSL" msgstr "要使用 SSL,您必须在 %s 中设置 TLS_CERT" -#: plugins/sudoers/ldap.c:1712 +#: plugins/sudoers/ldap.c:1593 #, c-format msgid "unable to initialize LDAP: %s" msgstr "无法初始化 LDAP:%s" -#: plugins/sudoers/ldap.c:1749 +#: plugins/sudoers/ldap.c:1630 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:748 +#: plugins/sudoers/ldap.c:1767 plugins/sudoers/parse_ldif.c:745 #, c-format msgid "invalid sudoOrder attribute: %s" msgstr "无效的 sudoOrder 属性:%s" -#: plugins/sudoers/ldap_conf.c:200 +#: plugins/sudoers/ldap_conf.c:197 #, c-format msgid "%s: port too large" msgstr "%s:端口过大" -#: plugins/sudoers/ldap_conf.c:261 +#: plugins/sudoers/ldap_conf.c:258 #, c-format msgid "unsupported LDAP uri type: %s" msgstr "不支持的 LDAP URI 类型:%s" -#: plugins/sudoers/ldap_conf.c:288 +#: plugins/sudoers/ldap_conf.c:285 msgid "unable to mix ldap and ldaps URIs" msgstr "无法混合 ldap 和 ldaps URI" -#: 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 +#: plugins/sudoers/ldap_util.c:496 plugins/sudoers/ldap_util.c:503 +#: plugins/sudoers/ldap_util.c:511 plugins/sudoers/ldap_util.c:519 +#: plugins/sudoers/ldap_util.c:527 plugins/sudoers/ldap_util.c:535 +#: plugins/sudoers/ldap_util.c:543 plugins/sudoers/ldap_util.c:551 #, c-format msgid "duplicate sudoOption: %s%s%s" msgstr "重复的 sudoOption: %s%s%s" -#: plugins/sudoers/ldap_util.c:568 plugins/sudoers/ldap_util.c:570 +#: plugins/sudoers/ldap_util.c:569 plugins/sudoers/ldap_util.c:571 #, c-format msgid "unable to convert sudoOption: %s%s%s" msgstr "无法转换 sudoOption: %s%s%s" @@ -2826,115 +2904,129 @@ msgstr "无法转换 sudoOption: %s%s%s" msgid "unable to open audit system" msgstr "无法打开审核系统" -#: plugins/sudoers/linux_audit.c:103 +#: plugins/sudoers/linux_audit.c:104 msgid "unable to send audit message" msgstr "无法发送审核消息" -#: plugins/sudoers/log_client.c:125 plugins/sudoers/log_client.c:412 -#: plugins/sudoers/log_client.c:1440 plugins/sudoers/log_client.c:2056 +#: plugins/sudoers/log_client.c:125 plugins/sudoers/log_client.c:421 +#: plugins/sudoers/log_client.c:1473 plugins/sudoers/log_client.c:2101 msgid "error in event loop" msgstr "事件循环中出错" -#: plugins/sudoers/log_client.c:205 +#: plugins/sudoers/log_client.c:214 #, c-format msgid "Creation of new SSL_CTX object failed: %s" msgstr "创建新的 SSL_CTX 对象失败:%s" -#: plugins/sudoers/log_client.c:230 +#: plugins/sudoers/log_client.c:239 #, c-format msgid "unable to load certificate authority bundle %s" msgstr "无法加载数字证书认证机构集合(CA bundle) %s" -#: plugins/sudoers/log_client.c:252 +#: plugins/sudoers/log_client.c:261 #, c-format msgid "unable to load certificate %s" msgstr "无法加载证书 %s" -#: plugins/sudoers/log_client.c:266 +#: plugins/sudoers/log_client.c:275 #, c-format msgid "unable to load private key %s" msgstr "无法加载私钥 %s" -#: plugins/sudoers/log_client.c:275 +#: plugins/sudoers/log_client.c:284 #, c-format msgid "Unable to allocate ssl object: %s" msgstr "无法分配 ssl 对象:%s" -#: plugins/sudoers/log_client.c:364 plugins/sudoers/log_client.c:369 +#: plugins/sudoers/log_client.c:373 plugins/sudoers/log_client.c:378 #, c-format msgid "TLS connection to %s:%s failed: %s" msgstr "到 %s:%s 的 TLS 连接失败:%s" -#: plugins/sudoers/log_client.c:543 +#: plugins/sudoers/log_client.c:554 msgid "TLS initialization was unsuccessful" msgstr "TLS 初始化不成功" -#: plugins/sudoers/log_client.c:553 +#: plugins/sudoers/log_client.c:564 msgid "TLS handshake was unsuccessful" msgstr "TLS 握手不成功" -#: plugins/sudoers/log_client.c:1211 +#: plugins/sudoers/log_client.c:1244 #, c-format msgid "%s: internal error, invalid exit status %d" msgstr "%s:内部错误,无效的退出状态 %d" -#: plugins/sudoers/log_client.c:1740 plugins/sudoers/log_client.c:1764 +#: plugins/sudoers/log_client.c:1780 plugins/sudoers/log_client.c:1805 msgid "lost connection to log server" msgstr "丢失了到日志服务器的连接" -#: plugins/sudoers/log_client.c:1841 +#: plugins/sudoers/log_client.c:1882 msgid "missing write buffer" msgstr "缺失写缓冲" -#: plugins/sudoers/log_client.c:1995 +#: plugins/sudoers/log_client.c:2040 msgid "unable to connect to log server" msgstr "无法连接到日志服务器" -#: plugins/sudoers/logging.c:290 +#: plugins/sudoers/logging.c:295 msgid "user NOT in sudoers" msgstr "用户不在 sudoers 中" -#: plugins/sudoers/logging.c:292 +#: plugins/sudoers/logging.c:297 msgid "user NOT authorized on host" msgstr "用户未获得此主机上的授权" -#: plugins/sudoers/logging.c:294 +#: plugins/sudoers/logging.c:299 +msgid "setid command rejected in intercept mode" +msgstr "" + +#: plugins/sudoers/logging.c:301 msgid "command not allowed" msgstr "命令禁止使用" -#: plugins/sudoers/logging.c:315 +#: plugins/sudoers/logging.c:322 #, c-format msgid "%s is not in the sudoers file.\n" -msgstr "%s 不是 sudoers 文件。\n" +msgstr "%s 未出现在 sudoers 文件中。\n" -#: plugins/sudoers/logging.c:318 +#: plugins/sudoers/logging.c:325 #, c-format msgid "%s is not allowed to run sudo on %s.\n" msgstr "%s 无权在 %s 上运行 sudo。\n" -#: plugins/sudoers/logging.c:321 +#: plugins/sudoers/logging.c:328 plugins/sudoers/parser_warnx.c:59 +#, c-format +msgid "%s: %s\n" +msgstr "%s:%s\n" + +#: plugins/sudoers/logging.c:329 +msgid "setid commands are not permitted in intercept mode" +msgstr "" + +#: plugins/sudoers/logging.c:331 #, c-format msgid "Sorry, user %s may not run sudo on %s.\n" msgstr "对不起,用户 %s 不能在 %s 上运行 sudo。\n" -#: 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" +#: plugins/sudoers/logging.c:344 +#, fuzzy, c-format +#| msgid "Sorry, user %s is not allowed to execute '%s%s%s' as %s%s%s on %s.\n" +msgid "Sorry, user %s is not allowed to execute '%s%s%s%s' as %s%s%s on %s.\n" msgstr "对不起,用户 %1$s 无权以 %5$s%6$s%7$s 的身份在 %8$s 上执行 %2$s%3$s%4$s。\n" -#: plugins/sudoers/logging.c:334 +#: plugins/sudoers/logging.c:358 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 +#: plugins/sudoers/logging.c:395 plugins/sudoers/sudoers.c:564 +#: plugins/sudoers/sudoers.c:566 plugins/sudoers/sudoers.c:568 +#: plugins/sudoers/sudoers.c:570 plugins/sudoers/sudoers.c:794 +#: plugins/sudoers/sudoers.c:796 #, c-format msgid "%s: command not found" msgstr "%s:找不到命令" -#: plugins/sudoers/logging.c:367 plugins/sudoers/sudoers.c:644 +#: plugins/sudoers/logging.c:397 plugins/sudoers/sudoers.c:560 #, c-format msgid "" "ignoring \"%s\" found in '.'\n" @@ -2943,165 +3035,125 @@ msgstr "" "忽略在“.”中找到的“%s”\n" "请使用“sudo ./%s”,如果这是您想运行的“%s”。" -#: plugins/sudoers/logging.c:387 +#: plugins/sudoers/logging.c:417 #, c-format msgid "%u incorrect password attempt" msgid_plural "%u incorrect password attempts" msgstr[0] "%u 次错误密码尝试" -#: plugins/sudoers/logging.c:477 +#: plugins/sudoers/logging.c:508 msgid "authentication failure" msgstr "认证失败" -#: plugins/sudoers/logging.c:516 plugins/sudoers/logging.c:535 +#: plugins/sudoers/logging.c:552 plugins/sudoers/logging.c:571 msgid "a password is required" msgstr "需要密码" -#: plugins/sudoers/logging.c:799 plugins/sudoers/logging.c:811 +#: plugins/sudoers/logging.c:889 msgid "problem parsing sudoers" msgstr "解析 sudoers 时出现问题" -#: plugins/sudoers/logging.c:873 plugins/sudoers/logging.c:885 +#: plugins/sudoers/logging.c:930 plugins/sudoers/logging.c:938 #, c-format msgid "%s:%d:%d: %s" msgstr "%s:%d:%d: %s" -#: plugins/sudoers/logging.c:1062 +#: plugins/sudoers/logging.c:1119 #, c-format -msgid "unable to write log file: %s" -msgstr "无法写入日志文件: %s" +msgid "unable to write log file %s" +msgstr "无法写入日志文件 %s" -#: plugins/sudoers/match_digest.c:112 +#: plugins/sudoers/match_digest.c:107 #, c-format msgid "digest for %s (%s) bad length %zu, expected %zu" msgstr "%s(%s) 的摘要具有错误的长度 %zu,期望为 %zu" -#: plugins/sudoers/match_digest.c:131 +#: plugins/sudoers/match_digest.c:126 #, c-format msgid "digest for %s (%s) is not in %s form" msgstr "%s(%s) 的摘要不是 %s 形式" -#: plugins/sudoers/parse.c:591 -#, c-format -msgid "" -"\n" -"LDAP Role: %s\n" -msgstr "" -"\n" -"LDAP 角色:%s\n" - -#: plugins/sudoers/parse.c:594 -msgid "" -"\n" -"Sudoers entry:\n" -msgstr "" -"\n" -"Sudoers 条目:\n" - -#: plugins/sudoers/parse.c:596 -msgid " RunAsUsers: " -msgstr " RunAs 用户:" - -#: plugins/sudoers/parse.c:611 -msgid " RunAsGroups: " -msgstr " RunAs 组:" - -#: plugins/sudoers/parse.c:621 -msgid " Options: " -msgstr " 选项:" - -#: plugins/sudoers/parse.c:685 -msgid " Commands:\n" -msgstr " 命令:\n" - -#: 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:894 -#, c-format -msgid "Runas and Command-specific defaults for %s:\n" -msgstr "%s Runas 和命令特定的默认值:\n" - -#: 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: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:618 +#: plugins/sudoers/parse_ldif.c:615 #, c-format msgid "ignoring incomplete sudoRole: cn: %s" msgstr "将忽略不完整的 sudoRole:cn:%s" -#: plugins/sudoers/parse_ldif.c:678 +#: plugins/sudoers/parse_ldif.c:675 #, c-format msgid "invalid LDIF attribute: %s" msgstr "无效的 LDIF 属性:%s" -#: plugins/sudoers/policy.c:81 plugins/sudoers/policy.c:112 +#: plugins/sudoers/parser_warnx.c:56 +#, c-format +msgid "%s:%d:%d: %s\n" +msgstr "%s:%d:%d: %s\n" + +#: plugins/sudoers/pivot.c:71 +msgid "unable to restore root directory" +msgstr "无法恢复根目录" + +#: plugins/sudoers/pivot.c:79 +msgid "unable to restore current working directory" +msgstr "无法恢复当前工作目录" + +#: plugins/sudoers/policy.c:78 plugins/sudoers/policy.c:111 #, c-format msgid "invalid %.*s set by sudo front-end" msgstr "sudo 前端设置了无效的 %.*s" -#: plugins/sudoers/policy.c:358 plugins/sudoers/testsudoers.c:268 +#: plugins/sudoers/policy.c:347 plugins/sudoers/testsudoers.c:329 msgid "unable to parse network address list" msgstr "无法解析网络地址列表" -#: plugins/sudoers/policy.c:526 +#: plugins/sudoers/policy.c:555 msgid "user name not set by sudo front-end" msgstr "用户名未通过 sudo 前端设置" -#: plugins/sudoers/policy.c:530 +#: plugins/sudoers/policy.c:559 msgid "user-ID not set by sudo front-end" msgstr "用户 ID 未通过 sudo 前端设置" -#: plugins/sudoers/policy.c:534 +#: plugins/sudoers/policy.c:563 msgid "group-ID not set by sudo front-end" msgstr "组 ID 未通过 sudo 前端设置" -#: plugins/sudoers/policy.c:538 +#: plugins/sudoers/policy.c:567 msgid "host name not set by sudo front-end" msgstr "主机名未通过 sudo 前端设置" -#: plugins/sudoers/policy.c:730 +#: plugins/sudoers/policy.c:765 #, c-format msgid "invalid working directory: %s" msgstr "无效的工作目录:%s" -#: plugins/sudoers/policy.c:914 +#: plugins/sudoers/policy.c:952 #, c-format msgid "invalid chroot directory: %s" msgstr "无法的 chroot 目录:%s" -#: plugins/sudoers/policy.c:1101 plugins/sudoers/visudo.c:259 -#: plugins/sudoers/visudo.c:902 +#: plugins/sudoers/policy.c:1163 plugins/sudoers/visudo.c:919 +#: plugins/sudoers/visudo.c:1218 #, c-format msgid "unable to execute %s" msgstr "无法执行 %s" -#: plugins/sudoers/policy.c:1171 plugins/sudoers/policy.c:1208 -#: plugins/sudoers/policy.c:1230 plugins/sudoers/policy.c:1256 +#: plugins/sudoers/policy.c:1232 plugins/sudoers/policy.c:1267 +#: plugins/sudoers/policy.c:1289 plugins/sudoers/policy.c:1307 #, c-format msgid "%s: invalid mode flags from sudo front end: 0x%x" msgstr "%s:sudo 前端无效的模式标志位:0x%x" -#: plugins/sudoers/policy.c:1292 +#: plugins/sudoers/policy.c:1330 #, c-format msgid "Sudoers policy plugin version %s\n" msgstr "Sudoers 策略插件版本 %s\n" -#: plugins/sudoers/policy.c:1294 +#: plugins/sudoers/policy.c:1332 #, c-format msgid "Sudoers file grammar version %d\n" msgstr "Sudoers 文件语法版本 %d\n" -#: plugins/sudoers/policy.c:1298 +#: plugins/sudoers/policy.c:1336 #, c-format msgid "" "\n" @@ -3110,355 +3162,355 @@ msgstr "" "\n" "Sudoers 路径:%s\n" -#: plugins/sudoers/policy.c:1301 +#: plugins/sudoers/policy.c:1339 #, c-format msgid "nsswitch path: %s\n" msgstr "nsswitch 路径:%s\n" -#: plugins/sudoers/policy.c:1303 +#: plugins/sudoers/policy.c:1342 #, c-format msgid "ldap.conf path: %s\n" msgstr "ldap.conf 路径:%s\n" -#: plugins/sudoers/policy.c:1304 +#: plugins/sudoers/policy.c:1344 #, c-format msgid "ldap.secret path: %s\n" msgstr "ldap.secret 路径:%s\n" -#: plugins/sudoers/policy.c:1337 +#: plugins/sudoers/policy.c:1377 #, c-format msgid "unable to register hook of type %d (version %d.%d)" msgstr "无法注册类型为 %d 的钩子(hook)(版本 %d.%d)" -#: plugins/sudoers/policy.c:1355 +#: plugins/sudoers/policy.c:1395 #, c-format msgid "unable to deregister hook of type %d (version %d.%d)" msgstr "无法取消注册类型为 %d 的钩子(hook)(版本 %d.%d)" -#: plugins/sudoers/pwutil.c:222 plugins/sudoers/pwutil.c:240 +#: plugins/sudoers/pwutil.c:242 plugins/sudoers/pwutil.c:260 #, c-format msgid "unable to cache uid %u" msgstr "无法缓存用户 ID %u" -#: plugins/sudoers/pwutil.c:234 +#: plugins/sudoers/pwutil.c:254 #, c-format msgid "unable to cache uid %u, already exists" msgstr "无法缓存用户 ID %u,已存在" -#: plugins/sudoers/pwutil.c:294 plugins/sudoers/pwutil.c:312 -#: plugins/sudoers/pwutil.c:375 plugins/sudoers/pwutil.c:420 +#: plugins/sudoers/pwutil.c:314 plugins/sudoers/pwutil.c:332 +#: plugins/sudoers/pwutil.c:395 plugins/sudoers/pwutil.c:440 #, c-format msgid "unable to cache user %s" msgstr "无法缓存用户 %s" -#: plugins/sudoers/pwutil.c:307 +#: plugins/sudoers/pwutil.c:327 #, c-format msgid "unable to cache user %s, already exists" msgstr "无法缓存用户 %s,已存在" -#: plugins/sudoers/pwutil.c:539 plugins/sudoers/pwutil.c:557 +#: plugins/sudoers/pwutil.c:559 plugins/sudoers/pwutil.c:577 #, c-format msgid "unable to cache gid %u" msgstr "无法缓存组 ID %u" -#: plugins/sudoers/pwutil.c:551 +#: plugins/sudoers/pwutil.c:571 #, c-format msgid "unable to cache gid %u, already exists" msgstr "无法缓存组 ID %u,已存在" -#: plugins/sudoers/pwutil.c:605 plugins/sudoers/pwutil.c:623 -#: plugins/sudoers/pwutil.c:684 plugins/sudoers/pwutil.c:733 +#: plugins/sudoers/pwutil.c:625 plugins/sudoers/pwutil.c:643 +#: plugins/sudoers/pwutil.c:704 plugins/sudoers/pwutil.c:753 #, c-format msgid "unable to cache group %s" msgstr "无法缓存组 %s" -#: plugins/sudoers/pwutil.c:618 +#: plugins/sudoers/pwutil.c:638 #, c-format msgid "unable to cache group %s, already exists" msgstr "无法缓存组 %s,已存在" -#: plugins/sudoers/pwutil.c:880 plugins/sudoers/pwutil.c:931 -#: plugins/sudoers/pwutil.c:981 plugins/sudoers/pwutil.c:1033 +#: plugins/sudoers/pwutil.c:900 plugins/sudoers/pwutil.c:988 +#: plugins/sudoers/pwutil.c:1042 plugins/sudoers/pwutil.c:1101 #, c-format msgid "unable to cache group list for %s, already exists" msgstr "无法缓存组列表 %s,已存在" -#: plugins/sudoers/pwutil.c:886 plugins/sudoers/pwutil.c:936 -#: plugins/sudoers/pwutil.c:987 plugins/sudoers/pwutil.c:1038 +#: plugins/sudoers/pwutil.c:906 plugins/sudoers/pwutil.c:993 +#: plugins/sudoers/pwutil.c:1048 plugins/sudoers/pwutil.c:1106 #, c-format msgid "unable to cache group list for %s" msgstr "无法缓存组列表 %s" -#: plugins/sudoers/pwutil.c:925 +#: plugins/sudoers/pwutil.c:982 #, c-format msgid "unable to parse groups for %s" msgstr "无法对 %s 解析组" -#: plugins/sudoers/pwutil.c:1027 +#: plugins/sudoers/pwutil.c:1095 #, c-format msgid "unable to parse gids for %s" msgstr "无法解析 %s 的组 ID" -#: 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 +#: plugins/sudoers/set_perms.c:120 plugins/sudoers/set_perms.c:457 +#: plugins/sudoers/set_perms.c:870 plugins/sudoers/set_perms.c:1186 +#: plugins/sudoers/set_perms.c:1490 msgid "perm stack overflow" 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 -#: 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 +#: plugins/sudoers/set_perms.c:131 plugins/sudoers/set_perms.c:387 +#: plugins/sudoers/set_perms.c:468 plugins/sudoers/set_perms.c:736 +#: plugins/sudoers/set_perms.c:881 plugins/sudoers/set_perms.c:1109 +#: plugins/sudoers/set_perms.c:1197 plugins/sudoers/set_perms.c:1422 +#: plugins/sudoers/set_perms.c:1501 plugins/sudoers/set_perms.c:1592 msgid "perm stack underflow" 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 +#: plugins/sudoers/set_perms.c:191 plugins/sudoers/set_perms.c:515 +#: plugins/sudoers/set_perms.c:1251 plugins/sudoers/set_perms.c:1535 msgid "unable to change to root gid" msgstr "无法切换为 root 组 ID" -#: plugins/sudoers/set_perms.c:276 plugins/sudoers/set_perms.c:600 -#: plugins/sudoers/set_perms.c:995 plugins/sudoers/set_perms.c:1304 +#: plugins/sudoers/set_perms.c:282 plugins/sudoers/set_perms.c:612 +#: plugins/sudoers/set_perms.c:1013 plugins/sudoers/set_perms.c:1328 msgid "unable to change to runas gid" msgstr "无法切换为 runas 组 ID" -#: plugins/sudoers/set_perms.c:281 plugins/sudoers/set_perms.c:605 -#: plugins/sudoers/set_perms.c:1000 plugins/sudoers/set_perms.c:1309 +#: plugins/sudoers/set_perms.c:287 plugins/sudoers/set_perms.c:617 +#: plugins/sudoers/set_perms.c:1018 plugins/sudoers/set_perms.c:1333 msgid "unable to set runas group vector" msgstr "无法设置 runas 组向量" -#: plugins/sudoers/set_perms.c:292 plugins/sudoers/set_perms.c:616 -#: plugins/sudoers/set_perms.c:1009 plugins/sudoers/set_perms.c:1318 +#: plugins/sudoers/set_perms.c:298 plugins/sudoers/set_perms.c:628 +#: plugins/sudoers/set_perms.c:1027 plugins/sudoers/set_perms.c:1342 msgid "unable to change to runas uid" msgstr "无法切换为 runas 用户 ID" -#: plugins/sudoers/set_perms.c:310 plugins/sudoers/set_perms.c:634 -#: plugins/sudoers/set_perms.c:1025 plugins/sudoers/set_perms.c:1334 +#: plugins/sudoers/set_perms.c:320 plugins/sudoers/set_perms.c:650 +#: plugins/sudoers/set_perms.c:1047 plugins/sudoers/set_perms.c:1362 msgid "unable to change to sudoers gid" msgstr "无法切换为 sudoers 组 ID" -#: 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/set_perms.c:374 plugins/sudoers/set_perms.c:723 +#: plugins/sudoers/set_perms.c:1096 plugins/sudoers/set_perms.c:1409 +#: plugins/sudoers/set_perms.c:1579 msgid "too many processes" msgstr "进程过多" -#: plugins/sudoers/solaris_audit.c:61 +#: plugins/sudoers/solaris_audit.c:62 msgid "unable to get current working directory" msgstr "无法获取当前工作目录" -#: plugins/sudoers/solaris_audit.c:69 -#, c-format -msgid "truncated audit path user_cmnd: %s" +#: plugins/sudoers/solaris_audit.c:70 +#, fuzzy, c-format +#| msgid "truncated audit path user_cmnd: %s" +msgid "truncated audit path ctx->user.cmnd: %s" msgstr "截断的审核路径 user_cmnd:%s" -#: plugins/sudoers/solaris_audit.c:76 +#: plugins/sudoers/solaris_audit.c:77 #, c-format msgid "truncated audit path argv[0]: %s" msgstr "截断的审核路径 argv[0]:%s" -#: plugins/sudoers/sssd.c:579 +#: plugins/sudoers/sssd.c:581 msgid "unable to initialize SSS source. Is SSSD installed on your machine?" msgstr "无法初始化 SSS 资源。您的计算机上安装 SSSD 了吗?" -#: 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 +#: plugins/sudoers/sssd.c:589 plugins/sudoers/sssd.c:598 +#: plugins/sudoers/sssd.c:607 plugins/sudoers/sssd.c:616 +#: plugins/sudoers/sssd.c:625 #, c-format msgid "unable to find symbol \"%s\" in %s" msgstr "无法在 %s 中找到符号“%s”" -#: plugins/sudoers/sudoers.c:263 +#: plugins/sudoers/sudoers.c:250 #, fuzzy, c-format #| msgid "unable to parse gids for %s" msgid "unable to get defaults from %s" msgstr "无法解析 %s 的组 ID" -#: plugins/sudoers/sudoers.c:270 +#: plugins/sudoers/sudoers.c:259 msgid "no valid sudoers sources found, quitting" msgstr "没有找到有效的 sudoers 资源,退出" -#: plugins/sudoers/sudoers.c:346 -#, c-format -msgid "user not allowed to change root directory to %s" -msgstr "用户不允许将根目录设置为 %s" - -#: plugins/sudoers/sudoers.c:348 -#, c-format -msgid "you are not permitted to use the -R option with %s" -msgstr "您无权和 %s 一起使用 -R 选项" - -#: plugins/sudoers/sudoers.c:373 -#, c-format -msgid "user not allowed to change directory to %s" -msgstr "用户不允许将目录变更为 %s" - -#: plugins/sudoers/sudoers.c:374 -#, c-format -msgid "you are not permitted to use the -D option with %s" -msgstr "您无权和 %s 一起使用 -D 选项" - -#: plugins/sudoers/sudoers.c:401 -msgid "no command specified" -msgstr "未指定命令" - -#: plugins/sudoers/sudoers.c:426 +#: plugins/sudoers/sudoers.c:366 msgid "sudoers specifies that root is not allowed to sudo" msgstr "sudoers 指定 root 不允许执行 sudo" -#: plugins/sudoers/sudoers.c:476 +#: plugins/sudoers/sudoers.c:375 msgid "user not allowed to override closefrom limit" msgstr "" -#: plugins/sudoers/sudoers.c:477 +#: plugins/sudoers/sudoers.c:376 msgid "you are not permitted to use the -C option" msgstr "您无权使用 -C 选项" -#: plugins/sudoers/sudoers.c:537 -#, c-format -msgid "timestamp owner (%s): No such user" -msgstr "时间戳所有者(%s):无此用户" - -#: plugins/sudoers/sudoers.c:552 +#: plugins/sudoers/sudoers.c:440 msgid "no tty" msgstr "无终端" -#: plugins/sudoers/sudoers.c:553 +#: plugins/sudoers/sudoers.c:441 msgid "sorry, you must have a tty to run sudo" msgstr "抱歉,您必须拥有一个终端来执行 sudo" -#: plugins/sudoers/sudoers.c:560 +#: plugins/sudoers/sudoers.c:449 #, c-format msgid "invalid shell for user %s: %s" msgstr "用户 %s 的无效 shell:%s" -#: plugins/sudoers/sudoers.c:643 +#: plugins/sudoers/sudoers.c:491 +#, c-format +msgid "user not allowed to change root directory to %s" +msgstr "用户不允许将根目录设置为 %s" + +#: plugins/sudoers/sudoers.c:493 +#, c-format +msgid "you are not permitted to use the -R option with %s" +msgstr "您无权和 %s 一起使用 -R 选项" + +#: plugins/sudoers/sudoers.c:506 +#, c-format +msgid "user not allowed to change directory to %s" +msgstr "用户不允许将目录变更为 %s" + +#: plugins/sudoers/sudoers.c:507 +#, c-format +msgid "you are not permitted to use the -D option with %s" +msgstr "您无权和 %s 一起使用 -D 选项" + +#: plugins/sudoers/sudoers.c:559 msgid "command in current directory" msgstr "当前目录中的命令" -#: plugins/sudoers/sudoers.c:658 +#: plugins/sudoers/sudoers.c:574 msgid "\"cd\" is a shell built-in command, it cannot be run directly." msgstr "“cd”是 shell 内置命令,它无法直接运行。" -#: plugins/sudoers/sudoers.c:660 +#: plugins/sudoers/sudoers.c:576 msgid "the -s option may be used to run a privileged shell." msgstr "-s 选项必须在特权 shell 中使用。" -#: plugins/sudoers/sudoers.c:662 +#: plugins/sudoers/sudoers.c:578 msgid "the -D option may be used to run a command in a specific directory." -msgstr "" +msgstr "-D 选项可被用来在特定的目录中运行命令。" -#: plugins/sudoers/sudoers.c:671 +#: plugins/sudoers/sudoers.c:587 msgid "user not allowed to set a command timeout" msgstr "不允许用户设置超时时间" -#: plugins/sudoers/sudoers.c:673 +#: plugins/sudoers/sudoers.c:589 msgid "sorry, you are not allowed set a command timeout" msgstr "抱歉,您无权设置超时时间" -#: plugins/sudoers/sudoers.c:681 +#: plugins/sudoers/sudoers.c:597 msgid "user not allowed to preserve the environment" msgstr "不允许用户保留环境" -#: plugins/sudoers/sudoers.c:683 +#: plugins/sudoers/sudoers.c:599 msgid "sorry, you are not allowed to preserve the environment" msgstr "抱歉,您无权保留环境" -#: plugins/sudoers/sudoers.c:1073 +#: plugins/sudoers/sudoers.c:635 +msgid "no command specified" +msgstr "未指定命令" + +#: plugins/sudoers/sudoers.c:776 +msgid "error setting user-specified environment variables" +msgstr "设置用户指定的环境变量出错" + +#: plugins/sudoers/sudoers.c:1229 msgid "sudoedit doesn't need to be run via sudo" msgstr "sudoedit 无需经由 sudo 运行" -#: plugins/sudoers/sudoers.c:1118 plugins/sudoers/sudoreplay.c:1584 -#: plugins/sudoers/tsdump.c:138 +#: plugins/sudoers/sudoers.c:1314 plugins/sudoers/sudoreplay.c:1615 +#: plugins/sudoers/tsdump.c:151 #, c-format msgid "unable to read %s" msgstr "无法读取 %s" -#: plugins/sudoers/sudoers.c:1147 plugins/sudoers/visudo.c:1064 +#: plugins/sudoers/sudoers.c:1339 plugins/sudoers/visudo.c:1123 #, c-format msgid "%s is not a regular file" msgstr "%s 不是常规文件" -#: plugins/sudoers/sudoers.c:1151 plugins/sudoers/timestamp.c:263 toke.l:1247 +#: plugins/sudoers/sudoers.c:1343 plugins/sudoers/timestamp.c:272 toke.l:1335 #, c-format msgid "%s is owned by uid %u, should be %u" msgstr "%s 属于用户 ID %u,应为 %u" -#: plugins/sudoers/sudoers.c:1155 plugins/sudoers/timestamp.c:270 toke.l:1252 +#: plugins/sudoers/sudoers.c:1348 plugins/sudoers/timestamp.c:279 toke.l:1340 #, c-format msgid "%s is world writable" msgstr "%s 可被任何人写" -#: plugins/sudoers/sudoers.c:1159 plugins/sudoers/timestamp.c:275 toke.l:1255 +#: plugins/sudoers/sudoers.c:1352 plugins/sudoers/timestamp.c:284 toke.l:1343 #, c-format msgid "%s is owned by gid %u, should be %u" msgstr "%s 属于组 ID %u,应为 %u" -#: plugins/sudoers/sudoers.c:1194 +#: plugins/sudoers/sudoers.c:1381 #, c-format msgid "only root can use \"-c %s\"" msgstr "只有 root 才能使用“-c %s”" -#: plugins/sudoers/sudoers.c:1213 +#: plugins/sudoers/sudoers.c:1400 #, c-format msgid "unknown login class %s" msgstr "未知的登录类别 %s" -#: plugins/sudoers/sudoers.c:1300 plugins/sudoers/sudoers.c:1315 +#: plugins/sudoers/sudoers_cb.c:120 plugins/sudoers/sudoers_cb.c:135 #, c-format msgid "unable to resolve host %s" msgstr "无法解析主机:%s" -#: plugins/sudoers/sudoreplay.c:259 +#: plugins/sudoers/sudoreplay.c:252 #, c-format msgid "invalid filter option: %s" msgstr "无效的过滤器选项:%s" -#: plugins/sudoers/sudoreplay.c:275 +#: plugins/sudoers/sudoreplay.c:268 #, c-format msgid "invalid max wait: %s" msgstr "无效的最大等待:%s" -#: plugins/sudoers/sudoreplay.c:298 +#: plugins/sudoers/sudoreplay.c:291 #, c-format msgid "invalid speed factor: %s" msgstr "无法的速度系数:%s" -#: plugins/sudoers/sudoreplay.c:333 +#: plugins/sudoers/sudoreplay.c:326 #, c-format msgid "invalid time offset %s" msgstr "无效的时间偏移量 %s" -#: plugins/sudoers/sudoreplay.c:342 +#: plugins/sudoers/sudoreplay.c:335 #, c-format msgid "%s/%.2s/%.2s/%.2s: %s" msgstr "%s/%.2s/%.2s/%.2s: %s" -#: plugins/sudoers/sudoreplay.c:347 +#: plugins/sudoers/sudoreplay.c:340 #, c-format msgid "%s/timing: %s" msgstr "%s/时序:%s" -#: plugins/sudoers/sudoreplay.c:375 +#: plugins/sudoers/sudoreplay.c:368 #, c-format msgid "Replaying sudo session: %s" msgstr "回放 sudo 会话:%s" -#: plugins/sudoers/sudoreplay.c:637 +#: plugins/sudoers/sudoreplay.c:633 plugins/sudoers/sudoreplay.c:636 msgid "unable to set tty to raw mode" msgstr "无法将终端设为原始模式" -#: plugins/sudoers/sudoreplay.c:688 -msgid "Warning: your terminal is too small to properly replay the log.\n" -msgstr "警告:您的终端尺寸太小,不能正常地回放日志。\n" +#: plugins/sudoers/sudoreplay.c:687 +msgid "Warning: your terminal is too small to properly replay the log." +msgstr "警告:您的终端尺寸太小,不能正常地回放日志。" -#: plugins/sudoers/sudoreplay.c:689 +#: plugins/sudoers/sudoreplay.c:688 #, c-format msgid "Log geometry is %d x %d, your terminal's geometry is %d x %d." msgstr "日志的几何尺寸为 %dx%d,您终端的几何尺寸为 %dx%d。" -#: plugins/sudoers/sudoreplay.c:717 +#: plugins/sudoers/sudoreplay.c:716 msgid "Replay finished, press any key to restore the terminal." msgstr "回放完成,请按任意键返回终端。" @@ -3498,22 +3550,22 @@ msgstr "非法的结尾字符“or”" msgid "illegal trailing \"!\"" msgstr "非法的结尾字符“!”" -#: plugins/sudoers/sudoreplay.c:1371 +#: plugins/sudoers/sudoreplay.c:1419 #, c-format msgid "unknown search type %d" msgstr "未知的搜索类型 %d" -#: plugins/sudoers/sudoreplay.c:1650 +#: plugins/sudoers/sudoreplay.c:1681 #, 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:1652 +#: plugins/sudoers/sudoreplay.c:1683 #, c-format msgid "usage: %s [-h] [-d dir] -l [search expression]\n" msgstr "用法:%s [-h] [-d 目录] -l [搜索表达式]\n" -#: plugins/sudoers/sudoreplay.c:1666 +#: plugins/sudoers/sudoreplay.c:1697 #, c-format msgid "" "%s - replay sudo session logs\n" @@ -3522,7 +3574,7 @@ msgstr "" "%s - 回放 sudo 会话记录\n" "\n" -#: plugins/sudoers/sudoreplay.c:1668 +#: plugins/sudoers/sudoreplay.c:1699 msgid "" "\n" "Options:\n" @@ -3550,11 +3602,32 @@ msgstr "" " -s, --speed=数值 加速或减慢输出\n" " -V, --version 显示版本信息并退出" -#: plugins/sudoers/testsudoers.c:344 -msgid "\thost unmatched" -msgstr "\t主机不匹配" +#: plugins/sudoers/testsudoers.c:392 +#, c-format +msgid "" +"\n" +"Invalid shell for user %s: %s\n" +msgstr "" +"\n" +"用户 %s 的无效 shell:%s\n" -#: plugins/sudoers/testsudoers.c:347 +#: plugins/sudoers/testsudoers.c:411 +msgid "" +"\n" +"Password required" +msgstr "" +"\n" +"需要密码" + +#: plugins/sudoers/testsudoers.c:422 +msgid "" +"\n" +"Parse error" +msgstr "" +"\n" +"解析错误" + +#: plugins/sudoers/testsudoers.c:425 msgid "" "\n" "Command allowed" @@ -3562,7 +3635,7 @@ msgstr "" "\n" "命令允许" -#: plugins/sudoers/testsudoers.c:348 +#: plugins/sudoers/testsudoers.c:428 msgid "" "\n" "Command denied" @@ -3570,7 +3643,7 @@ msgstr "" "\n" "命令被拒" -#: plugins/sudoers/testsudoers.c:348 +#: plugins/sudoers/testsudoers.c:431 msgid "" "\n" "Command unmatched" @@ -3578,122 +3651,120 @@ msgstr "" "\n" "命令不匹配" -#: plugins/sudoers/timestamp.c:354 plugins/sudoers/timestamp.c:693 +#: plugins/sudoers/timestamp.c:364 plugins/sudoers/timestamp.c:714 #, c-format msgid "unable to truncate time stamp file to %lld bytes" msgstr "无法将时间戳文件截短为 %lld 字节" -#: plugins/sudoers/timestamp.c:890 +#: plugins/sudoers/timestamp.c:911 msgid "ignoring time stamp from the future" msgstr "将忽略超前的时间戳" -#: plugins/sudoers/timestamp.c:913 +#: plugins/sudoers/timestamp.c:934 #, c-format msgid "time stamp too far in the future: %20.20s" msgstr "时间戳太超前:%20.20s" -#: plugins/sudoers/timestamp.c:1042 +#: plugins/sudoers/timestamp.c:1070 #, c-format msgid "unable to lock time stamp file %s" msgstr "无法锁定时间戳文件 %s" -#: plugins/sudoers/toke_util.c:156 +#: plugins/sudoers/timestamp.c:1117 +#, fuzzy, c-format +#| msgid "%s:%d:%d: unknown defaults entry \"%s\"" +msgid "%s:%d:%d timestampowner: unknown user %s" +msgstr "%s:%d:%d:未知的默认条目“%s”" + +#: plugins/sudoers/toke_util.c:159 msgid "sudoedit should not be specified with a path" msgstr "不应当带路径调用 sudoedit" -#: plugins/sudoers/visudo.c:254 -msgid "the -x option will be removed in a future release" -msgstr "未来版本中 -x 选项会移除" - -#: plugins/sudoers/visudo.c:256 -msgid "please consider using the cvtsudoers utility instead" -msgstr "请考虑换用 cvtsudoers 工具" - -#: plugins/sudoers/visudo.c:311 plugins/sudoers/visudo.c:698 +#: plugins/sudoers/visudo.c:308 plugins/sudoers/visudo.c:714 #, c-format msgid "press return to edit %s: " msgstr "按回车键编辑 %s:" -#: plugins/sudoers/visudo.c:326 +#: plugins/sudoers/visudo.c:323 #, c-format msgid "contents of edit session left in %s" msgstr "" -#: plugins/sudoers/visudo.c:402 +#: plugins/sudoers/visudo.c:401 #, c-format msgid "specified editor (%s) doesn't exist" msgstr "指定的编辑器(%s)不存在" -#: plugins/sudoers/visudo.c:404 +#: plugins/sudoers/visudo.c:406 #, c-format msgid "no editor found (editor path = %s)" msgstr "未找到编辑器(编辑器路径 = %s)" -#: plugins/sudoers/visudo.c:491 plugins/sudoers/visudo.c:770 +#: plugins/sudoers/visudo.c:494 plugins/sudoers/visudo.c:786 #, c-format msgid "unable to stat %s" msgstr "无法 stat %s" -#: plugins/sudoers/visudo.c:511 plugins/sudoers/visudo.c:519 +#: plugins/sudoers/visudo.c:514 plugins/sudoers/visudo.c:522 msgid "write error" msgstr "写错误" -#: plugins/sudoers/visudo.c:565 +#: plugins/sudoers/visudo.c:568 #, c-format msgid "unable to stat temporary file (%s), %s unchanged" msgstr "无法 stat 临时文件(%s),%s 未更改" -#: plugins/sudoers/visudo.c:572 +#: plugins/sudoers/visudo.c:575 #, c-format msgid "zero length temporary file (%s), %s unchanged" msgstr "零长度的临时文件(%s),%s 未更改" -#: plugins/sudoers/visudo.c:578 +#: plugins/sudoers/visudo.c:581 #, c-format msgid "editor (%s) failed, %s unchanged" msgstr "编辑器(%s)失败,%s 未更改" -#: plugins/sudoers/visudo.c:600 +#: plugins/sudoers/visudo.c:613 #, c-format msgid "%s unchanged" msgstr "%s 未更改" -#: plugins/sudoers/visudo.c:645 +#: plugins/sudoers/visudo.c:661 #, c-format msgid "unable to re-open temporary file (%s), %s unchanged." msgstr "无法重新打开临时文件(%s),%s 未更改。" -#: plugins/sudoers/visudo.c:658 +#: plugins/sudoers/visudo.c:674 #, c-format msgid "unable to parse temporary file (%s), unknown error" msgstr "无法解析临时文件(%s),未知错误" -#: plugins/sudoers/visudo.c:744 plugins/sudoers/visudo.c:774 -#: plugins/sudoers/visudo.c:781 +#: plugins/sudoers/visudo.c:760 plugins/sudoers/visudo.c:790 +#: plugins/sudoers/visudo.c:797 #, c-format msgid "unable to set (uid, gid) of %s to (%u, %u)" msgstr "无法将 %s 的 (uid, gid) 设为 (%u, %u)" -#: plugins/sudoers/visudo.c:809 +#: plugins/sudoers/visudo.c:825 #, c-format msgid "%s and %s not on the same file system, using mv to rename" msgstr "%s 和 %s 不在同一个文件系统,使用 mv 进行重命名" -#: plugins/sudoers/visudo.c:820 +#: plugins/sudoers/visudo.c:836 #, c-format msgid "command failed: '%s %s %s', %s unchanged" msgstr "命令失败:“%s %s %s”,%s 未更改" -#: plugins/sudoers/visudo.c:827 +#: plugins/sudoers/visudo.c:843 #, c-format msgid "error renaming %s, %s unchanged" msgstr "重命名 %s 出错,%s 未更改" -#: plugins/sudoers/visudo.c:847 +#: plugins/sudoers/visudo.c:864 msgid "What now? " msgstr "现在做什么?" -#: plugins/sudoers/visudo.c:861 +#: plugins/sudoers/visudo.c:878 msgid "" "Options are:\n" " (e)dit sudoers file again\n" @@ -3705,41 +3776,49 @@ msgstr "" " 退出,不保存对 sudoers 文件的更改(x)\n" " 退出并将更改保存到 sudoers 文件(危险!)(Q)\n" -#: plugins/sudoers/visudo.c:907 +#: plugins/sudoers/visudo.c:923 #, c-format msgid "unable to run %s" msgstr "无法运行 %s" -#: plugins/sudoers/visudo.c:938 +#: plugins/sudoers/visudo.c:954 #, c-format msgid "%s: wrong owner (uid, gid) should be (%u, %u)\n" msgstr "%s:错误的所有者(uid, gid),应为 (%u, %u)\n" -#: plugins/sudoers/visudo.c:949 +#: plugins/sudoers/visudo.c:965 #, c-format msgid "%s: bad permissions, should be mode 0%o\n" msgstr "%s:权限不正确,模式应该是 0%o\n" -#: plugins/sudoers/visudo.c:997 plugins/sudoers/visudo.c:1004 +#: plugins/sudoers/visudo.c:1017 plugins/sudoers/visudo.c:1024 #, c-format msgid "%s: parsed OK\n" msgstr "%s:解析正确\n" -#: plugins/sudoers/visudo.c:1023 +#: plugins/sudoers/visudo.c:1043 #, c-format msgid "%s busy, try again later" msgstr "%s 忙,请稍后重试" -#: plugins/sudoers/visudo.c:1027 +#: plugins/sudoers/visudo.c:1047 msgid "Edit anyway? [y/N]" msgstr "仍然编辑?[y/N]" -#: plugins/sudoers/visudo.c:1128 +#: plugins/sudoers/visudo.c:1206 +msgid "the -x option will be removed in a future release" +msgstr "未来版本中 -x 选项会移除" + +#: plugins/sudoers/visudo.c:1208 +msgid "please consider using the cvtsudoers utility instead" +msgstr "请考虑换用 cvtsudoers 工具" + +#: plugins/sudoers/visudo.c:1228 #, c-format msgid "Warning: %s:%d:%d: unused %s \"%s\"" msgstr "警告:%s:%d:%d:未使用的 %s“%s”" -#: plugins/sudoers/visudo.c:1240 +#: plugins/sudoers/visudo.c:1341 #, c-format msgid "" "%s - safely edit the sudoers file\n" @@ -3748,7 +3827,7 @@ msgstr "" "%s - 安全地编辑 sudoers 文件\n" "\n" -#: plugins/sudoers/visudo.c:1242 +#: plugins/sudoers/visudo.c:1343 msgid "" "\n" "Options:\n" @@ -3770,40 +3849,63 @@ msgstr "" " -s, --strict 严格语法检查\n" " -V, --version 显示版本信息并退出\n" -#: toke.l:189 +#: toke.l:184 msgid "empty string" msgstr "空字符串" -#: toke.l:201 toke.l:571 +#: toke.l:196 toke.l:566 msgid "empty group" msgstr "空组" -#: toke.l:211 toke.l:569 +#: toke.l:206 toke.l:564 msgid "empty netgroup" msgstr "" -#: toke.l:289 +#: toke.l:284 msgid "unterminated regular expression" msgstr "未结束的正则表达式" -#: toke.l:363 toke.l:375 toke.l:387 toke.l:403 toke.l:422 toke.l:462 +#: toke.l:358 toke.l:370 toke.l:382 toke.l:398 toke.l:417 toke.l:457 #, fuzzy #| msgid "invalid authentication type" msgid "invalid line continuation" msgstr "无效的认证类型" -#: toke.l:608 toke.l:620 +#: toke.l:603 toke.l:615 msgid "invalid IPv6 address" msgstr "无效的 IPv6 地址" -#: toke.l:868 +#: toke.l:843 msgid "unexpected line break in string" msgstr "字符串中未预期的换行" -#: toke.l:1218 +#: toke.l:962 +msgid "ignoring editor backup file" +msgstr "将忽略编辑器备份文件" + +#: toke.l:965 +msgid "ignoring file name containing '.'" +msgstr "将忽略包含“.”字符的文件名" + +#: toke.l:1290 msgid "too many levels of includes" msgstr "include 嵌套层数过多" +#, c-format +#~ msgid "%s must be owned by uid %d" +#~ msgstr "%s 必须属于用户 ID %d" + +#, c-format +#~ msgid "%s must only be writable by owner" +#~ msgstr "%s 必须只对所有者可写" + +#, c-format +#~ msgid "timestamp owner (%s): No such user" +#~ msgstr "时间戳所有者(%s):无此用户" + +#~ msgid "\thost unmatched" +#~ msgstr "\t主机不匹配" + #~ msgid "Error: %s:%d:%d: cycle in %s \"%s\"" #~ msgstr "错误:%s:%d:%d 在 %s “%s”中循环" @@ -3877,9 +3979,6 @@ msgstr "include 嵌套层数过多" #~ msgid "lecture status path too long: %s/%s" #~ msgstr "致辞(lecture)状态路径过长:%s/%s" -#~ 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" diff --git a/plugins/sudoers/policy.c b/plugins/sudoers/policy.c index ac05dcfdc..20f67a1c6 100644 --- a/plugins/sudoers/policy.c +++ b/plugins/sudoers/policy.c @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: ISC * - * Copyright (c) 2010-2023 Todd C. Miller + * Copyright (c) 2010-2024 Todd C. Miller * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -119,11 +119,6 @@ sudoers_policy_deserialize_info(struct sudoers_context *ctx, void *v, } \ } while (0) - if (sudo_gettime_real(&ctx->submit_time) == -1) { - sudo_warn("%s", U_("unable to get time of day")); - goto bad; - } - /* Parse sudo.conf plugin args. */ if (info->plugin_args != NULL) { for (cur = info->plugin_args; *cur != NULL; cur++) { @@ -237,7 +232,7 @@ sudoers_policy_deserialize_info(struct sudoers_context *ctx, void *v, continue; } if (MATCHES(*cur, "prompt=")) { - /* Allow epmpty prompt. */ + /* Allow empty prompt. */ ctx->user.prompt = *cur + sizeof("prompt=") - 1; if (!append_default("passprompt_override", NULL, true, NULL, defaults)) goto oom; @@ -322,7 +317,6 @@ sudoers_policy_deserialize_info(struct sudoers_context *ctx, void *v, goto bad; continue; } -#ifdef HAVE_SELINUX if (MATCHES(*cur, "selinux_role=")) { CHECK(*cur, "selinux_role="); free(ctx->runas.role); @@ -339,17 +333,6 @@ sudoers_policy_deserialize_info(struct sudoers_context *ctx, void *v, goto oom; continue; } -#endif /* HAVE_SELINUX */ -#ifdef HAVE_APPARMOR - if (MATCHES(*cur, "apparmor_profile=")) { - CHECK(*cur, "apparmor_profile="); - free(ctx->runas.apparmor_profile); - ctx->runas.apparmor_profile = strdup(*cur + sizeof("apparmor_profile=") - 1); - if (ctx->runas.apparmor_profile == NULL) - goto oom; - continue; - } -#endif /* HAVE_APPARMOR */ #ifdef HAVE_BSD_AUTH_H if (MATCHES(*cur, "bsdauth_type=")) { CHECK(*cur, "bsdauth_type="); @@ -415,6 +398,7 @@ sudoers_policy_deserialize_info(struct sudoers_context *ctx, void *v, ctx->user.gid = (gid_t)-1; ctx->user.uid = (gid_t)-1; ctx->user.umask = (mode_t)-1; + ctx->user.ttydev = (dev_t)-1; for (cur = info->user_info; *cur != NULL; cur++) { if (MATCHES(*cur, "user=")) { CHECK(*cur, "user="); @@ -481,6 +465,24 @@ sudoers_policy_deserialize_info(struct sudoers_context *ctx, void *v, ctx->user.tty += sizeof(_PATH_DEV) - 1; continue; } + if (MATCHES(*cur, "ttydev=")) { + long long llval; + + /* + * dev_t can be signed or unsigned. The front-end formats it + * as long long (signed). We allow the full range of values + * which should work with either signed or unsigned dev_t. + */ + p = *cur + sizeof("ttydev=") - 1; + llval = sudo_strtonum(p, LLONG_MIN, LLONG_MAX, &errstr); + if (errstr != NULL) { + /* Front end bug? Not a fatal error. */ + INVALID("ttydev="); + continue; + } + ctx->user.ttydev = (dev_t)llval; + continue; + } if (MATCHES(*cur, "host=")) { CHECK(*cur, "host="); host = *cur + sizeof("host=") - 1; @@ -594,6 +596,15 @@ sudoers_policy_deserialize_info(struct sudoers_context *ctx, void *v, } } + /* ttydev is only set in user_info[] for API 1.22 and above. */ + if (ctx->user.ttydev == (dev_t)-1 && ctx->user.ttypath != NULL) { + struct stat sb; + if (stat(ctx->user.ttypath, &sb) == 0) + ctx->user.ttydev = sb.st_rdev; + else + sudo_warn("%s", ctx->user.ttypath); + } + /* umask is only set in user_info[] for API 1.10 and above. */ if (ctx->user.umask == (mode_t)-1) { ctx->user.umask = umask(0); @@ -1020,7 +1031,6 @@ sudoers_policy_store_result(struct sudoers_context *ctx, bool accepted, goto oom; } #endif /* HAVE_LOGIN_CAP_H */ -#ifdef HAVE_SELINUX if (def_selinux && ctx->runas.role != NULL) { if ((command_info[info_len++] = sudo_new_key_val("selinux_role", ctx->runas.role)) == NULL) goto oom; @@ -1029,14 +1039,10 @@ sudoers_policy_store_result(struct sudoers_context *ctx, bool accepted, if ((command_info[info_len++] = sudo_new_key_val("selinux_type", ctx->runas.type)) == NULL) goto oom; } -#endif /* HAVE_SELINUX */ -#ifdef HAVE_APPARMOR - if (ctx->runas.apparmor_profile != NULL) { - if ((command_info[info_len++] = sudo_new_key_val("apparmor_profile", ctx->runas.apparmor_profile)) == NULL) - goto oom; - } -#endif /* HAVE_APPARMOR */ -#ifdef HAVE_PRIV_SET + if (ctx->runas.apparmor_profile != NULL) { + if ((command_info[info_len++] = sudo_new_key_val("apparmor_profile", ctx->runas.apparmor_profile)) == NULL) + goto oom; + } if (ctx->runas.privs != NULL) { if ((command_info[info_len++] = sudo_new_key_val("runas_privs", ctx->runas.privs)) == NULL) goto oom; @@ -1045,7 +1051,14 @@ sudoers_policy_store_result(struct sudoers_context *ctx, bool accepted, if ((command_info[info_len++] = sudo_new_key_val("runas_limitprivs", ctx->runas.limitprivs)) == NULL) goto oom; } -#endif /* HAVE_PRIV_SET */ + + /* Set command start time (monotonic) for the first accepted command. */ + if (accepted && !ISSET(ctx->mode, MODE_POLICY_INTERCEPTED)) { + if (sudo_gettime_awake(&ctx->start_time) == -1) { + sudo_warn("%s", U_("unable to get time of day")); + goto bad; + } + } /* Fill in exec environment info. */ *(exec_args->argv) = argv; diff --git a/plugins/sudoers/pwutil.h b/plugins/sudoers/pwutil.h index ac80580ed..14ab02988 100644 --- a/plugins/sudoers/pwutil.h +++ b/plugins/sudoers/pwutil.h @@ -44,7 +44,7 @@ struct cache_item { }; /* - * Container structs to simpify size and offset calculations and guarantee + * Container structs to simplify size and offset calculations and guarantee * proper alignment of struct passwd, group, gid_list and group_list. */ struct cache_item_pw { diff --git a/plugins/sudoers/regress/cvtsudoers/test41.out.ok b/plugins/sudoers/regress/cvtsudoers/test41.out.ok new file mode 100644 index 000000000..d74a3c9c5 --- /dev/null +++ b/plugins/sudoers/regress/cvtsudoers/test41.out.ok @@ -0,0 +1,27 @@ +{ + "Defaults": [ + { + "Binding": [ + { "username": "CLI_USR" } + ], + "Options": [ + { "lecture": false } + ] + }, + { + "Binding": [ + { "hostname": "SUN_HST" } + ], + "Options": [ + { "log_year": true } + ] + }, + { + "Binding": [ + ], + "Options": [ + { "use_pty": false } + ] + } + ] +} diff --git a/plugins/sudoers/regress/cvtsudoers/test41.sh b/plugins/sudoers/regress/cvtsudoers/test41.sh new file mode 100644 index 000000000..081efd4c3 --- /dev/null +++ b/plugins/sudoers/regress/cvtsudoers/test41.sh @@ -0,0 +1,18 @@ +#!/bin/sh +# +# Test behavior of undefined aliases using --expand-aliases in JSON output. +# https://github.com/sudo-project/sudo/issues/381 +# + +: ${CVTSUDOERS=cvtsudoers} + +$CVTSUDOERS -c "" -f json -e < +# Copyright (c) 2022, 2024 Todd C. Miller # # Permission to use, copy, modify, and distribute this software for any # purpose with or without fee is hereby granted, provided that the above @@ -20,6 +20,7 @@ srcdir="@abs_srcdir@" builddir="@abs_builddir@" SHELL=@SHELL@ +JQ=@JQ@ verbose=0 rval=0 ntests=0 @@ -97,7 +98,11 @@ sudoers) $builddir/cvtsudoers -c "" -f json $in >$json 2>/dev/null || true ntests=`expr $ntests + 1` if cmp $json $json_ok >/dev/null; then - if [ $verbose -eq 1 ]; then + $JQ empty < $json + if [ $? -ne 0 ]; then + errors=`expr $errors + 1` + echo "$group/$test (json): FAIL" + elif [ $verbose -eq 1 ]; then echo "$group/$test (json): OK" fi else diff --git a/plugins/sudoers/regress/iolog_plugin/check_iolog_plugin.c b/plugins/sudoers/regress/iolog_plugin/check_iolog_plugin.c index 991c30ce7..fb0ac67a5 100644 --- a/plugins/sudoers/regress/iolog_plugin/check_iolog_plugin.c +++ b/plugins/sudoers/regress/iolog_plugin/check_iolog_plugin.c @@ -144,9 +144,9 @@ validate_iolog_info(const char *log_dir, bool legacy) return false; } - if (evlog->submit_time.tv_sec < now - 10 || evlog->submit_time.tv_sec > now + 10) { - sudo_warnx("bad submit_time: want %lld got %lld", (long long)now, - (long long)evlog->submit_time.tv_sec); + if (evlog->event_time.tv_sec < now - 10 || evlog->event_time.tv_sec > now + 10) { + sudo_warnx("bad event_time: want %lld got %lld", (long long)now, + (long long)evlog->event_time.tv_sec); return false; } diff --git a/plugins/sudoers/regress/parser/check_base64.c b/plugins/sudoers/regress/parser/check_base64.c index 4fe54ade5..b7f6098f2 100644 --- a/plugins/sudoers/regress/parser/check_base64.c +++ b/plugins/sudoers/regress/parser/check_base64.c @@ -28,8 +28,8 @@ #include /* From parse.h */ -extern size_t base64_decode(const char *str, unsigned char *dst, size_t dsize); -extern size_t base64_encode(const unsigned char *in, size_t in_len, char *out, size_t out_len); +extern size_t base64_decode(const char * restrict str, unsigned char * restrict dst, size_t dsize); +extern size_t base64_encode(const unsigned char * restrict in, size_t in_len, char * restrict out, size_t out_len); sudo_dso_public int main(int argc, char *argv[]); diff --git a/plugins/sudoers/regress/sudoers/test14.json.ok b/plugins/sudoers/regress/sudoers/test14.json.ok index 7e0e3c388..a8f89d182 100644 --- a/plugins/sudoers/regress/sudoers/test14.json.ok +++ b/plugins/sudoers/regress/sudoers/test14.json.ok @@ -3,15 +3,19 @@ "LS": [ { "command": "/bin/ls", - "sha224": "d06a2617c98d377c250edd470fd5e576327748d82915d6e33b5f8db1", - "sha224": "d7910e1967342b4605cb73a550944044c631cd3514001900966962ac" + "sha224": [ + "d06a2617c98d377c250edd470fd5e576327748d82915d6e33b5f8db1", + "d7910e1967342b4605cb73a550944044c631cd3514001900966962ac" + ] } ], "SH": [ { "command": "/bin/sh", - "sha256": "hOtoe/iK6SlGg7w4BfZBBdSsXjUmTJ5+ts51yjh7vkM=", - "sha256": "1IXHRCxXgSnIEnb+xBz4PAfWaPdXIBWKFF0QCwxJ5G4=" + "sha256": [ + "hOtoe/iK6SlGg7w4BfZBBdSsXjUmTJ5+ts51yjh7vkM=", + "1IXHRCxXgSnIEnb+xBz4PAfWaPdXIBWKFF0QCwxJ5G4=" + ] } ] }, @@ -51,8 +55,8 @@ "Commands": [ { "command": "ALL", - "sha384": "knMlCLkJ71K6uRrKo5C1CAvZ5kq+mRpjKDD/RofGosFjiGcYhiYYZORVyiRHgBnu", - "sha256": "1IXHRCxXgSnIEnb+xBz4PAfWaPdXIBWKFF0QCwxJ5G4=" + "sha256": "1IXHRCxXgSnIEnb+xBz4PAfWaPdXIBWKFF0QCwxJ5G4=", + "sha384": "knMlCLkJ71K6uRrKo5C1CAvZ5kq+mRpjKDD/RofGosFjiGcYhiYYZORVyiRHgBnu" } ] } diff --git a/plugins/sudoers/regress/sudoers/test24.in b/plugins/sudoers/regress/sudoers/test24.in index 3fc3bbc8e..8b11ab5ce 100644 --- a/plugins/sudoers/regress/sudoers/test24.in +++ b/plugins/sudoers/regress/sudoers/test24.in @@ -1,6 +1,10 @@ -# Test parsing of CHROOT and CWD syntax +# Test parsing of CHROOT and CWD syntax, quoted and unquoted Defaults runcwd=~ +Defaults runcwd="~" Defaults runchroot=/ +Defaults runchroot="/" # user0 ALL = CHROOT=/var/www CWD=/htdocs /bin/ksh -user1 ALL = CWD=~root /usr/bin/id, CWD=/tmp /bin/ls +user1 ALL = CHROOT="/var/www" CWD="/htdocs" /bin/ksh +user2 ALL = CWD=~root /usr/bin/id, CWD=/tmp /bin/ls +user3 ALL = CWD="~root" /usr/bin/id, CWD="/tmp" /bin/ls diff --git a/plugins/sudoers/regress/sudoers/test24.json.ok b/plugins/sudoers/regress/sudoers/test24.json.ok index 964359caf..d13ad3412 100644 --- a/plugins/sudoers/regress/sudoers/test24.json.ok +++ b/plugins/sudoers/regress/sudoers/test24.json.ok @@ -5,6 +5,16 @@ { "runcwd": "~" } ] }, + { + "Options": [ + { "runcwd": "~" } + ] + }, + { + "Options": [ + { "runchroot": "/" } + ] + }, { "Options": [ { "runchroot": "/" } @@ -22,8 +32,8 @@ "Cmnd_Specs": [ { "Options": [ - "runchroot": "/var/www", - "runcwd": "/htdocs" + { "runchroot": "/var/www" }, + { "runcwd": "/htdocs" } ], "Commands": [ { "command": "/bin/ksh" } @@ -41,7 +51,26 @@ "Cmnd_Specs": [ { "Options": [ - "runcwd": "~root" + { "runchroot": "/var/www" }, + { "runcwd": "/htdocs" } + ], + "Commands": [ + { "command": "/bin/ksh" } + ] + } + ] + }, + { + "User_List": [ + { "username": "user2" } + ], + "Host_List": [ + { "hostname": "ALL" } + ], + "Cmnd_Specs": [ + { + "Options": [ + { "runcwd": "~root" } ], "Commands": [ { "command": "/usr/bin/id" } @@ -49,7 +78,33 @@ }, { "Options": [ - "runcwd": "/tmp" + { "runcwd": "/tmp" } + ], + "Commands": [ + { "command": "/bin/ls" } + ] + } + ] + }, + { + "User_List": [ + { "username": "user3" } + ], + "Host_List": [ + { "hostname": "ALL" } + ], + "Cmnd_Specs": [ + { + "Options": [ + { "runcwd": "~root" } + ], + "Commands": [ + { "command": "/usr/bin/id" } + ] + }, + { + "Options": [ + { "runcwd": "/tmp" } ], "Commands": [ { "command": "/bin/ls" } diff --git a/plugins/sudoers/regress/sudoers/test24.ldif.ok b/plugins/sudoers/regress/sudoers/test24.ldif.ok index aeb5f7a49..c4b37feee 100644 --- a/plugins/sudoers/regress/sudoers/test24.ldif.ok +++ b/plugins/sudoers/regress/sudoers/test24.ldif.ok @@ -4,6 +4,8 @@ objectClass: sudoRole cn: defaults description: Default sudoOption's go here sudoOption: runcwd=~ +sudoOption: runcwd=~ +sudoOption: runchroot=/ sudoOption: runchroot=/ dn: cn=user0,ou=SUDOers,dc=sudo,dc=ws @@ -23,17 +25,48 @@ objectClass: sudoRole cn: user1 sudoUser: user1 sudoHost: ALL -sudoOption: runcwd=~root -sudoCommand: /usr/bin/id +sudoOption: runchroot=/var/www +sudoOption: runcwd=/htdocs +sudoCommand: /bin/ksh sudoOrder: 2 -dn: cn=user1_1,ou=SUDOers,dc=sudo,dc=ws +dn: cn=user2,ou=SUDOers,dc=sudo,dc=ws objectClass: top objectClass: sudoRole -cn: user1_1 -sudoUser: user1 +cn: user2 +sudoUser: user2 +sudoHost: ALL +sudoOption: runcwd=~root +sudoCommand: /usr/bin/id +sudoOrder: 3 + +dn: cn=user2_1,ou=SUDOers,dc=sudo,dc=ws +objectClass: top +objectClass: sudoRole +cn: user2_1 +sudoUser: user2 sudoHost: ALL sudoOption: runcwd=/tmp sudoCommand: /bin/ls -sudoOrder: 3 +sudoOrder: 4 + +dn: cn=user3,ou=SUDOers,dc=sudo,dc=ws +objectClass: top +objectClass: sudoRole +cn: user3 +sudoUser: user3 +sudoHost: ALL +sudoOption: runcwd=~root +sudoCommand: /usr/bin/id +sudoOrder: 5 + +dn: cn=user3_1,ou=SUDOers,dc=sudo,dc=ws +objectClass: top +objectClass: sudoRole +cn: user3_1 +sudoUser: user3 +sudoHost: ALL +sudoOption: runcwd=/tmp +sudoCommand: /bin/ls +sudoOrder: 6 diff --git a/plugins/sudoers/regress/sudoers/test24.ldif2sudo.ok b/plugins/sudoers/regress/sudoers/test24.ldif2sudo.ok index 4c096575c..f396add9c 100644 --- a/plugins/sudoers/regress/sudoers/test24.ldif2sudo.ok +++ b/plugins/sudoers/regress/sudoers/test24.ldif2sudo.ok @@ -1,8 +1,16 @@ Defaults runcwd=~ +Defaults runcwd=~ +Defaults runchroot=/ Defaults runchroot=/ # sudoRole user0 user0 ALL = CHROOT=/var/www CWD=/htdocs /bin/ksh -# sudoRole user1, user1_1 -user1 ALL = CWD=~root /usr/bin/id, CWD=/tmp /bin/ls +# sudoRole user1 +user1 ALL = CHROOT=/var/www CWD=/htdocs /bin/ksh + +# sudoRole user2, user2_1 +user2 ALL = CWD=~root /usr/bin/id, CWD=/tmp /bin/ls + +# sudoRole user3, user3_1 +user3 ALL = CWD=~root /usr/bin/id, CWD=/tmp /bin/ls diff --git a/plugins/sudoers/regress/sudoers/test24.out.ok b/plugins/sudoers/regress/sudoers/test24.out.ok index 530b7005a..d46f1fad0 100644 --- a/plugins/sudoers/regress/sudoers/test24.out.ok +++ b/plugins/sudoers/regress/sudoers/test24.out.ok @@ -1,7 +1,11 @@ Parses OK Defaults runcwd=~ +Defaults runcwd=~ +Defaults runchroot=/ Defaults runchroot=/ user0 ALL = CHROOT=/var/www CWD=/htdocs /bin/ksh -user1 ALL = CWD=~root /usr/bin/id, CWD=/tmp /bin/ls +user1 ALL = CHROOT=/var/www CWD=/htdocs /bin/ksh +user2 ALL = CWD=~root /usr/bin/id, CWD=/tmp /bin/ls +user3 ALL = CWD=~root /usr/bin/id, CWD=/tmp /bin/ls diff --git a/plugins/sudoers/regress/sudoers/test24.toke.ok b/plugins/sudoers/regress/sudoers/test24.toke.ok index 47842f4dc..06b98ed66 100644 --- a/plugins/sudoers/regress/sudoers/test24.toke.ok +++ b/plugins/sudoers/regress/sudoers/test24.toke.ok @@ -1,6 +1,10 @@ # DEFAULTS DEFVAR = WORD(2) +DEFAULTS DEFVAR = BEGINSTR STRBODY ENDSTR WORD(4) DEFAULTS DEFVAR = WORD(2) +DEFAULTS DEFVAR = BEGINSTR STRBODY ENDSTR WORD(4) # WORD(6) ALL = CHROOT = WORD(5) CWD = WORD(5) COMMAND +WORD(6) ALL = CHROOT = BEGINSTR STRBODY ENDSTR WORD(4) CWD = BEGINSTR STRBODY ENDSTR WORD(4) COMMAND WORD(6) ALL = CWD = WORD(5) COMMAND , CWD = WORD(5) COMMAND +WORD(6) ALL = CWD = BEGINSTR STRBODY ENDSTR WORD(4) COMMAND , CWD = BEGINSTR STRBODY ENDSTR WORD(4) COMMAND diff --git a/plugins/sudoers/regress/sudoers/test26.in b/plugins/sudoers/regress/sudoers/test26.in index 842f2b418..5d4d8512c 100644 --- a/plugins/sudoers/regress/sudoers/test26.in +++ b/plugins/sudoers/regress/sudoers/test26.in @@ -107,6 +107,7 @@ Defaults user_command_timeouts Defaults iolog_flush Defaults syslog_pid Defaults timestamp_type=tty +Defaults cmddenial_message="That's not allowed!" Defaults authfail_message="Learn to type!" Defaults case_insensitive_user Defaults case_insensitive_group diff --git a/plugins/sudoers/regress/sudoers/test26.json.ok b/plugins/sudoers/regress/sudoers/test26.json.ok index 4fabe5f84..4d4361517 100644 --- a/plugins/sudoers/regress/sudoers/test26.json.ok +++ b/plugins/sudoers/regress/sudoers/test26.json.ok @@ -527,6 +527,11 @@ { "timestamp_type": "tty" } ] }, + { + "Options": [ + { "cmddenial_message": "That's not allowed!" } + ] + }, { "Options": [ { "authfail_message": "Learn to type!" } diff --git a/plugins/sudoers/regress/sudoers/test26.ldif.ok b/plugins/sudoers/regress/sudoers/test26.ldif.ok index 912e265df..b00db17d7 100644 --- a/plugins/sudoers/regress/sudoers/test26.ldif.ok +++ b/plugins/sudoers/regress/sudoers/test26.ldif.ok @@ -112,6 +112,7 @@ sudoOption: user_command_timeouts sudoOption: iolog_flush sudoOption: syslog_pid sudoOption: timestamp_type=tty +sudoOption: cmddenial_message=That's not allowed! sudoOption: authfail_message=Learn to type! sudoOption: case_insensitive_user sudoOption: case_insensitive_group diff --git a/plugins/sudoers/regress/sudoers/test26.ldif2sudo.ok b/plugins/sudoers/regress/sudoers/test26.ldif2sudo.ok index 706c6fd0a..f3e42852c 100644 --- a/plugins/sudoers/regress/sudoers/test26.ldif2sudo.ok +++ b/plugins/sudoers/regress/sudoers/test26.ldif2sudo.ok @@ -107,6 +107,7 @@ Defaults user_command_timeouts Defaults iolog_flush Defaults syslog_pid Defaults timestamp_type=tty +Defaults cmddenial_message="That's not allowed!" Defaults authfail_message="Learn to type!" Defaults case_insensitive_user Defaults case_insensitive_group diff --git a/plugins/sudoers/regress/sudoers/test26.out.ok b/plugins/sudoers/regress/sudoers/test26.out.ok index e9f07fb6e..6cbd64de5 100644 --- a/plugins/sudoers/regress/sudoers/test26.out.ok +++ b/plugins/sudoers/regress/sudoers/test26.out.ok @@ -101,6 +101,7 @@ Defaults user_command_timeouts Defaults iolog_flush Defaults syslog_pid Defaults timestamp_type=tty +Defaults cmddenial_message="That's not allowed!" Defaults authfail_message="Learn to type!" Defaults case_insensitive_user Defaults case_insensitive_group diff --git a/plugins/sudoers/regress/sudoers/test26.toke.ok b/plugins/sudoers/regress/sudoers/test26.toke.ok index 9e125fe1e..6d4ac3a3c 100644 --- a/plugins/sudoers/regress/sudoers/test26.toke.ok +++ b/plugins/sudoers/regress/sudoers/test26.toke.ok @@ -108,6 +108,7 @@ DEFAULTS DEFVAR DEFAULTS DEFVAR DEFAULTS DEFVAR = WORD(2) DEFAULTS DEFVAR = BEGINSTR STRBODY ENDSTR WORD(4) +DEFAULTS DEFVAR = BEGINSTR STRBODY ENDSTR WORD(4) DEFAULTS DEFVAR DEFAULTS DEFVAR DEFAULTS DEFVAR diff --git a/plugins/sudoers/regress/sudoers/test31.in b/plugins/sudoers/regress/sudoers/test31.in new file mode 100644 index 000000000..bdddea6e0 --- /dev/null +++ b/plugins/sudoers/regress/sudoers/test31.in @@ -0,0 +1,7 @@ +# Test parsing of SELinux, AppArmor and Solaris privilege parsing. + +user1 ALL = ROLE=foo_r TYPE=bar_t ALL + +user2 ALL = APPARMOR_PROFILE=usr.bin.tcpdump /usr/bin/tcpdump + +user3 ALL = PRIVS="file_link_any,net_access,proc_exec,proc_fork,proc_info,proc_session" LIMITPRIVS=default ALL diff --git a/plugins/sudoers/regress/sudoers/test31.json.ok b/plugins/sudoers/regress/sudoers/test31.json.ok new file mode 100644 index 000000000..dd8a907cc --- /dev/null +++ b/plugins/sudoers/regress/sudoers/test31.json.ok @@ -0,0 +1,62 @@ +{ + "User_Specs": [ + { + "User_List": [ + { "username": "user1" } + ], + "Host_List": [ + { "hostname": "ALL" } + ], + "Cmnd_Specs": [ + { + "Options": [ + { "setenv": true }, + { "role": "foo_r" }, + { "type": "bar_t" } + ], + "Commands": [ + { "command": "ALL" } + ] + } + ] + }, + { + "User_List": [ + { "username": "user2" } + ], + "Host_List": [ + { "hostname": "ALL" } + ], + "Cmnd_Specs": [ + { + "Options": [ + { "apparmor_profile": "usr.bin.tcpdump" } + ], + "Commands": [ + { "command": "/usr/bin/tcpdump" } + ] + } + ] + }, + { + "User_List": [ + { "username": "user3" } + ], + "Host_List": [ + { "hostname": "ALL" } + ], + "Cmnd_Specs": [ + { + "Options": [ + { "setenv": true }, + { "privs": "file_link_any,net_access,proc_exec,proc_fork,proc_info,proc_session" }, + { "limitprivs": "default" } + ], + "Commands": [ + { "command": "ALL" } + ] + } + ] + } + ] +} diff --git a/plugins/sudoers/regress/sudoers/test31.ldif.ok b/plugins/sudoers/regress/sudoers/test31.ldif.ok new file mode 100644 index 000000000..ed536f487 --- /dev/null +++ b/plugins/sudoers/regress/sudoers/test31.ldif.ok @@ -0,0 +1,32 @@ +dn: cn=user1,ou=SUDOers,dc=sudo,dc=ws +objectClass: top +objectClass: sudoRole +cn: user1 +sudoUser: user1 +sudoHost: ALL +sudoOption: role=foo_r +sudoOption: type=bar_t +sudoCommand: ALL +sudoOrder: 1 + +dn: cn=user2,ou=SUDOers,dc=sudo,dc=ws +objectClass: top +objectClass: sudoRole +cn: user2 +sudoUser: user2 +sudoHost: ALL +sudoOption: apparmor_profile=usr.bin.tcpdump +sudoCommand: /usr/bin/tcpdump +sudoOrder: 2 + +dn: cn=user3,ou=SUDOers,dc=sudo,dc=ws +objectClass: top +objectClass: sudoRole +cn: user3 +sudoUser: user3 +sudoHost: ALL +sudoOption: privs=file_link_any,net_access,proc_exec,proc_fork,proc_info,proc_session +sudoOption: limitprivs=default +sudoCommand: ALL +sudoOrder: 3 + diff --git a/plugins/sudoers/regress/sudoers/test31.ldif2sudo.ok b/plugins/sudoers/regress/sudoers/test31.ldif2sudo.ok new file mode 100644 index 000000000..cd4c9db74 --- /dev/null +++ b/plugins/sudoers/regress/sudoers/test31.ldif2sudo.ok @@ -0,0 +1,10 @@ +# sudoRole user1 +user1 ALL = ROLE=foo_r TYPE=bar_t ALL + +# sudoRole user2 +user2 ALL = APPARMOR_PROFILE=usr.bin.tcpdump /usr/bin/tcpdump + +# sudoRole user3 +user3 ALL =\ + PRIVS="file_link_any,net_access,proc_exec,proc_fork,proc_info,proc_session"\ + LIMITPRIVS="default" ALL diff --git a/plugins/sudoers/regress/sudoers/test31.out.ok b/plugins/sudoers/regress/sudoers/test31.out.ok new file mode 100644 index 000000000..320a7b742 --- /dev/null +++ b/plugins/sudoers/regress/sudoers/test31.out.ok @@ -0,0 +1,5 @@ +Parses OK + +user1 ALL = ROLE=foo_r TYPE=bar_t ALL +user2 ALL = APPARMOR_PROFILE=usr.bin.tcpdump /usr/bin/tcpdump +user3 ALL = PRIVS="file_link_any,net_access,proc_exec,proc_fork,proc_info,proc_session" LIMITPRIVS="default" ALL diff --git a/plugins/sudoers/regress/sudoers/test31.toke.ok b/plugins/sudoers/regress/sudoers/test31.toke.ok new file mode 100644 index 000000000..825c0ac57 --- /dev/null +++ b/plugins/sudoers/regress/sudoers/test31.toke.ok @@ -0,0 +1,7 @@ +# + +WORD(6) ALL = ROLE = WORD(6) TYPE = WORD(6) ALL + +WORD(6) ALL = APPARMOR_PROFILE = WORD(6) COMMAND + +WORD(6) ALL = PRIVS = BEGINSTR STRBODY ENDSTR WORD(4) LIMITPRIVS = WORD(6) ALL diff --git a/plugins/sudoers/set_perms.c b/plugins/sudoers/set_perms.c index 9f8009457..121b2bb37 100644 --- a/plugins/sudoers/set_perms.c +++ b/plugins/sudoers/set_perms.c @@ -54,7 +54,7 @@ static struct gid_list *runas_setgroups(const struct sudoers_context *ctx); #endif /* - * We keep track of the current permisstions and use a stack to restore + * We keep track of the current permissions and use a stack to restore * the old permissions. A depth of 16 is overkill. */ struct perm_state { diff --git a/plugins/sudoers/sssd.c b/plugins/sudoers/sssd.c index c0804cb84..d9733d0a2 100644 --- a/plugins/sudoers/sssd.c +++ b/plugins/sudoers/sssd.c @@ -387,7 +387,7 @@ sss_to_sudoers(struct sudoers_context *ctx, struct sudo_sss_handle *handle, * * Sssd has already sorted the rules in descending order. * The conversion to a sudoers parse tree requires that entries be - * in *ascending* order so we we iterate from last to first. + * in *ascending* order so we iterate from last to first. */ for (i = sss_result->num_rules; i; ) { struct sss_sudo_rule *rule = sss_result->rules + --i; diff --git a/plugins/sudoers/sudoers.c b/plugins/sudoers/sudoers.c index 6778e4e5f..70a0c1a52 100644 --- a/plugins/sudoers/sudoers.c +++ b/plugins/sudoers/sudoers.c @@ -335,7 +335,7 @@ cb_lookup(const struct sudoers_parse_tree *parse_tree, /* * Find the command, perform a sudoers lookup, ask for a password as - * needed, and perform post-lokup checks. Logs success/failure. + * needed, and perform post-lookup checks. Logs success/failure. * This is used by the check, list and validate plugin methods. * * Returns true if allowed, false if denied, -1 on error and @@ -1317,7 +1317,7 @@ open_sudoers(const char *path, char **outfile, bool doedit, bool *keepopen) } else { /* Rewind fp and set close on exec flag. */ rewind(fp); - (void)fcntl(fileno(fp), F_SETFD, 1); + (void)fcntl(fileno(fp), F_SETFD, FD_CLOEXEC); if (outfile != NULL) { *outfile = sudo_rcstr_dup(fname); if (*outfile == NULL) { @@ -1554,3 +1554,29 @@ sudoers_get_context(void) { return &sudoers_ctx; } + +bool +sudoers_set_log_format(enum def_tuple tuple) +{ + enum eventlog_format format; + debug_decl(cb_log_format, SUDOERS_DEBUG_PLUGIN); + + /* FFR - make "json" an alias for EVLOG_JSON_COMPACT instead. */ + switch (tuple) { + case json_compact: + format = EVLOG_JSON_COMPACT; + break; + case json: + case json_pretty: + format = EVLOG_JSON_PRETTY; + break; + case sudo: + format = EVLOG_SUDO; + break; + default: + debug_return_bool(false); + } + eventlog_set_format(format); + + debug_return_bool(true); +} diff --git a/plugins/sudoers/sudoers.h b/plugins/sudoers/sudoers.h index c7f386ba1..93c77667c 100644 --- a/plugins/sudoers/sudoers.h +++ b/plugins/sudoers/sudoers.h @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: ISC * - * Copyright (c) 1993-1996, 1998-2005, 2007-2023 + * Copyright (c) 1993-1996, 1998-2005, 2007-2024 * Todd C. Miller * * Permission to use, copy, modify, and distribute this software for any @@ -24,7 +24,7 @@ #ifndef SUDOERS_SUDOERS_H #define SUDOERS_SUDOERS_H -#include /* for gid_t, mode_t, pid_t, size_t, uid_t */ +#include /* dev_t, gid_t, mode_t, pid_t, size_t, uid_t */ #include #ifdef HAVE_STDBOOL_H # include @@ -142,6 +142,7 @@ struct sudoers_user_context { int lines; int cols; int timeout; + dev_t ttydev; mode_t umask; uid_t euid; uid_t uid; @@ -173,17 +174,11 @@ struct sudoers_runas_context { char *host; char *shost; char *user; -#ifdef HAVE_SELINUX char *role; char *type; -#endif -#ifdef HAVE_APPARMOR char *apparmor_profile; -#endif -#ifdef HAVE_PRIV_SET char *privs; char *limitprivs; -#endif }; /* @@ -194,7 +189,7 @@ struct sudoers_context { struct sudoers_plugin_settings settings; struct sudoers_user_context user; struct sudoers_runas_context runas; - struct timespec submit_time; + struct timespec start_time; char *source; char *iolog_file; char *iolog_dir; @@ -314,7 +309,6 @@ struct sudoers_context { struct sudo_lbuf; struct passwd; struct stat; -struct timespec; /* * Function prototypes @@ -459,6 +453,7 @@ void sudoers_cleanup(void); bool sudoers_override_umask(void); const struct sudoers_context *sudoers_get_context(void); bool sudoers_set_mode(unsigned int flags, unsigned int mask); +bool sudoers_set_log_format(enum def_tuple tuple); /* sudoers_ctx_free.c */ void sudoers_ctx_free(struct sudoers_context *ctx); diff --git a/plugins/sudoers/sudoers.in b/plugins/sudoers/sudoers.in index e0ef51c2c..b0d464160 100644 --- a/plugins/sudoers/sudoers.in +++ b/plugins/sudoers/sudoers.in @@ -41,6 +41,15 @@ ## ## Defaults specification ## +## Preserve editor environment variables for visudo. +## To preserve these for all commands, remove the "!visudo" qualifier. +Defaults!@visudo@ env_keep += "SUDO_EDITOR EDITOR VISUAL" +## +## Use a hard-coded PATH instead of the user's to find commands. +## This also helps prevent poorly written scripts from running +## artbitrary commands under sudo. +Defaults secure_path="@secure_path@" +## ## You may wish to keep some of the following environment variables ## when running commands via sudo. ## @@ -65,12 +74,16 @@ ## this may allow users to subvert the command being run via sudo. # Defaults env_keep += "XMODIFIERS GTK_IM_MODULE QT_IM_MODULE QT_IM_SWITCHER" ## -## Uncomment to use a hard-coded PATH instead of the user's to find commands -# Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" +## Uncomment to disable "use_pty" when running commands as root. +## Commands run as non-root users will run in a pseudo-terminal, +## not the user's own terminal, to prevent command injection. +# Defaults>root !use_pty ## -## Uncomment to restore the historic behavior where a command is run in -## the user's own terminal. -# Defaults !use_pty +## Uncomment to run commands in the background by default. +## This can be used to prevent sudo from consuming user input while +## a non-interactive command runs if "use_pty" or I/O logging are +## enabled. Some commands may not run properly in the background. +# Defaults exec_background ## ## Uncomment to send mail if the user does not enter the correct password. # Defaults mail_badpass diff --git a/plugins/sudoers/sudoers_cb.c b/plugins/sudoers/sudoers_cb.c index 4fc4c54b1..466d9d393 100644 --- a/plugins/sudoers/sudoers_cb.c +++ b/plugins/sudoers/sudoers_cb.c @@ -228,11 +228,7 @@ static bool cb_log_format(struct sudoers_context *ctx, const char *file, int line, int column, const union sudo_defs_val *sd_un, int op) { - debug_decl(cb_log_format, SUDOERS_DEBUG_PLUGIN); - - eventlog_set_format(sd_un->tuple == sudo ? EVLOG_SUDO : EVLOG_JSON); - - debug_return_bool(true); + return sudoers_set_log_format(sd_un->tuple); } static bool diff --git a/plugins/sudoers/sudoers_ctx_free.c b/plugins/sudoers/sudoers_ctx_free.c index b9c5af609..1f299551a 100644 --- a/plugins/sudoers/sudoers_ctx_free.c +++ b/plugins/sudoers/sudoers_ctx_free.c @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: ISC * - * Copyright (c) 2023 Todd C. Miller + * Copyright (c) 2023-2024 Todd C. Miller * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -73,17 +73,11 @@ sudoers_ctx_free(struct sudoers_context *ctx) if (ctx->runas.shost != ctx->runas.host) free(ctx->runas.shost); free(ctx->runas.host); -#ifdef HAVE_SELINUX free(ctx->runas.role); free(ctx->runas.type); -#endif -#ifdef HAVE_APPARMOR free(ctx->runas.apparmor_profile); -#endif -#ifdef HAVE_PRIV_SET free(ctx->runas.privs); free(ctx->runas.limitprivs); -#endif /* Free dynamic contents of ctx. */ free(ctx->source); diff --git a/plugins/sudoers/sudoreplay.c b/plugins/sudoers/sudoreplay.c index ffdcc354d..e8b1b0c13 100644 --- a/plugins/sudoers/sudoreplay.c +++ b/plugins/sudoers/sudoreplay.c @@ -1410,10 +1410,10 @@ match_expr(struct search_node_list *head, struct eventlog *evlog, bool last_matc free(tofree); break; case ST_FROMDATE: - res = sudo_timespeccmp(&evlog->submit_time, &sn->u.tstamp, >=); + res = sudo_timespeccmp(&evlog->event_time, &sn->u.tstamp, >=); break; case ST_TODATE: - res = sudo_timespeccmp(&evlog->submit_time, &sn->u.tstamp, <=); + res = sudo_timespeccmp(&evlog->event_time, &sn->u.tstamp, <=); break; default: sudo_fatalx(U_("unknown search type %d"), sn->type); @@ -1449,7 +1449,7 @@ list_session(struct sudo_lbuf *lbuf, char *log_dir, regex_t *re, if (!STAILQ_EMPTY(&search_expr) && !match_expr(&search_expr, evlog, true)) goto done; - timestr = get_timestr(evlog->submit_time.tv_sec, 1); + timestr = get_timestr(evlog->event_time.tv_sec, 1); sudo_lbuf_append_esc(lbuf, LBUF_ESC_CNTRL, "%s : %s : ", timestr ? timestr : "invalid date", evlog->submituser); diff --git a/plugins/sudoers/testsudoers.c b/plugins/sudoers/testsudoers.c index 2ebd7b459..f79a0bfa5 100644 --- a/plugins/sudoers/testsudoers.c +++ b/plugins/sudoers/testsudoers.c @@ -715,9 +715,7 @@ print_aliases(struct sudo_lbuf *lbuf) { debug_decl(print_aliases, SUDOERS_DEBUG_UTIL); - alias_apply(&parsed_policy, print_alias, lbuf); - - debug_return_bool(!sudo_lbuf_error(lbuf)); + debug_return_bool(alias_apply(&parsed_policy, print_alias, lbuf)); } static void diff --git a/plugins/sudoers/timestamp.c b/plugins/sudoers/timestamp.c index 9493e37af..7e7e4b565 100644 --- a/plugins/sudoers/timestamp.c +++ b/plugins/sudoers/timestamp.c @@ -379,7 +379,6 @@ ts_init_key(const struct sudoers_context *ctx, struct timestamp_entry *entry, struct passwd *pw, unsigned short flags, enum def_tuple ticket_type) { - struct stat sb; debug_decl(ts_init_key, SUDOERS_DEBUG_AUTH); memset(entry, 0, sizeof(*entry)); @@ -398,10 +397,10 @@ ts_init_key(const struct sudoers_context *ctx, sudo_warnx("unknown time stamp ticket type %d", ticket_type); FALLTHROUGH; case tty: - if (ctx->user.ttypath != NULL && stat(ctx->user.ttypath, &sb) == 0) { + if (ctx->user.ttydev != (dev_t)-1) { /* tty-based time stamp */ entry->type = TS_TTY; - entry->u.ttydev = sb.st_rdev; + entry->u.ttydev = ctx->user.ttydev; if (entry->sid != -1) get_starttime(entry->sid, &entry->start_time); break; diff --git a/plugins/sudoers/toke.c b/plugins/sudoers/toke.c index a60f6322e..8832a3f31 100644 --- a/plugins/sudoers/toke.c +++ b/plugins/sudoers/toke.c @@ -1190,7 +1190,7 @@ static const flex_int16_t yy_nxt[9611] = 118, 93, 125, 40, 126, 126, 126, 126, 126, 126, 127, 127, 127, 127, 127, 127, 127, 127, 128, 127, - 127, 133, 23, 24, 133, 25, 23, 26, 40, 40, + 127, 133, 23, 24, 133, 25, 23, 26, 27, 40, 133, 134, 30, 31, 133, 135, 33, 133, 133, 136, 137, 138, 139, 137, 137, 137, 137, 137, 137, 137, 38, 39, 40, 133, 140, 141, 141, 141, 142, 143, @@ -3262,7 +3262,7 @@ char *yytext; /* * SPDX-License-Identifier: ISC * - * Copyright (c) 1996, 1998-2005, 2007-2023 + * Copyright (c) 1996, 1998-2005, 2007-2024 * Todd C. Miller * * Permission to use, copy, modify, and distribute this software for any @@ -4359,67 +4359,46 @@ case 59: YY_RULE_SETUP #line 660 "toke.l" { -#ifdef HAVE_SELINUX LEXTRACE("ROLE "); return ROLE; -#else - goto got_alias; -#endif } YY_BREAK case 60: YY_RULE_SETUP -#line 669 "toke.l" +#line 665 "toke.l" { -#ifdef HAVE_SELINUX LEXTRACE("TYPE "); return TYPE; -#else - goto got_alias; -#endif } YY_BREAK case 61: YY_RULE_SETUP -#line 677 "toke.l" +#line 669 "toke.l" { -#ifdef HAVE_APPARMOR LEXTRACE("APPARMOR_PROFILE "); return APPARMOR_PROFILE; -#else - goto got_alias; -#endif } YY_BREAK case 62: YY_RULE_SETUP -#line 685 "toke.l" +#line 673 "toke.l" { -#ifdef HAVE_PRIV_SET LEXTRACE("PRIVS "); return PRIVS; -#else - goto got_alias; -#endif } YY_BREAK case 63: YY_RULE_SETUP -#line 694 "toke.l" +#line 678 "toke.l" { -#ifdef HAVE_PRIV_SET LEXTRACE("LIMITPRIVS "); return LIMITPRIVS; -#else - goto got_alias; -#endif } YY_BREAK case 64: YY_RULE_SETUP -#line 703 "toke.l" +#line 683 "toke.l" { - got_alias: if (!fill(sudoerstext, sudoersleng)) yyterminate(); LEXTRACE("ALIAS "); @@ -4428,7 +4407,7 @@ YY_RULE_SETUP YY_BREAK case 65: YY_RULE_SETUP -#line 711 "toke.l" +#line 690 "toke.l" { /* XXX - no way to specify digest for command */ /* no command args allowed for Defaults!/path */ @@ -4440,7 +4419,7 @@ YY_RULE_SETUP YY_BREAK case 66: YY_RULE_SETUP -#line 720 "toke.l" +#line 699 "toke.l" { digest_type = SUDO_DIGEST_SHA224; BEGIN WANTDIGEST; @@ -4450,7 +4429,7 @@ YY_RULE_SETUP YY_BREAK case 67: YY_RULE_SETUP -#line 727 "toke.l" +#line 706 "toke.l" { digest_type = SUDO_DIGEST_SHA256; BEGIN WANTDIGEST; @@ -4460,7 +4439,7 @@ YY_RULE_SETUP YY_BREAK case 68: YY_RULE_SETUP -#line 734 "toke.l" +#line 713 "toke.l" { digest_type = SUDO_DIGEST_SHA384; BEGIN WANTDIGEST; @@ -4470,7 +4449,7 @@ YY_RULE_SETUP YY_BREAK case 69: YY_RULE_SETUP -#line 741 "toke.l" +#line 720 "toke.l" { digest_type = SUDO_DIGEST_SHA512; BEGIN WANTDIGEST; @@ -4480,7 +4459,7 @@ YY_RULE_SETUP YY_BREAK case 70: YY_RULE_SETUP -#line 748 "toke.l" +#line 727 "toke.l" { BEGIN GOTCMND; LEXTRACE("COMMAND "); @@ -4490,7 +4469,7 @@ YY_RULE_SETUP YY_BREAK case 71: YY_RULE_SETUP -#line 755 "toke.l" +#line 734 "toke.l" { BEGIN prev_state; if (!fill(sudoerstext, sudoersleng)) @@ -4501,7 +4480,7 @@ YY_RULE_SETUP YY_BREAK case 72: YY_RULE_SETUP -#line 763 "toke.l" +#line 742 "toke.l" { /* directories can't have args... */ if (sudoerstext[sudoersleng - 1] == '/') { @@ -4518,7 +4497,7 @@ YY_RULE_SETUP YY_BREAK case 73: YY_RULE_SETUP -#line 777 "toke.l" +#line 756 "toke.l" { if (sudoers_strict()) { if (!sudo_regex_compile(NULL, sudoerstext, &sudoers_errstr)) { @@ -4534,17 +4513,18 @@ YY_RULE_SETUP YY_BREAK case 74: YY_RULE_SETUP -#line 790 "toke.l" +#line 769 "toke.l" { LEXTRACE("BEGINSTR "); sudoerslval.string = NULL; - prev_state = YY_START; + if (YY_START != EXPECTPATH) + prev_state = YY_START; BEGIN INSTR; } YY_BREAK case 75: YY_RULE_SETUP -#line 797 "toke.l" +#line 777 "toke.l" { /* a word */ if (!fill(sudoerstext, sudoersleng)) @@ -4556,7 +4536,7 @@ YY_RULE_SETUP case 76: YY_RULE_SETUP -#line 806 "toke.l" +#line 786 "toke.l" { /* include file/directory */ if (!fill(sudoerstext, sudoersleng)) @@ -4568,7 +4548,7 @@ YY_RULE_SETUP YY_BREAK case 77: YY_RULE_SETUP -#line 815 "toke.l" +#line 795 "toke.l" { LEXTRACE("BEGINSTR "); sudoerslval.string = NULL; @@ -4579,7 +4559,7 @@ YY_RULE_SETUP case 78: YY_RULE_SETUP -#line 823 "toke.l" +#line 803 "toke.l" { LEXTRACE("( "); return '('; @@ -4587,7 +4567,7 @@ YY_RULE_SETUP YY_BREAK case 79: YY_RULE_SETUP -#line 828 "toke.l" +#line 808 "toke.l" { LEXTRACE(") "); return ')'; @@ -4595,7 +4575,7 @@ YY_RULE_SETUP YY_BREAK case 80: YY_RULE_SETUP -#line 833 "toke.l" +#line 813 "toke.l" { LEXTRACE(", "); return ','; @@ -4603,7 +4583,7 @@ YY_RULE_SETUP YY_BREAK case 81: YY_RULE_SETUP -#line 838 "toke.l" +#line 818 "toke.l" { LEXTRACE("= "); return '='; @@ -4611,7 +4591,7 @@ YY_RULE_SETUP YY_BREAK case 82: YY_RULE_SETUP -#line 843 "toke.l" +#line 823 "toke.l" { LEXTRACE(": "); return ':'; @@ -4619,7 +4599,7 @@ YY_RULE_SETUP YY_BREAK case 83: YY_RULE_SETUP -#line 848 "toke.l" +#line 828 "toke.l" { if (sudoersleng & 1) { LEXTRACE("!"); @@ -4630,7 +4610,7 @@ YY_RULE_SETUP case 84: /* rule 84 can match eol */ YY_RULE_SETUP -#line 855 "toke.l" +#line 835 "toke.l" { if (YY_START == INSTR) { /* throw away old string */ @@ -4652,7 +4632,7 @@ YY_RULE_SETUP YY_BREAK case 85: YY_RULE_SETUP -#line 874 "toke.l" +#line 854 "toke.l" { /* throw away space/tabs */ sawspace = true; /* but remember for fill_args */ } @@ -4660,7 +4640,7 @@ YY_RULE_SETUP case 86: /* rule 86 can match eol */ YY_RULE_SETUP -#line 878 "toke.l" +#line 858 "toke.l" { sawspace = true; /* remember for fill_args */ sudolineno++; @@ -4670,7 +4650,7 @@ YY_RULE_SETUP case 87: /* rule 87 can match eol */ YY_RULE_SETUP -#line 884 "toke.l" +#line 864 "toke.l" { if (sudoerstext[sudoersleng - 1] == '\n') { /* comment ending in a newline */ @@ -4688,7 +4668,7 @@ YY_RULE_SETUP YY_BREAK case 88: YY_RULE_SETUP -#line 899 "toke.l" +#line 879 "toke.l" { LEXTRACE("NOMATCH "); return NOMATCH; @@ -4704,7 +4684,7 @@ case YY_STATE_EOF(INSTR): case YY_STATE_EOF(WANTDIGEST): case YY_STATE_EOF(GOTINC): case YY_STATE_EOF(EXPECTPATH): -#line 904 "toke.l" +#line 884 "toke.l" { if (!pop_include()) yyterminate(); @@ -4712,10 +4692,10 @@ case YY_STATE_EOF(EXPECTPATH): YY_BREAK case 89: YY_RULE_SETUP -#line 909 "toke.l" +#line 889 "toke.l" ECHO; YY_BREAK -#line 4713 "toke.c" +#line 4693 "toke.c" case YY_END_OF_BUFFER: { @@ -5684,7 +5664,7 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 909 "toke.l" +#line 889 "toke.l" struct path_list { SLIST_ENTRY(path_list) entries; diff --git a/plugins/sudoers/toke.l b/plugins/sudoers/toke.l index 1fa97491e..195d71334 100644 --- a/plugins/sudoers/toke.l +++ b/plugins/sudoers/toke.l @@ -2,7 +2,7 @@ /* * SPDX-License-Identifier: ISC * - * Copyright (c) 1996, 1998-2005, 2007-2023 + * Copyright (c) 1996, 1998-2005, 2007-2024 * Todd C. Miller * * Permission to use, copy, modify, and distribute this software for any @@ -658,50 +658,29 @@ ALL { } ROLE { -#ifdef HAVE_SELINUX LEXTRACE("ROLE "); return ROLE; -#else - goto got_alias; -#endif } TYPE { -#ifdef HAVE_SELINUX LEXTRACE("TYPE "); return TYPE; -#else - goto got_alias; -#endif } APPARMOR_PROFILE { -#ifdef HAVE_APPARMOR LEXTRACE("APPARMOR_PROFILE "); return APPARMOR_PROFILE; -#else - goto got_alias; -#endif } PRIVS { -#ifdef HAVE_PRIV_SET LEXTRACE("PRIVS "); return PRIVS; -#else - goto got_alias; -#endif } LIMITPRIVS { -#ifdef HAVE_PRIV_SET LEXTRACE("LIMITPRIVS "); return LIMITPRIVS; -#else - goto got_alias; -#endif } [[:upper:]][[:upper:][:digit:]_]* { - got_alias: if (!fill(sudoerstext, sudoersleng)) yyterminate(); LEXTRACE("ALIAS "); @@ -787,10 +766,11 @@ sudoedit { yyterminate(); } /* a regex */ -\" { +\" { LEXTRACE("BEGINSTR "); sudoerslval.string = NULL; - prev_state = YY_START; + if (YY_START != EXPECTPATH) + prev_state = YY_START; BEGIN INSTR; } diff --git a/plugins/sudoers/tsdump.c b/plugins/sudoers/tsdump.c index 0002a4815..d8f708efc 100644 --- a/plugins/sudoers/tsdump.c +++ b/plugins/sudoers/tsdump.c @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: ISC * - * Copyright (c) 2018-2020 Todd C. Miller + * Copyright (c) 2018-2023 Todd C. Miller * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -23,6 +23,13 @@ #include +#include +#if defined(MAJOR_IN_MKDEV) +# include +#elif defined(MAJOR_IN_SYSMACROS) +# include +#endif + #include #include #include @@ -82,7 +89,8 @@ main(int argc, char *argv[]) /* Initialize the debug subsystem. */ if (sudo_conf_read(NULL, SUDO_CONF_DEBUG) == -1) return EXIT_FAILURE; - sudoers_debug_register(getprogname(), sudo_conf_debug_files(getprogname())); + if (!sudoers_debug_register(getprogname(), sudo_conf_debug_files(getprogname()))) + return EXIT_FAILURE; while ((ch = getopt(argc, argv, "f:u:")) != -1) { switch (ch) { @@ -112,14 +120,19 @@ main(int argc, char *argv[]) sudo_timespecsub(&now, &timediff, &timediff); if (fname == NULL) { - struct passwd *pw; + uid_t uid; + int len; if (user == NULL) { - if ((pw = getpwuid(geteuid())) == NULL) - sudo_fatalx(U_("unknown uid %u"), (unsigned int)geteuid()); - user = pw->pw_name; + uid = geteuid(); + } else { + struct passwd *pw = getpwnam(user); + if (pw == NULL) + sudo_fatalx(U_("unknown user %s"), user); + uid = pw->pw_uid; } - if (asprintf(&fname, "%s/%s", _PATH_SUDO_TIMEDIR, user) == -1) + len = asprintf(&fname, "%s/%u", _PATH_SUDO_TIMEDIR, (unsigned int)uid); + if (len == -1) sudo_fatalx(U_("%s: %s"), __func__, U_("unable to allocate memory")); } @@ -282,22 +295,27 @@ dump_entry(struct timestamp_entry *entry, off_t pos) printf("size: %hu\n", entry->size); printf("type: %s\n", type2string(entry->type)); print_flags(entry->flags); - printf("auth uid: %d\n", (int)entry->auth_uid); + printf("auth uid: %u\n", (unsigned int)entry->auth_uid); printf("session ID: %d\n", (int)entry->sid); if (sudo_timespecisset(&entry->start_time)) printf("start time: %s", ctime(&entry->start_time.tv_sec)); if (sudo_timespecisset(&entry->ts)) printf("time stamp: %s", ctime(&entry->ts.tv_sec)); if (entry->type == TS_TTY) { - char tty[PATH_MAX]; - if (sudo_ttyname_dev(entry->u.ttydev, tty, sizeof(tty)) == NULL) - printf("terminal: %d\n", (int)entry->u.ttydev); - else - printf("terminal: %s\n", tty); + char ttypath[PATH_MAX]; + if (sudo_ttyname_dev(entry->u.ttydev, ttypath, sizeof(ttypath)) == NULL) { + printf("terminal: %u, %u (0x%x)\n", + (unsigned int)major(entry->u.ttydev), + (unsigned int)minor(entry->u.ttydev), + (unsigned int)entry->u.ttydev); + } else { + printf("terminal: %s (0x%x)\n", ttypath, + (unsigned int)entry->u.ttydev); + } } else if (entry->type == TS_PPID) { printf("parent pid: %d\n", (int)entry->u.ppid); } - fputc('\n', stdout); + putchar('\n'); debug_return; } diff --git a/plugins/system_group/Makefile.in b/plugins/system_group/Makefile.in index 9bdebde05..1a3d98fb2 100644 --- a/plugins/system_group/Makefile.in +++ b/plugins/system_group/Makefile.in @@ -1,7 +1,7 @@ # # SPDX-License-Identifier: ISC # -# Copyright (c) 2011-2023 Todd C. Miller +# Copyright (c) 2011-2024 Todd C. Miller # # Permission to use, copy, modify, and distribute this software for any # purpose with or without fee is hereby granted, provided that the above @@ -33,6 +33,7 @@ cross_compiling = @CROSS_COMPILING@ # Compiler & tools to use CC = @CC@ +CPP = @CPP@ LIBTOOL = @LIBTOOL@ SED = @SED@ AWK = @AWK@ @@ -135,7 +136,7 @@ Makefile: $(srcdir)/Makefile.in $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $< .c.i: - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $< > $@ .i.plog: ifile=$<; rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $${ifile%i}c --i-file $< --output-file $@ @@ -221,6 +222,6 @@ system_group.i: $(srcdir)/system_group.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_dso.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/system_group.c > $@ system_group.plog: system_group.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/system_group.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/system_group.c --i-file system_group.i --output-file $@ diff --git a/po/cs.mo b/po/cs.mo index befc22abd..79af0b6d7 100644 Binary files a/po/cs.mo and b/po/cs.mo differ diff --git a/po/cs.po b/po/cs.po index e8bbc0de2..4ea119e62 100644 --- a/po/cs.po +++ b/po/cs.po @@ -2,14 +2,14 @@ # This file is put in the public domain. # Todd C. Miller , 2011-2013 # Petr Pisar , 2013, 2014, 2015, 2016, 2017, 2018, 2019. -# Petr Pisar , 2020, 2021, 2022, 2023. +# Petr Pisar , 2020, 2021, 2022, 2023, 2024. # msgid "" msgstr "" -"Project-Id-Version: sudo 1.9.14b1\n" +"Project-Id-Version: sudo 1.9.16b1\n" "Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n" -"POT-Creation-Date: 2023-06-07 13:27-0600\n" -"PO-Revision-Date: 2023-06-08 20:50+02:00\n" +"POT-Creation-Date: 2024-06-08 09:06-0600\n" +"PO-Revision-Date: 2024-06-16 18:09+02:00\n" "Last-Translator: Petr Pisar \n" "Language-Team: Czech \n" "Language: cs\n" @@ -32,78 +32,80 @@ msgid "unable to restore registry" msgstr "registr nelze obnovit" #: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/gidlist.c:76 -#: lib/util/json.c:55 lib/util/json.c:197 lib/util/sudo_conf.c:215 -#: lib/util/sudo_conf.c:301 lib/util/sudo_conf.c:378 lib/util/sudo_conf.c:647 -#: src/conversation.c:78 src/exec_iolog.c:122 src/exec_iolog.c:133 -#: src/exec_iolog.c:210 src/exec_monitor.c:171 src/exec_monitor.c:418 -#: src/exec_monitor.c:424 src/exec_monitor.c:432 src/exec_monitor.c:440 -#: src/exec_monitor.c:447 src/exec_monitor.c:454 src/exec_monitor.c:461 -#: src/exec_monitor.c:468 src/exec_monitor.c:475 src/exec_monitor.c:482 -#: src/exec_monitor.c:489 src/exec_nopty.c:231 src/exec_nopty.c:240 +#: lib/util/json.c:55 lib/util/json.c:197 lib/util/sudo_conf.c:218 +#: lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381 lib/util/sudo_conf.c:672 +#: src/conversation.c:81 src/exec_iolog.c:122 src/exec_iolog.c:133 +#: src/exec_iolog.c:210 src/exec_monitor.c:173 src/exec_monitor.c:430 +#: src/exec_monitor.c:436 src/exec_monitor.c:444 src/exec_monitor.c:452 +#: src/exec_monitor.c:459 src/exec_monitor.c:466 src/exec_monitor.c:473 +#: src/exec_monitor.c:480 src/exec_monitor.c:487 src/exec_monitor.c:494 +#: src/exec_monitor.c:501 src/exec_nopty.c:231 src/exec_nopty.c:240 #: src/exec_nopty.c:247 src/exec_nopty.c:254 src/exec_nopty.c:261 #: src/exec_nopty.c:268 src/exec_nopty.c:275 src/exec_nopty.c:282 #: src/exec_nopty.c:289 src/exec_nopty.c:296 src/exec_nopty.c:303 #: src/exec_nopty.c:310 src/exec_nopty.c:318 src/exec_nopty.c:326 -#: src/exec_nopty.c:744 src/exec_preload.c:343 src/exec_ptrace.c:475 -#: src/exec_ptrace.c:768 src/exec_ptrace.c:983 src/exec_ptrace.c:1096 -#: src/exec_ptrace.c:1271 src/exec_ptrace.c:1624 src/exec_ptrace.c:1651 -#: src/exec_ptrace.c:1841 src/exec_pty.c:581 src/exec_pty.c:765 -#: src/exec_pty.c:963 src/exec_pty.c:972 src/exec_pty.c:979 src/exec_pty.c:986 -#: src/exec_pty.c:993 src/exec_pty.c:1000 src/exec_pty.c:1007 -#: src/exec_pty.c:1014 src/exec_pty.c:1021 src/exec_pty.c:1028 -#: src/exec_pty.c:1035 src/exec_pty.c:1042 src/exec_pty.c:1050 -#: src/load_plugins.c:100 src/load_plugins.c:125 src/load_plugins.c:161 -#: src/load_plugins.c:394 src/load_plugins.c:400 src/parse_args.c:172 -#: src/parse_args.c:193 src/parse_args.c:269 src/parse_args.c:625 -#: src/parse_args.c:647 src/parse_args.c:672 src/preserve_fds.c:46 -#: src/preserve_fds.c:131 src/selinux.c:89 src/selinux.c:362 src/selinux.c:472 -#: src/selinux.c:489 src/selinux.c:496 src/sesh.c:206 src/sesh.c:240 -#: src/sesh.c:246 src/sesh.c:253 src/sesh.c:259 src/sesh.c:470 src/sudo.c:644 -#: src/sudo.c:709 src/sudo.c:719 src/sudo.c:746 src/sudo.c:769 src/sudo.c:778 -#: src/sudo.c:787 src/sudo.c:805 src/sudo.c:846 src/sudo.c:855 src/sudo.c:865 -#: src/sudo.c:898 src/sudo.c:1127 src/sudo.c:1148 src/sudo.c:1441 -#: src/sudo.c:1610 src/sudo.c:1837 src/sudo.c:2171 src/sudo_edit.c:89 -#: src/sudo_edit.c:149 src/sudo_edit.c:430 src/sudo_edit.c:439 -#: src/sudo_edit.c:540 src/sudo_edit.c:547 src/sudo_edit.c:692 -#: src/sudo_edit.c:712 src/sudo_intercept_common.c:115 -#: src/sudo_intercept_common.c:340 +#: src/exec_nopty.c:748 src/exec_preload.c:347 src/exec_ptrace.c:475 +#: src/exec_ptrace.c:768 src/exec_ptrace.c:985 src/exec_ptrace.c:1098 +#: src/exec_ptrace.c:1273 src/exec_ptrace.c:1626 src/exec_ptrace.c:1653 +#: src/exec_ptrace.c:1845 src/exec_pty.c:599 src/exec_pty.c:783 +#: src/exec_pty.c:990 src/exec_pty.c:999 src/exec_pty.c:1006 +#: src/exec_pty.c:1013 src/exec_pty.c:1020 src/exec_pty.c:1027 +#: src/exec_pty.c:1034 src/exec_pty.c:1041 src/exec_pty.c:1048 +#: src/exec_pty.c:1055 src/exec_pty.c:1062 src/exec_pty.c:1069 +#: src/exec_pty.c:1077 src/load_plugins.c:100 src/load_plugins.c:125 +#: src/load_plugins.c:161 src/load_plugins.c:394 src/load_plugins.c:400 +#: src/parse_args.c:171 src/parse_args.c:192 src/parse_args.c:268 +#: src/parse_args.c:624 src/parse_args.c:646 src/parse_args.c:671 +#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89 +#: src/selinux.c:362 src/selinux.c:472 src/selinux.c:489 src/selinux.c:496 +#: src/sesh.c:206 src/sesh.c:240 src/sesh.c:246 src/sesh.c:253 src/sesh.c:259 +#: src/sesh.c:470 src/sudo.c:581 src/sudo.c:607 src/sudo.c:660 src/sudo.c:726 +#: src/sudo.c:737 src/sudo.c:764 src/sudo.c:787 src/sudo.c:796 src/sudo.c:805 +#: src/sudo.c:818 src/sudo.c:827 src/sudo.c:868 src/sudo.c:878 src/sudo.c:888 +#: src/sudo.c:921 src/sudo.c:923 src/sudo.c:1150 src/sudo.c:1171 +#: src/sudo.c:1462 src/sudo.c:1631 src/sudo.c:1858 src/sudo.c:2191 +#: src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:430 +#: src/sudo_edit.c:439 src/sudo_edit.c:540 src/sudo_edit.c:547 +#: src/sudo_edit.c:692 src/sudo_edit.c:712 src/sudo_intercept_common.c:122 +#: src/sudo_intercept_common.c:347 #, c-format msgid "%s: %s" msgstr "%s: %s" #: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/json.c:56 -#: lib/util/json.c:198 lib/util/regex.c:173 lib/util/sudo_conf.c:216 -#: lib/util/sudo_conf.c:301 lib/util/sudo_conf.c:378 lib/util/sudo_conf.c:647 -#: src/conversation.c:79 src/exec_intercept.c:111 src/exec_intercept.c:350 -#: src/exec_intercept.c:525 src/exec_intercept.c:589 src/exec_intercept.c:713 -#: src/exec_intercept.c:837 src/exec_iolog.c:122 src/exec_iolog.c:133 -#: src/exec_iolog.c:210 src/exec_monitor.c:418 src/exec_monitor.c:424 -#: src/exec_monitor.c:432 src/exec_monitor.c:440 src/exec_monitor.c:447 -#: src/exec_monitor.c:454 src/exec_monitor.c:461 src/exec_monitor.c:468 -#: src/exec_monitor.c:475 src/exec_monitor.c:482 src/exec_monitor.c:489 +#: lib/util/json.c:198 lib/util/regex.c:173 lib/util/sudo_conf.c:219 +#: lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381 lib/util/sudo_conf.c:672 +#: src/conversation.c:82 src/exec_intercept.c:112 src/exec_intercept.c:351 +#: src/exec_intercept.c:527 src/exec_intercept.c:591 src/exec_intercept.c:715 +#: src/exec_intercept.c:839 src/exec_iolog.c:122 src/exec_iolog.c:133 +#: src/exec_iolog.c:210 src/exec_monitor.c:430 src/exec_monitor.c:436 +#: src/exec_monitor.c:444 src/exec_monitor.c:452 src/exec_monitor.c:459 +#: src/exec_monitor.c:466 src/exec_monitor.c:473 src/exec_monitor.c:480 +#: src/exec_monitor.c:487 src/exec_monitor.c:494 src/exec_monitor.c:501 #: src/exec_nopty.c:231 src/exec_nopty.c:240 src/exec_nopty.c:247 #: src/exec_nopty.c:254 src/exec_nopty.c:261 src/exec_nopty.c:268 #: src/exec_nopty.c:275 src/exec_nopty.c:282 src/exec_nopty.c:289 #: src/exec_nopty.c:296 src/exec_nopty.c:303 src/exec_nopty.c:310 -#: src/exec_nopty.c:318 src/exec_nopty.c:326 src/exec_preload.c:343 -#: src/exec_ptrace.c:475 src/exec_ptrace.c:768 src/exec_ptrace.c:983 -#: src/exec_ptrace.c:1651 src/exec_ptrace.c:1842 src/exec_pty.c:581 -#: src/exec_pty.c:963 src/exec_pty.c:972 src/exec_pty.c:979 src/exec_pty.c:986 -#: src/exec_pty.c:993 src/exec_pty.c:1000 src/exec_pty.c:1007 -#: src/exec_pty.c:1014 src/exec_pty.c:1021 src/exec_pty.c:1028 -#: src/exec_pty.c:1035 src/exec_pty.c:1042 src/exec_pty.c:1050 -#: src/load_plugins.c:100 src/load_plugins.c:125 src/load_plugins.c:161 -#: src/load_plugins.c:394 src/load_plugins.c:400 src/parse_args.c:172 -#: src/parse_args.c:194 src/parse_args.c:269 src/parse_args.c:625 -#: src/parse_args.c:647 src/parse_args.c:672 src/preserve_fds.c:46 -#: src/preserve_fds.c:131 src/selinux.c:89 src/selinux.c:362 src/selinux.c:472 -#: src/selinux.c:489 src/selinux.c:496 src/sesh.c:206 src/sesh.c:471 -#: src/sudo.c:228 src/sudo.c:644 src/sudo.c:898 src/sudo.c:1127 -#: src/sudo.c:1148 src/sudo.c:1441 src/sudo.c:1610 src/sudo.c:1837 -#: src/sudo.c:2171 src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:430 +#: src/exec_nopty.c:318 src/exec_nopty.c:326 src/exec_preload.c:347 +#: src/exec_ptrace.c:475 src/exec_ptrace.c:768 src/exec_ptrace.c:985 +#: src/exec_ptrace.c:1653 src/exec_ptrace.c:1846 src/exec_pty.c:599 +#: src/exec_pty.c:990 src/exec_pty.c:999 src/exec_pty.c:1006 +#: src/exec_pty.c:1013 src/exec_pty.c:1020 src/exec_pty.c:1027 +#: src/exec_pty.c:1034 src/exec_pty.c:1041 src/exec_pty.c:1048 +#: src/exec_pty.c:1055 src/exec_pty.c:1062 src/exec_pty.c:1069 +#: src/exec_pty.c:1077 src/load_plugins.c:100 src/load_plugins.c:125 +#: src/load_plugins.c:161 src/load_plugins.c:394 src/load_plugins.c:400 +#: src/parse_args.c:171 src/parse_args.c:193 src/parse_args.c:268 +#: src/parse_args.c:624 src/parse_args.c:646 src/parse_args.c:671 +#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89 +#: src/selinux.c:362 src/selinux.c:472 src/selinux.c:489 src/selinux.c:496 +#: src/sesh.c:206 src/sesh.c:471 src/sudo.c:229 src/sudo.c:581 src/sudo.c:607 +#: src/sudo.c:660 src/sudo.c:819 src/sudo.c:921 src/sudo.c:923 src/sudo.c:1150 +#: src/sudo.c:1171 src/sudo.c:1462 src/sudo.c:1631 src/sudo.c:1858 +#: src/sudo.c:2191 src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:430 #: src/sudo_edit.c:439 src/sudo_edit.c:540 src/sudo_edit.c:547 -#: src/sudo_edit.c:692 src/sudo_edit.c:712 src/sudo_intercept_common.c:115 -#: src/sudo_intercept_common.c:340 +#: src/sudo_edit.c:692 src/sudo_edit.c:712 src/sudo_intercept_common.c:122 +#: src/sudo_intercept_common.c:347 msgid "unable to allocate memory" msgstr "nelze alokovat paměť" @@ -117,9 +119,9 @@ msgstr "nelze získat údaje o %.*s" msgid "%.*s exists but is not a directory (0%o)" msgstr "%.*s existuje, ale nejedná se o adresář (0%o)" -#: lib/util/mkdir_parents.c:103 lib/util/sudo_conf.c:664 -#: lib/util/sudo_conf.c:683 lib/util/sudo_conf.c:710 src/selinux.c:235 -#: src/selinux.c:265 src/sudo.c:373 src/sudo_edit.c:495 src/sudo_edit.c:559 +#: lib/util/mkdir_parents.c:103 lib/util/sudo_conf.c:689 +#: lib/util/sudo_conf.c:708 lib/util/sudo_conf.c:735 src/selinux.c:235 +#: src/selinux.c:265 src/sudo.c:375 src/sudo_edit.c:495 src/sudo_edit.c:559 #, c-format msgid "unable to open %s" msgstr "%s nelze otevřít" @@ -142,56 +144,56 @@ msgstr "regulární výraz je příliš dlouhý" msgid "Unknown signal" msgstr "Neznámý signál" -#: lib/util/strtoid.c:84 lib/util/strtomode.c:52 lib/util/strtonum.c:148 -#: lib/util/strtonum.c:187 src/sesh.c:240 src/sesh.c:253 +#: lib/util/strtoid.c:84 lib/util/strtomode.c:52 lib/util/strtonum.c:147 +#: lib/util/strtonum.c:186 src/sesh.c:240 src/sesh.c:253 msgid "invalid value" msgstr "neplatná hodnota" -#: lib/util/strtomode.c:58 lib/util/strtonum.c:160 +#: lib/util/strtomode.c:58 lib/util/strtonum.c:159 msgid "value too large" msgstr "hodnota je příliš velká" -#: lib/util/strtomode.c:58 lib/util/strtonum.c:154 +#: lib/util/strtomode.c:58 lib/util/strtonum.c:153 msgid "value too small" msgstr "hodnota je příliš malá" -#: lib/util/sudo_conf.c:234 +#: lib/util/sudo_conf.c:237 #, c-format msgid "invalid Path value \"%s\" in %s, line %u" msgstr "neplatná hodnota Path „%s“ v %s, řádek %u" -#: lib/util/sudo_conf.c:400 lib/util/sudo_conf.c:453 +#: lib/util/sudo_conf.c:403 lib/util/sudo_conf.c:456 #, c-format msgid "invalid value for %s \"%s\" in %s, line %u" msgstr "neplatná hodnota pro %s „%s“ v %s, řádek %u" -#: lib/util/sudo_conf.c:421 +#: lib/util/sudo_conf.c:424 #, c-format msgid "unsupported group source \"%s\" in %s, line %u" msgstr "nepodporovaný zdroj skupin „%s“ v %s, řádek %u" # This is about maximal GID. English text "max groups" is wrong. -#: lib/util/sudo_conf.c:437 +#: lib/util/sudo_conf.c:440 #, c-format msgid "invalid max groups \"%s\" in %s, line %u" msgstr "neplatné maximum skupin „%s“ v %s, řádek %u" -#: lib/util/sudo_conf.c:686 +#: lib/util/sudo_conf.c:711 #, c-format msgid "%s is not a regular file" msgstr "%s není obyčejný soubor" -#: lib/util/sudo_conf.c:689 src/copy_file.c:164 +#: lib/util/sudo_conf.c:714 src/copy_file.c:164 #, c-format msgid "%s is owned by uid %u, should be %u" msgstr "%s je vlastněn UID %u, avšak UID by mělo být %u" -#: lib/util/sudo_conf.c:693 +#: lib/util/sudo_conf.c:718 #, c-format msgid "%s is world writable" msgstr "%s je zapisovatelný pro všechny" -#: lib/util/sudo_conf.c:696 +#: lib/util/sudo_conf.c:721 #, c-format msgid "%s is group writable" msgstr "%s je zapisovatelný pro skupinu" @@ -287,18 +289,18 @@ msgstr "pracovní adresář nelze změnit na %s" msgid "starting from %s" msgstr "začíná se od %s" -#: src/exec.c:278 src/exec.c:351 src/exec_monitor.c:552 src/exec_monitor.c:554 -#: src/exec_pty.c:1122 src/exec_pty.c:1124 src/signal.c:144 src/signal.c:151 +#: src/exec.c:278 src/exec.c:351 src/exec_monitor.c:564 src/exec_monitor.c:566 +#: src/exec_pty.c:1148 src/exec_pty.c:1150 src/signal.c:144 src/signal.c:151 #: src/signal.c:165 src/suspend_parent.c:143 #, c-format msgid "unable to set handler for signal %d" msgstr "obsluhu pro signál %d nelze nastavit" -#: src/exec.c:424 +#: src/exec.c:447 msgid "intercept mode is not supported with SELinux RBAC on this system" msgstr "režim zachytávání není na tomto systému se selinuxovým RBAC podporován" -#: src/exec.c:429 +#: src/exec.c:452 msgid "unable to log sub-commands with SELinux RBAC on this system" msgstr "na tomto systému se selinuxovým RBAC nelze zaznamenávat podpříkazy" @@ -306,63 +308,63 @@ msgstr "na tomto systému se selinuxovým RBAC nelze zaznamenávat podpříkazy" msgid "unable to remove PRIV_PROC_EXEC from PRIV_LIMIT" msgstr "z PRIV_LIMIT nelze odstranit PRIV_PROC_EXEC" -#: src/exec_intercept.c:70 src/exec_iolog.c:163 src/exec_iolog.c:173 +#: src/exec_intercept.c:71 src/exec_iolog.c:163 src/exec_iolog.c:173 #: src/exec_iolog.c:218 src/exec_iolog.c:225 src/exec_iolog.c:252 -#: src/exec_monitor.c:426 src/exec_monitor.c:434 src/exec_monitor.c:442 -#: src/exec_monitor.c:449 src/exec_monitor.c:456 src/exec_monitor.c:463 -#: src/exec_monitor.c:470 src/exec_monitor.c:477 src/exec_monitor.c:484 -#: src/exec_monitor.c:491 src/exec_nopty.c:233 src/exec_nopty.c:242 +#: src/exec_monitor.c:438 src/exec_monitor.c:446 src/exec_monitor.c:454 +#: src/exec_monitor.c:461 src/exec_monitor.c:468 src/exec_monitor.c:475 +#: src/exec_monitor.c:482 src/exec_monitor.c:489 src/exec_monitor.c:496 +#: src/exec_monitor.c:503 src/exec_nopty.c:233 src/exec_nopty.c:242 #: src/exec_nopty.c:249 src/exec_nopty.c:256 src/exec_nopty.c:263 #: src/exec_nopty.c:270 src/exec_nopty.c:277 src/exec_nopty.c:284 #: src/exec_nopty.c:291 src/exec_nopty.c:298 src/exec_nopty.c:305 #: src/exec_nopty.c:312 src/exec_nopty.c:320 src/exec_nopty.c:328 -#: src/exec_nopty.c:387 src/exec_nopty.c:457 src/exec_pty.c:432 -#: src/exec_pty.c:537 src/exec_pty.c:587 src/exec_pty.c:965 src/exec_pty.c:974 -#: src/exec_pty.c:981 src/exec_pty.c:988 src/exec_pty.c:995 -#: src/exec_pty.c:1002 src/exec_pty.c:1009 src/exec_pty.c:1016 -#: src/exec_pty.c:1023 src/exec_pty.c:1030 src/exec_pty.c:1037 -#: src/exec_pty.c:1044 +#: src/exec_nopty.c:387 src/exec_nopty.c:457 src/exec_pty.c:441 +#: src/exec_pty.c:555 src/exec_pty.c:605 src/exec_pty.c:992 src/exec_pty.c:1001 +#: src/exec_pty.c:1008 src/exec_pty.c:1015 src/exec_pty.c:1022 +#: src/exec_pty.c:1029 src/exec_pty.c:1036 src/exec_pty.c:1043 +#: src/exec_pty.c:1050 src/exec_pty.c:1057 src/exec_pty.c:1064 +#: src/exec_pty.c:1071 msgid "unable to add event to queue" msgstr "událost nelze přidat do fronty" -#: src/exec_intercept.c:323 src/sudo.c:1033 +#: src/exec_intercept.c:324 src/sudo.c:1056 msgid "command not set by the security policy" msgstr "příkaz nenastaven bezpečnostní politikou" -#: src/exec_intercept.c:401 src/exec_intercept.c:441 src/sudo.c:1253 -#: src/sudo.c:1298 src/sudo.c:1342 +#: src/exec_intercept.c:403 src/exec_intercept.c:443 src/sudo.c:1274 +#: src/sudo.c:1319 src/sudo.c:1363 msgid "command rejected by policy" msgstr "příkaz zamítnut politikou" -#: src/exec_intercept.c:512 src/sudo.c:1940 +#: src/exec_intercept.c:514 src/sudo.c:1961 msgid "approval plugin error" msgstr "chyba schvalovacího modulu" -#: src/exec_intercept.c:537 src/sudo.c:1258 src/sudo.c:1303 src/sudo.c:1347 -#: src/sudo.c:1421 +#: src/exec_intercept.c:539 src/sudo.c:1279 src/sudo.c:1324 src/sudo.c:1368 +#: src/sudo.c:1442 msgid "policy plugin error" msgstr "chyba modulu s politikou" -#: src/exec_intercept.c:566 +#: src/exec_intercept.c:568 msgid "invalid PolicyCheckRequest" msgstr "neplatný požadavek PolicyCheckRequest" -#: src/exec_intercept.c:709 +#: src/exec_intercept.c:711 #, c-format msgid "client request too large: %zu" msgstr "požadavek od klienta je příliš dlouhý: %zu" -#: src/exec_intercept.c:751 +#: src/exec_intercept.c:753 #, c-format msgid "unable to unpack %s size %zu" msgstr "nelze rozbalit %s o velikosti %zu" -#: src/exec_intercept.c:799 +#: src/exec_intercept.c:801 #, c-format msgid "unexpected type_case value %d in %s from %s" msgstr "nečekaná hodnota type_case %d v %s od %s" -#: src/exec_intercept.c:825 +#: src/exec_intercept.c:827 #, c-format msgid "server message too large: %zu" msgstr "zpráva serveru je příliš dlouhá: %zu" @@ -385,135 +387,135 @@ msgstr "chyba pozastavování protokolu" msgid "error changing window size" msgstr "chyba při měnění velikosti okna" -#: src/exec_monitor.c:328 +#: src/exec_monitor.c:330 msgid "error reading from socketpair" msgstr "chyba při čtení z dvojice socketů" -#: src/exec_monitor.c:340 +#: src/exec_monitor.c:342 #, c-format msgid "unexpected reply type on backchannel: %d" msgstr "neočekávaný druh odpovědi na zpětném kanálu: %d" -#: src/exec_monitor.c:566 +#: src/exec_monitor.c:578 msgid "unable to set controlling tty" msgstr "řídicí terminál nelze nastavit" -#: src/exec_monitor.c:574 src/exec_nopty.c:504 src/exec_nopty.c:514 -#: src/exec_nopty.c:524 src/exec_nopty.c:560 src/exec_pty.c:1195 -#: src/exec_pty.c:1222 src/exec_pty.c:1242 src/exec_pty.c:1262 -#: src/tgetpass.c:306 -msgid "unable to create pipe" -msgstr "nelze vytvořit rouru" +#: src/exec_monitor.c:590 src/exec_nopty.c:572 src/exec_pty.c:1126 +#: src/exec_pty.c:1135 +msgid "unable to create sockets" +msgstr "nelze vytvořit sockety" -#: src/exec_monitor.c:584 +#: src/exec_monitor.c:599 msgid "unable to receive message from parent" msgstr "od rodiče nelze přijmout zprávu" -#: src/exec_monitor.c:600 src/exec_nopty.c:603 src/exec_pty.c:1303 +#: src/exec_monitor.c:614 src/exec_nopty.c:606 src/exec_pty.c:1336 #: src/sudo_edit.c:361 src/tgetpass.c:310 msgid "unable to fork" msgstr "nelze vytvořit potomka" -#: src/exec_monitor.c:604 src/exec_monitor.c:700 src/exec_nopty.c:708 +#: src/exec_monitor.c:618 src/exec_monitor.c:720 src/exec_nopty.c:712 msgid "unable to restore tty label" msgstr "nelze obnovit značku TTY" -#: src/exec_monitor.c:615 src/sesh.c:217 src/sudo.c:1204 +#: src/exec_monitor.c:629 src/exec_monitor.c:678 src/sesh.c:217 src/sudo.c:1225 #, c-format msgid "unable to execute %s" msgstr "%s nelze spustit" -#: src/exec_nopty.c:554 src/exec_pty.c:1131 +#: src/exec_nopty.c:507 src/exec_nopty.c:517 src/exec_nopty.c:527 +#: src/exec_nopty.c:563 src/exec_pty.c:1224 src/exec_pty.c:1251 +#: src/exec_pty.c:1274 src/exec_pty.c:1292 src/tgetpass.c:306 +msgid "unable to create pipe" +msgstr "nelze vytvořit rouru" + +#: src/exec_nopty.c:557 src/exec_pty.c:1157 msgid "policy plugin failed session initialization" msgstr "modul s politikami zrušil inicializaci relace" -#: src/exec_nopty.c:569 src/exec_pty.c:1100 src/exec_pty.c:1109 -msgid "unable to create sockets" -msgstr "nelze vytvořit sockety" - -#: src/exec_nopty.c:696 src/exec_pty.c:1406 +#: src/exec_nopty.c:700 src/exec_pty.c:1437 msgid "error in event loop" msgstr "chyba ve smyčce s událostmi" -#: src/exec_preload.c:167 src/net_ifs.c:206 src/net_ifs.c:372 -#: src/net_ifs.c:433 src/net_ifs.c:620 src/net_ifs.c:852 src/sudo.c:488 -#: src/sudo_edit.c:398 src/sudo_edit.c:406 +#: src/exec_preload.c:168 src/net_ifs.c:206 src/net_ifs.c:372 src/net_ifs.c:433 +#: src/net_ifs.c:620 src/net_ifs.c:852 src/sudo.c:494 src/sudo_edit.c:398 +#: src/sudo_edit.c:406 #, c-format msgid "internal error, %s overflow" msgstr "vnitřní chyba, přetečení v %s" -#: src/exec_ptrace.c:1080 src/exec_ptrace.c:1105 src/exec_ptrace.c:1925 +#: src/exec_ptrace.c:1082 src/exec_ptrace.c:1107 src/exec_ptrace.c:1930 #, c-format msgid "unable to set registers for process %d" msgstr "nelze nastavit registry pro proces %d" -#: src/exec_ptrace.c:1100 src/exec_ptrace.c:1275 src/exec_ptrace.c:1628 +#: src/exec_ptrace.c:1102 src/exec_ptrace.c:1277 src/exec_ptrace.c:1630 #, c-format msgid "process %d exited unexpectedly" msgstr "proces %d nečekaně skončil" -#: src/exec_ptrace.c:1209 +#: src/exec_ptrace.c:1211 msgid "unable to set seccomp filter" msgstr "nelze nastavit filtr seccomp" -#: src/exec_ptrace.c:1406 +#: src/exec_ptrace.c:1408 #, c-format msgid "interpreter argument , expected \"%s\", got \"%s\"" msgstr "argument interpretru, očekáváno „%s“, obdrženo „%s“" -#: src/exec_ptrace.c:1505 +#: src/exec_ptrace.c:1506 #, c-format msgid "pathname mismatch, expected \"%s\", got \"%s\"" msgstr "cesta neodpovídá, očekáváno „%s“, obdrženo „%s“" -#: src/exec_ptrace.c:1514 src/exec_ptrace.c:1521 src/exec_ptrace.c:1545 -#: src/exec_ptrace.c:1553 src/exec_ptrace.c:1559 src/exec_ptrace.c:1565 +#: src/exec_ptrace.c:1515 src/exec_ptrace.c:1522 src/exec_ptrace.c:1546 +#: src/exec_ptrace.c:1554 src/exec_ptrace.c:1560 src/exec_ptrace.c:1566 #, c-format msgid "%s[%d] mismatch, expected \"%s\", got \"%s\"" msgstr "%s[%d] neodpovídá, očekáváno „%s“, obdrženo „%s“" -#: src/exec_ptrace.c:1632 +#: src/exec_ptrace.c:1634 #, c-format msgid "process %d unexpected status 0x%x" msgstr "proces %d má nečekaný stav 0x%x" -#: src/exec_ptrace.c:1723 +#: src/exec_ptrace.c:1727 #, c-format msgid "unable to get event message for process %d" msgstr "nelze získat zprávu o události v procesu %d" -#: src/exec_ptrace.c:1730 +#: src/exec_ptrace.c:1734 #, c-format msgid "unable to get registers for process %d" msgstr "nelze získat registry procesu %d" -#: src/exec_pty.c:84 +#: src/exec_pty.c:87 msgid "unable to allocate pty" msgstr "nelze alokovat PTY" -#: src/exec_pty.c:131 src/exec_pty.c:284 src/tgetpass.c:251 +#: src/exec_pty.c:118 src/exec_pty.c:257 src/tgetpass.c:251 msgid "unable to restore terminal settings" msgstr "nastavení terminálu nelze obnovit" -#: src/exec_pty.c:243 +#: src/exec_pty.c:218 msgid "unable to set handler for SIGCONT" msgstr "obsluhu pro signál SIGCONT nelze nastavit" -#: src/exec_pty.c:293 +#: src/exec_pty.c:267 #, c-format msgid "unable to set handler for SIG%s" msgstr "obsluhu pro signál SIG%s nelze nastavit" -#: src/exec_pty.c:317 +#: src/exec_pty.c:291 #, c-format msgid "unable to restore handler for SIG%s" msgstr "nelze obnovit obsluhu signálu SIG%s" -#: src/exec_pty.c:345 +#: src/exec_pty.c:319 msgid "unable to restore handler for SIGCONT" msgstr "nelze obnovit obsluhu signálu SIGCONT" -#: src/exec_pty.c:1353 +#: src/exec_pty.c:1385 msgid "unable to send message to monitor process" msgstr "dohlížejícímu procesu nelze odeslat zprávu" @@ -562,40 +564,40 @@ msgstr "v %2$s nalezen neznámý druh modulu %1$d" msgid "policy plugin %s does not include a check_policy method" msgstr "modul s politikou %s neobsahuje metodu check_policy" -#: src/parse_args.c:214 +#: src/parse_args.c:213 #, c-format msgid "invalid environment variable name: %s" msgstr "neplatný název proměnné prostředí: %s" -#: src/parse_args.c:319 +#: src/parse_args.c:318 msgid "the argument to -C must be a number greater than or equal to 3" msgstr "argument u -C musí být číslo větší nebo rovno 3" -#: src/parse_args.c:556 +#: src/parse_args.c:555 msgid "you may not specify both the -i and -s options" msgstr "nesmíte zadávat přepínače -i a -s spolu" -#: src/parse_args.c:561 +#: src/parse_args.c:560 msgid "you may not specify both the -i and -E options" msgstr "nesmíte zadávat přepínače -i a -E spolu" -#: src/parse_args.c:571 +#: src/parse_args.c:570 msgid "the -E option is not valid in edit mode" msgstr "přepínač -E není platný v režimu úprav" -#: src/parse_args.c:574 +#: src/parse_args.c:573 msgid "you may not specify environment variables in edit mode" msgstr "v režimu úprav nesmíte zadávat proměnné prostředí" -#: src/parse_args.c:584 +#: src/parse_args.c:583 msgid "the -U option may only be used with the -l option" msgstr "přepínač -U smí být použit jen s přepínačem -l" -#: src/parse_args.c:588 +#: src/parse_args.c:587 msgid "the -A and -S options may not be used together" msgstr "přepínače -A a -S smí nesmí být použity spolu" -#: src/parse_args.c:686 +#: src/parse_args.c:685 msgid "sudoedit is not supported on this platform" msgstr "na této platformě není sudoedit podporován" @@ -949,151 +951,151 @@ msgstr "volání setproject selhalo u projektu „%s“" msgid "warning, resource control assignment failed for project \"%s\"" msgstr "pozor, nepodařilo se přiřadit řízení zdrojů projektu „%s“" -#: src/sudo.c:214 +#: src/sudo.c:215 #, c-format msgid "Sudo version %s\n" msgstr "Sudo verze %s\n" -#: src/sudo.c:216 +#: src/sudo.c:217 #, c-format msgid "Configure options: %s\n" msgstr "Přepínače configure: %s\n" -#: src/sudo.c:224 +#: src/sudo.c:225 msgid "fatal error, unable to load plugins" msgstr "nepřekonatelná chyba, moduly nelze zavést" -#: src/sudo.c:270 +#: src/sudo.c:271 msgid "plugin did not return a command to execute" msgstr "modul nevrátil příkaz k provedení" -#: src/sudo.c:306 +#: src/sudo.c:307 #, c-format msgid "unexpected sudo mode 0x%x" msgstr "neočekávaný režim programu sudo 0x%x" -#: src/sudo.c:559 +#: src/sudo.c:567 #, c-format msgid "you do not exist in the %s database" msgstr "neexistujete v databázi %s" -#: src/sudo.c:616 +#: src/sudo.c:632 msgid "unable to determine tty" msgstr "nelze určit terminál" -#: src/sudo.c:932 +#: src/sudo.c:955 msgid "The \"no new privileges\" flag is set, which prevents sudo from running as root." msgstr "Je nastaven příznak „žádná další oprávnění“, což brání sudu, aby běželo jako root" -#: src/sudo.c:934 +#: src/sudo.c:957 msgid "If sudo is running in a container, you may need to adjust the container configuration to disable the flag." msgstr "Běží-li sudo v kontejneru, můžete potřebovat upravit nastavení kontejneru, aby se tento příznak vypnul." -#: src/sudo.c:968 +#: src/sudo.c:991 #, c-format msgid "%s must be owned by uid %d and have the setuid bit set" msgstr "%s musí být vlastněn UID %d a mít nastaven bit setuid" -#: src/sudo.c:971 +#: src/sudo.c:994 #, c-format msgid "effective uid is not %d, is %s on a file system with the 'nosuid' option set or an NFS file system without root privileges?" msgstr "efektivní UID není %d, nalézá se %s na souborovém systému s nastavenou volbou „nosuid“ nebo na souborovém systému NFS bez práv roota?" -#: src/sudo.c:977 +#: src/sudo.c:1000 #, c-format msgid "effective uid is not %d, is sudo installed setuid root?" msgstr "efektivní UID není %d, je sudo nainstalované jako setuid vlastněné rootem?" -#: src/sudo.c:993 src/tgetpass.c:332 +#: src/sudo.c:1016 src/tgetpass.c:332 msgid "unable to set supplementary group IDs" msgstr "nelze nastavit ID doplňkových skupin" -#: src/sudo.c:1000 +#: src/sudo.c:1023 #, c-format msgid "unable to set effective gid to runas gid %u" msgstr "efektivní GID nelze nastavit na %u" -#: src/sudo.c:1006 +#: src/sudo.c:1029 #, c-format msgid "unable to set gid to runas gid %u" msgstr "GID nelze nastavit na %u" -#: src/sudo.c:1037 +#: src/sudo.c:1060 msgid "argv not set by the security policy" msgstr "pole argumentů nenastaveno bezpečnostní politikou" -#: src/sudo.c:1041 +#: src/sudo.c:1064 msgid "envp not set by the security policy" msgstr "pole proměnných prostředí nenastaveno bezpečnostní politikou" -#: src/sudo.c:1063 +#: src/sudo.c:1086 #, c-format msgid "unexpected child termination condition: %d" msgstr "neočekávaný důvod ukončení potomka: %d" -#: src/sudo.c:1176 +#: src/sudo.c:1198 msgid "unable to initialize policy plugin" msgstr "modul s politikami nelze inicializovat" -#: src/sudo.c:1238 +#: src/sudo.c:1259 #, c-format msgid "policy plugin %s is missing the \"check_policy\" method" msgstr "modulu s politikami %s chybí metoda „check_policy“" -#: src/sudo.c:1284 +#: src/sudo.c:1305 #, c-format msgid "policy plugin %s does not support listing privileges" msgstr "modul s politikami %s nepodporuje získání seznamu oprávnění" -#: src/sudo.c:1328 +#: src/sudo.c:1349 #, c-format msgid "policy plugin %s does not support the -v option" msgstr "modul s politikami %s nepodporuje přepínač -v" -#: src/sudo.c:1366 +#: src/sudo.c:1387 #, c-format msgid "policy plugin %s does not support the -k/-K options" msgstr "modul s politikami %s nepodporuje přepínače -k/-K" -#: src/sudo.c:1495 +#: src/sudo.c:1516 #, c-format msgid "error initializing I/O plugin %s" msgstr "chyba při inicializaci vstupně-výstupního modulu %s" -#: src/sudo.c:1498 +#: src/sudo.c:1519 msgid "error initializing I/O plugin" msgstr "chyba při inicializaci vstupně-výstupního modulu" -#: src/sudo.c:1647 +#: src/sudo.c:1668 #, c-format msgid "error initializing audit plugin %s" msgstr "chyba při inicializaci auditního modulu %s" -#: src/sudo.c:1726 +#: src/sudo.c:1747 #, c-format msgid "%s: unable to log error event%s%s" msgstr "%s nelze zaznamenat chybovou událost%s%s" -#: src/sudo.c:1762 +#: src/sudo.c:1783 #, c-format msgid "%s: unable to log accept event%s%s" msgstr "%s nelze zaznamenat přijímací událost%s%s " -#: src/sudo.c:1767 src/sudo.c:1805 +#: src/sudo.c:1788 src/sudo.c:1826 msgid "audit plugin error" msgstr "chyba auditního modulu" -#: src/sudo.c:1800 +#: src/sudo.c:1821 #, c-format msgid "%s: unable to log reject event%s%s" msgstr "%s nelze zaznamenat zamítací událost%s%s " -#: src/sudo.c:1860 +#: src/sudo.c:1881 #, c-format msgid "error initializing approval plugin %s" msgstr "chyba při inicializaci schvalovacího modulu %s" -#: src/sudo.c:1930 +#: src/sudo.c:1951 msgid "command rejected by approver" msgstr "příkaz zamítnut schvalovatelem" @@ -1153,7 +1155,7 @@ msgstr "chyba modulu: chybí seznam souborů pro program sudoedit" msgid "unable to read the clock" msgstr "nelze přečíst hodiny" -#: src/sudo_intercept_common.c:365 +#: src/sudo_intercept_common.c:372 msgid "intercept port not set" msgstr "zachytávací port nenastaven" @@ -1192,6 +1194,12 @@ msgstr "UID nelze nastavit na %u" msgid "unable to run %s" msgstr "%s nelze spustit" +#: src/ttyname.c:139 src/ttyname.c:182 src/ttyname.c:199 src/ttyname.c:284 +#: src/ttyname.c:312 src/ttyname.c:356 +#, c-format +msgid "unable to find terminal name for device %u, %u" +msgstr "pro zařízení %u, %u nelze nelézt název terminálu" + #: src/utmp.c:283 msgid "unable to save stdin" msgstr "standardní vstup nelze uložit" @@ -1255,9 +1263,6 @@ msgstr "standardní vstup nelze obnovit" #~ msgid "error reading from signal pipe" #~ msgstr "chyba při čtení ze signální roury" -#~ msgid "unable to set terminal to raw mode" -#~ msgstr "terminál nelze přepnout do syrového režimu" - #~ msgid "internal error, tried allocate zero bytes" #~ msgstr "vnitřní chyba, pokus alokovat nula bajtů" diff --git a/po/de.mo b/po/de.mo index 611b3d273..6a99f58d0 100644 Binary files a/po/de.mo and b/po/de.mo differ diff --git a/po/de.po b/po/de.po index b2edc3665..fb326e5f3 100644 --- a/po/de.po +++ b/po/de.po @@ -1,13 +1,13 @@ # German translation for sudo. # This file is distributed under the same license as the sudo package. # Jakob Kramer , 2012, 2013-2014. -# Mario Blättermann , 2012, 2014-2017, 2019-2023. +# Mario Blättermann , 2012, 2014-2017, 2019-2024. msgid "" msgstr "" -"Project-Id-Version: sudo 1.9.14b1\n" +"Project-Id-Version: sudo 1.9.16b1\n" "Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n" -"POT-Creation-Date: 2023-06-07 13:27-0600\n" -"PO-Revision-Date: 2023-06-08 20:27+0200\n" +"POT-Creation-Date: 2024-06-08 09:06-0600\n" +"PO-Revision-Date: 2024-06-18 19:56+0200\n" "Last-Translator: Mario Blättermann \n" "Language-Team: German \n" "Language: de\n" @@ -16,7 +16,7 @@ msgstr "" "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: Lokalize 23.04.1\n" +"X-Generator: Lokalize 24.05.0\n" #: lib/util/aix.c:89 lib/util/aix.c:169 msgid "unable to open userdb" @@ -32,78 +32,80 @@ msgid "unable to restore registry" msgstr "Registrierungsdatenbank konnte nicht wiederhergestellt werden" #: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/gidlist.c:76 -#: lib/util/json.c:55 lib/util/json.c:197 lib/util/sudo_conf.c:215 -#: lib/util/sudo_conf.c:301 lib/util/sudo_conf.c:378 lib/util/sudo_conf.c:647 -#: src/conversation.c:78 src/exec_iolog.c:122 src/exec_iolog.c:133 -#: src/exec_iolog.c:210 src/exec_monitor.c:171 src/exec_monitor.c:418 -#: src/exec_monitor.c:424 src/exec_monitor.c:432 src/exec_monitor.c:440 -#: src/exec_monitor.c:447 src/exec_monitor.c:454 src/exec_monitor.c:461 -#: src/exec_monitor.c:468 src/exec_monitor.c:475 src/exec_monitor.c:482 -#: src/exec_monitor.c:489 src/exec_nopty.c:231 src/exec_nopty.c:240 +#: lib/util/json.c:55 lib/util/json.c:197 lib/util/sudo_conf.c:218 +#: lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381 lib/util/sudo_conf.c:672 +#: src/conversation.c:81 src/exec_iolog.c:122 src/exec_iolog.c:133 +#: src/exec_iolog.c:210 src/exec_monitor.c:173 src/exec_monitor.c:430 +#: src/exec_monitor.c:436 src/exec_monitor.c:444 src/exec_monitor.c:452 +#: src/exec_monitor.c:459 src/exec_monitor.c:466 src/exec_monitor.c:473 +#: src/exec_monitor.c:480 src/exec_monitor.c:487 src/exec_monitor.c:494 +#: src/exec_monitor.c:501 src/exec_nopty.c:231 src/exec_nopty.c:240 #: src/exec_nopty.c:247 src/exec_nopty.c:254 src/exec_nopty.c:261 #: src/exec_nopty.c:268 src/exec_nopty.c:275 src/exec_nopty.c:282 #: src/exec_nopty.c:289 src/exec_nopty.c:296 src/exec_nopty.c:303 #: src/exec_nopty.c:310 src/exec_nopty.c:318 src/exec_nopty.c:326 -#: src/exec_nopty.c:744 src/exec_preload.c:343 src/exec_ptrace.c:475 -#: src/exec_ptrace.c:768 src/exec_ptrace.c:983 src/exec_ptrace.c:1096 -#: src/exec_ptrace.c:1271 src/exec_ptrace.c:1624 src/exec_ptrace.c:1651 -#: src/exec_ptrace.c:1841 src/exec_pty.c:581 src/exec_pty.c:765 -#: src/exec_pty.c:963 src/exec_pty.c:972 src/exec_pty.c:979 src/exec_pty.c:986 -#: src/exec_pty.c:993 src/exec_pty.c:1000 src/exec_pty.c:1007 -#: src/exec_pty.c:1014 src/exec_pty.c:1021 src/exec_pty.c:1028 -#: src/exec_pty.c:1035 src/exec_pty.c:1042 src/exec_pty.c:1050 -#: src/load_plugins.c:100 src/load_plugins.c:125 src/load_plugins.c:161 -#: src/load_plugins.c:394 src/load_plugins.c:400 src/parse_args.c:172 -#: src/parse_args.c:193 src/parse_args.c:269 src/parse_args.c:625 -#: src/parse_args.c:647 src/parse_args.c:672 src/preserve_fds.c:46 -#: src/preserve_fds.c:131 src/selinux.c:89 src/selinux.c:362 src/selinux.c:472 -#: src/selinux.c:489 src/selinux.c:496 src/sesh.c:206 src/sesh.c:240 -#: src/sesh.c:246 src/sesh.c:253 src/sesh.c:259 src/sesh.c:470 src/sudo.c:644 -#: src/sudo.c:709 src/sudo.c:719 src/sudo.c:746 src/sudo.c:769 src/sudo.c:778 -#: src/sudo.c:787 src/sudo.c:805 src/sudo.c:846 src/sudo.c:855 src/sudo.c:865 -#: src/sudo.c:898 src/sudo.c:1127 src/sudo.c:1148 src/sudo.c:1441 -#: src/sudo.c:1610 src/sudo.c:1837 src/sudo.c:2171 src/sudo_edit.c:89 -#: src/sudo_edit.c:149 src/sudo_edit.c:430 src/sudo_edit.c:439 -#: src/sudo_edit.c:540 src/sudo_edit.c:547 src/sudo_edit.c:692 -#: src/sudo_edit.c:712 src/sudo_intercept_common.c:115 -#: src/sudo_intercept_common.c:340 +#: src/exec_nopty.c:748 src/exec_preload.c:347 src/exec_ptrace.c:475 +#: src/exec_ptrace.c:768 src/exec_ptrace.c:985 src/exec_ptrace.c:1098 +#: src/exec_ptrace.c:1273 src/exec_ptrace.c:1626 src/exec_ptrace.c:1653 +#: src/exec_ptrace.c:1845 src/exec_pty.c:599 src/exec_pty.c:783 +#: src/exec_pty.c:990 src/exec_pty.c:999 src/exec_pty.c:1006 +#: src/exec_pty.c:1013 src/exec_pty.c:1020 src/exec_pty.c:1027 +#: src/exec_pty.c:1034 src/exec_pty.c:1041 src/exec_pty.c:1048 +#: src/exec_pty.c:1055 src/exec_pty.c:1062 src/exec_pty.c:1069 +#: src/exec_pty.c:1077 src/load_plugins.c:100 src/load_plugins.c:125 +#: src/load_plugins.c:161 src/load_plugins.c:394 src/load_plugins.c:400 +#: src/parse_args.c:171 src/parse_args.c:192 src/parse_args.c:268 +#: src/parse_args.c:624 src/parse_args.c:646 src/parse_args.c:671 +#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89 +#: src/selinux.c:362 src/selinux.c:472 src/selinux.c:489 src/selinux.c:496 +#: src/sesh.c:206 src/sesh.c:240 src/sesh.c:246 src/sesh.c:253 src/sesh.c:259 +#: src/sesh.c:470 src/sudo.c:581 src/sudo.c:607 src/sudo.c:660 src/sudo.c:726 +#: src/sudo.c:737 src/sudo.c:764 src/sudo.c:787 src/sudo.c:796 src/sudo.c:805 +#: src/sudo.c:818 src/sudo.c:827 src/sudo.c:868 src/sudo.c:878 src/sudo.c:888 +#: src/sudo.c:921 src/sudo.c:923 src/sudo.c:1150 src/sudo.c:1171 +#: src/sudo.c:1462 src/sudo.c:1631 src/sudo.c:1858 src/sudo.c:2191 +#: src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:430 +#: src/sudo_edit.c:439 src/sudo_edit.c:540 src/sudo_edit.c:547 +#: src/sudo_edit.c:692 src/sudo_edit.c:712 src/sudo_intercept_common.c:122 +#: src/sudo_intercept_common.c:347 #, c-format msgid "%s: %s" msgstr "%s: %s" #: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/json.c:56 -#: lib/util/json.c:198 lib/util/regex.c:173 lib/util/sudo_conf.c:216 -#: lib/util/sudo_conf.c:301 lib/util/sudo_conf.c:378 lib/util/sudo_conf.c:647 -#: src/conversation.c:79 src/exec_intercept.c:111 src/exec_intercept.c:350 -#: src/exec_intercept.c:525 src/exec_intercept.c:589 src/exec_intercept.c:713 -#: src/exec_intercept.c:837 src/exec_iolog.c:122 src/exec_iolog.c:133 -#: src/exec_iolog.c:210 src/exec_monitor.c:418 src/exec_monitor.c:424 -#: src/exec_monitor.c:432 src/exec_monitor.c:440 src/exec_monitor.c:447 -#: src/exec_monitor.c:454 src/exec_monitor.c:461 src/exec_monitor.c:468 -#: src/exec_monitor.c:475 src/exec_monitor.c:482 src/exec_monitor.c:489 +#: lib/util/json.c:198 lib/util/regex.c:173 lib/util/sudo_conf.c:219 +#: lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381 lib/util/sudo_conf.c:672 +#: src/conversation.c:82 src/exec_intercept.c:112 src/exec_intercept.c:351 +#: src/exec_intercept.c:527 src/exec_intercept.c:591 src/exec_intercept.c:715 +#: src/exec_intercept.c:839 src/exec_iolog.c:122 src/exec_iolog.c:133 +#: src/exec_iolog.c:210 src/exec_monitor.c:430 src/exec_monitor.c:436 +#: src/exec_monitor.c:444 src/exec_monitor.c:452 src/exec_monitor.c:459 +#: src/exec_monitor.c:466 src/exec_monitor.c:473 src/exec_monitor.c:480 +#: src/exec_monitor.c:487 src/exec_monitor.c:494 src/exec_monitor.c:501 #: src/exec_nopty.c:231 src/exec_nopty.c:240 src/exec_nopty.c:247 #: src/exec_nopty.c:254 src/exec_nopty.c:261 src/exec_nopty.c:268 #: src/exec_nopty.c:275 src/exec_nopty.c:282 src/exec_nopty.c:289 #: src/exec_nopty.c:296 src/exec_nopty.c:303 src/exec_nopty.c:310 -#: src/exec_nopty.c:318 src/exec_nopty.c:326 src/exec_preload.c:343 -#: src/exec_ptrace.c:475 src/exec_ptrace.c:768 src/exec_ptrace.c:983 -#: src/exec_ptrace.c:1651 src/exec_ptrace.c:1842 src/exec_pty.c:581 -#: src/exec_pty.c:963 src/exec_pty.c:972 src/exec_pty.c:979 src/exec_pty.c:986 -#: src/exec_pty.c:993 src/exec_pty.c:1000 src/exec_pty.c:1007 -#: src/exec_pty.c:1014 src/exec_pty.c:1021 src/exec_pty.c:1028 -#: src/exec_pty.c:1035 src/exec_pty.c:1042 src/exec_pty.c:1050 -#: src/load_plugins.c:100 src/load_plugins.c:125 src/load_plugins.c:161 -#: src/load_plugins.c:394 src/load_plugins.c:400 src/parse_args.c:172 -#: src/parse_args.c:194 src/parse_args.c:269 src/parse_args.c:625 -#: src/parse_args.c:647 src/parse_args.c:672 src/preserve_fds.c:46 -#: src/preserve_fds.c:131 src/selinux.c:89 src/selinux.c:362 src/selinux.c:472 -#: src/selinux.c:489 src/selinux.c:496 src/sesh.c:206 src/sesh.c:471 -#: src/sudo.c:228 src/sudo.c:644 src/sudo.c:898 src/sudo.c:1127 -#: src/sudo.c:1148 src/sudo.c:1441 src/sudo.c:1610 src/sudo.c:1837 -#: src/sudo.c:2171 src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:430 +#: src/exec_nopty.c:318 src/exec_nopty.c:326 src/exec_preload.c:347 +#: src/exec_ptrace.c:475 src/exec_ptrace.c:768 src/exec_ptrace.c:985 +#: src/exec_ptrace.c:1653 src/exec_ptrace.c:1846 src/exec_pty.c:599 +#: src/exec_pty.c:990 src/exec_pty.c:999 src/exec_pty.c:1006 +#: src/exec_pty.c:1013 src/exec_pty.c:1020 src/exec_pty.c:1027 +#: src/exec_pty.c:1034 src/exec_pty.c:1041 src/exec_pty.c:1048 +#: src/exec_pty.c:1055 src/exec_pty.c:1062 src/exec_pty.c:1069 +#: src/exec_pty.c:1077 src/load_plugins.c:100 src/load_plugins.c:125 +#: src/load_plugins.c:161 src/load_plugins.c:394 src/load_plugins.c:400 +#: src/parse_args.c:171 src/parse_args.c:193 src/parse_args.c:268 +#: src/parse_args.c:624 src/parse_args.c:646 src/parse_args.c:671 +#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89 +#: src/selinux.c:362 src/selinux.c:472 src/selinux.c:489 src/selinux.c:496 +#: src/sesh.c:206 src/sesh.c:471 src/sudo.c:229 src/sudo.c:581 src/sudo.c:607 +#: src/sudo.c:660 src/sudo.c:819 src/sudo.c:921 src/sudo.c:923 src/sudo.c:1150 +#: src/sudo.c:1171 src/sudo.c:1462 src/sudo.c:1631 src/sudo.c:1858 +#: src/sudo.c:2191 src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:430 #: src/sudo_edit.c:439 src/sudo_edit.c:540 src/sudo_edit.c:547 -#: src/sudo_edit.c:692 src/sudo_edit.c:712 src/sudo_intercept_common.c:115 -#: src/sudo_intercept_common.c:340 +#: src/sudo_edit.c:692 src/sudo_edit.c:712 src/sudo_intercept_common.c:122 +#: src/sudo_intercept_common.c:347 msgid "unable to allocate memory" msgstr "Speicher konnte nicht zugewiesen werden" @@ -117,9 +119,9 @@ msgstr "stat konnte nicht auf %.*s angewendet werden" msgid "%.*s exists but is not a directory (0%o)" msgstr "%.*s existiert, aber ist kein Verzeichnis (0%o)" -#: lib/util/mkdir_parents.c:103 lib/util/sudo_conf.c:664 -#: lib/util/sudo_conf.c:683 lib/util/sudo_conf.c:710 src/selinux.c:235 -#: src/selinux.c:265 src/sudo.c:373 src/sudo_edit.c:495 src/sudo_edit.c:559 +#: lib/util/mkdir_parents.c:103 lib/util/sudo_conf.c:689 +#: lib/util/sudo_conf.c:708 lib/util/sudo_conf.c:735 src/selinux.c:235 +#: src/selinux.c:265 src/sudo.c:375 src/sudo_edit.c:495 src/sudo_edit.c:559 #, c-format msgid "unable to open %s" msgstr "%s konnte nicht geöffnet werden" @@ -142,55 +144,55 @@ msgstr "regulärer Ausdruck ist zu groß" msgid "Unknown signal" msgstr "Unbekanntes Signal" -#: lib/util/strtoid.c:84 lib/util/strtomode.c:52 lib/util/strtonum.c:148 -#: lib/util/strtonum.c:187 src/sesh.c:240 src/sesh.c:253 +#: lib/util/strtoid.c:84 lib/util/strtomode.c:52 lib/util/strtonum.c:147 +#: lib/util/strtonum.c:186 src/sesh.c:240 src/sesh.c:253 msgid "invalid value" msgstr "ungültiger Wert" -#: lib/util/strtomode.c:58 lib/util/strtonum.c:160 +#: lib/util/strtomode.c:58 lib/util/strtonum.c:159 msgid "value too large" msgstr "Wert zu groß" -#: lib/util/strtomode.c:58 lib/util/strtonum.c:154 +#: lib/util/strtomode.c:58 lib/util/strtonum.c:153 msgid "value too small" msgstr "Wert zu klein" -#: lib/util/sudo_conf.c:234 +#: lib/util/sudo_conf.c:237 #, c-format msgid "invalid Path value \"%s\" in %s, line %u" msgstr "Ungültiger Pfad-Wert »%s« in %s, Zeile %u" -#: lib/util/sudo_conf.c:400 lib/util/sudo_conf.c:453 +#: lib/util/sudo_conf.c:403 lib/util/sudo_conf.c:456 #, c-format msgid "invalid value for %s \"%s\" in %s, line %u" msgstr "Ungültiger Wert für %s »%s« in %s, Zeile %u" -#: lib/util/sudo_conf.c:421 +#: lib/util/sudo_conf.c:424 #, c-format msgid "unsupported group source \"%s\" in %s, line %u" msgstr "Nicht unterstützte Gruppenquelle »%s« in %s, Zeile %u" -#: lib/util/sudo_conf.c:437 +#: lib/util/sudo_conf.c:440 #, c-format msgid "invalid max groups \"%s\" in %s, line %u" msgstr "Ungültige Maximalzahl an Gruppen »%s« in %s, Zeile %u" -#: lib/util/sudo_conf.c:686 +#: lib/util/sudo_conf.c:711 #, c-format msgid "%s is not a regular file" msgstr "%s ist keine reguläre Datei" -#: lib/util/sudo_conf.c:689 src/copy_file.c:164 +#: lib/util/sudo_conf.c:714 src/copy_file.c:164 #, c-format msgid "%s is owned by uid %u, should be %u" msgstr "%s gehört Benutzer mit UID %u, sollte allerdings %u gehören" -#: lib/util/sudo_conf.c:693 +#: lib/util/sudo_conf.c:718 #, c-format msgid "%s is world writable" msgstr "%s kann von allen verändert werden" -#: lib/util/sudo_conf.c:696 +#: lib/util/sudo_conf.c:721 #, c-format msgid "%s is group writable" msgstr "%s kann von der Gruppe verändert werden" @@ -284,18 +286,18 @@ msgstr "In Verzeichnis »%s« konnte nicht gewechselt werden" msgid "starting from %s" msgstr "beginnend mit %s" -#: src/exec.c:278 src/exec.c:351 src/exec_monitor.c:552 src/exec_monitor.c:554 -#: src/exec_pty.c:1122 src/exec_pty.c:1124 src/signal.c:144 src/signal.c:151 +#: src/exec.c:278 src/exec.c:351 src/exec_monitor.c:564 src/exec_monitor.c:566 +#: src/exec_pty.c:1148 src/exec_pty.c:1150 src/signal.c:144 src/signal.c:151 #: src/signal.c:165 src/suspend_parent.c:143 #, c-format msgid "unable to set handler for signal %d" msgstr "Handler für Signal %d konnte nicht gesetzt werden" -#: src/exec.c:424 +#: src/exec.c:447 msgid "intercept mode is not supported with SELinux RBAC on this system" msgstr "Abfangmodus wird mit SELinux RBAC auf diesem System nicht unterstützt" -#: src/exec.c:429 +#: src/exec.c:452 msgid "unable to log sub-commands with SELinux RBAC on this system" msgstr "Unterbefehle können mit SELinux RBAC auf diesem System nicht protokolliert werden" @@ -303,63 +305,63 @@ msgstr "Unterbefehle können mit SELinux RBAC auf diesem System nicht protokolli msgid "unable to remove PRIV_PROC_EXEC from PRIV_LIMIT" msgstr "PRIV_PROC_EXEC konnte nicht von PRIV_LIMIT entfernt werden" -#: src/exec_intercept.c:70 src/exec_iolog.c:163 src/exec_iolog.c:173 +#: src/exec_intercept.c:71 src/exec_iolog.c:163 src/exec_iolog.c:173 #: src/exec_iolog.c:218 src/exec_iolog.c:225 src/exec_iolog.c:252 -#: src/exec_monitor.c:426 src/exec_monitor.c:434 src/exec_monitor.c:442 -#: src/exec_monitor.c:449 src/exec_monitor.c:456 src/exec_monitor.c:463 -#: src/exec_monitor.c:470 src/exec_monitor.c:477 src/exec_monitor.c:484 -#: src/exec_monitor.c:491 src/exec_nopty.c:233 src/exec_nopty.c:242 +#: src/exec_monitor.c:438 src/exec_monitor.c:446 src/exec_monitor.c:454 +#: src/exec_monitor.c:461 src/exec_monitor.c:468 src/exec_monitor.c:475 +#: src/exec_monitor.c:482 src/exec_monitor.c:489 src/exec_monitor.c:496 +#: src/exec_monitor.c:503 src/exec_nopty.c:233 src/exec_nopty.c:242 #: src/exec_nopty.c:249 src/exec_nopty.c:256 src/exec_nopty.c:263 #: src/exec_nopty.c:270 src/exec_nopty.c:277 src/exec_nopty.c:284 #: src/exec_nopty.c:291 src/exec_nopty.c:298 src/exec_nopty.c:305 #: src/exec_nopty.c:312 src/exec_nopty.c:320 src/exec_nopty.c:328 -#: src/exec_nopty.c:387 src/exec_nopty.c:457 src/exec_pty.c:432 -#: src/exec_pty.c:537 src/exec_pty.c:587 src/exec_pty.c:965 src/exec_pty.c:974 -#: src/exec_pty.c:981 src/exec_pty.c:988 src/exec_pty.c:995 -#: src/exec_pty.c:1002 src/exec_pty.c:1009 src/exec_pty.c:1016 -#: src/exec_pty.c:1023 src/exec_pty.c:1030 src/exec_pty.c:1037 -#: src/exec_pty.c:1044 +#: src/exec_nopty.c:387 src/exec_nopty.c:457 src/exec_pty.c:441 +#: src/exec_pty.c:555 src/exec_pty.c:605 src/exec_pty.c:992 src/exec_pty.c:1001 +#: src/exec_pty.c:1008 src/exec_pty.c:1015 src/exec_pty.c:1022 +#: src/exec_pty.c:1029 src/exec_pty.c:1036 src/exec_pty.c:1043 +#: src/exec_pty.c:1050 src/exec_pty.c:1057 src/exec_pty.c:1064 +#: src/exec_pty.c:1071 msgid "unable to add event to queue" msgstr "Ereignis konnte nicht zur Warteschlange hinzugefügt werden" -#: src/exec_intercept.c:323 src/sudo.c:1033 +#: src/exec_intercept.c:324 src/sudo.c:1056 msgid "command not set by the security policy" msgstr "Befehl wurde durch Sicherheitsregelwerk nicht gesetzt" -#: src/exec_intercept.c:401 src/exec_intercept.c:441 src/sudo.c:1253 -#: src/sudo.c:1298 src/sudo.c:1342 +#: src/exec_intercept.c:403 src/exec_intercept.c:443 src/sudo.c:1274 +#: src/sudo.c:1319 src/sudo.c:1363 msgid "command rejected by policy" msgstr "Befehl wurde durch Regelwerk abgewiesen" -#: src/exec_intercept.c:512 src/sudo.c:1940 +#: src/exec_intercept.c:514 src/sudo.c:1961 msgid "approval plugin error" msgstr "Genehmigungs-Plugin-Fehler" -#: src/exec_intercept.c:537 src/sudo.c:1258 src/sudo.c:1303 src/sudo.c:1347 -#: src/sudo.c:1421 +#: src/exec_intercept.c:539 src/sudo.c:1279 src/sudo.c:1324 src/sudo.c:1368 +#: src/sudo.c:1442 msgid "policy plugin error" msgstr "Regelwerk-Plugin-Fehler" -#: src/exec_intercept.c:566 +#: src/exec_intercept.c:568 msgid "invalid PolicyCheckRequest" msgstr "ungültige PolicyCheckRequest" -#: src/exec_intercept.c:709 +#: src/exec_intercept.c:711 #, c-format msgid "client request too large: %zu" msgstr "Client-Anfrage ist zu groß: %zu" -#: src/exec_intercept.c:751 +#: src/exec_intercept.c:753 #, c-format msgid "unable to unpack %s size %zu" msgstr "%s, Größe %zu, kann nicht entpackt werden" -#: src/exec_intercept.c:799 +#: src/exec_intercept.c:801 #, c-format msgid "unexpected type_case value %d in %s from %s" msgstr "unerwarteter Wert %d für type_case in %s aus %s" -#: src/exec_intercept.c:825 +#: src/exec_intercept.c:827 #, c-format msgid "server message too large: %zu" msgstr "Server-Meldung ist zu groß: %zu" @@ -382,135 +384,135 @@ msgstr "Fehler bei der Aussetzung der Protokollierung" msgid "error changing window size" msgstr "Fehler beim Ändern der Fenstergröße" -#: src/exec_monitor.c:328 +#: src/exec_monitor.c:330 msgid "error reading from socketpair" msgstr "Fehler beim Lesen des Socket-Paars" -#: src/exec_monitor.c:340 +#: src/exec_monitor.c:342 #, c-format msgid "unexpected reply type on backchannel: %d" msgstr "Unerwarteter Antworttyp auf Rückmeldungskanal: %d" -#: src/exec_monitor.c:566 +#: src/exec_monitor.c:578 msgid "unable to set controlling tty" msgstr "Kontrollierendes TTY konnte nicht gesetzt werden" -#: src/exec_monitor.c:574 src/exec_nopty.c:504 src/exec_nopty.c:514 -#: src/exec_nopty.c:524 src/exec_nopty.c:560 src/exec_pty.c:1195 -#: src/exec_pty.c:1222 src/exec_pty.c:1242 src/exec_pty.c:1262 -#: src/tgetpass.c:306 -msgid "unable to create pipe" -msgstr "Weiterleitung konnte nicht erstellt werden" +#: src/exec_monitor.c:590 src/exec_nopty.c:572 src/exec_pty.c:1126 +#: src/exec_pty.c:1135 +msgid "unable to create sockets" +msgstr "Sockets konnten nicht hergestellt werden" -#: src/exec_monitor.c:584 +#: src/exec_monitor.c:599 msgid "unable to receive message from parent" msgstr "Die Nachricht konnte nicht empfangen werden" -#: src/exec_monitor.c:600 src/exec_nopty.c:603 src/exec_pty.c:1303 +#: src/exec_monitor.c:614 src/exec_nopty.c:606 src/exec_pty.c:1336 #: src/sudo_edit.c:361 src/tgetpass.c:310 msgid "unable to fork" msgstr "Es konnte nicht geforkt werden" -#: src/exec_monitor.c:604 src/exec_monitor.c:700 src/exec_nopty.c:708 +#: src/exec_monitor.c:618 src/exec_monitor.c:720 src/exec_nopty.c:712 msgid "unable to restore tty label" msgstr "TTY-Kennzeichnung konnte nicht wiederhergestellt werden" -#: src/exec_monitor.c:615 src/sesh.c:217 src/sudo.c:1204 +#: src/exec_monitor.c:629 src/exec_monitor.c:678 src/sesh.c:217 src/sudo.c:1225 #, c-format msgid "unable to execute %s" msgstr "%s konnte nicht ausgeführt werden" -#: src/exec_nopty.c:554 src/exec_pty.c:1131 +#: src/exec_nopty.c:507 src/exec_nopty.c:517 src/exec_nopty.c:527 +#: src/exec_nopty.c:563 src/exec_pty.c:1224 src/exec_pty.c:1251 +#: src/exec_pty.c:1274 src/exec_pty.c:1292 src/tgetpass.c:306 +msgid "unable to create pipe" +msgstr "Weiterleitung konnte nicht erstellt werden" + +#: src/exec_nopty.c:557 src/exec_pty.c:1157 msgid "policy plugin failed session initialization" msgstr "Regelwerks-Plugin konnte Sitzung nicht initialisieren" -#: src/exec_nopty.c:569 src/exec_pty.c:1100 src/exec_pty.c:1109 -msgid "unable to create sockets" -msgstr "Sockets konnten nicht hergestellt werden" - -#: src/exec_nopty.c:696 src/exec_pty.c:1406 +#: src/exec_nopty.c:700 src/exec_pty.c:1437 msgid "error in event loop" msgstr "Fehler in Ereignisschleife" -#: src/exec_preload.c:167 src/net_ifs.c:206 src/net_ifs.c:372 -#: src/net_ifs.c:433 src/net_ifs.c:620 src/net_ifs.c:852 src/sudo.c:488 -#: src/sudo_edit.c:398 src/sudo_edit.c:406 +#: src/exec_preload.c:168 src/net_ifs.c:206 src/net_ifs.c:372 src/net_ifs.c:433 +#: src/net_ifs.c:620 src/net_ifs.c:852 src/sudo.c:494 src/sudo_edit.c:398 +#: src/sudo_edit.c:406 #, c-format msgid "internal error, %s overflow" msgstr "Interner Fehler: %s-Überlauf" -#: src/exec_ptrace.c:1080 src/exec_ptrace.c:1105 src/exec_ptrace.c:1925 +#: src/exec_ptrace.c:1082 src/exec_ptrace.c:1107 src/exec_ptrace.c:1930 #, c-format msgid "unable to set registers for process %d" msgstr "Register konnten für Prozess %d nicht gesetzt werden" -#: src/exec_ptrace.c:1100 src/exec_ptrace.c:1275 src/exec_ptrace.c:1628 +#: src/exec_ptrace.c:1102 src/exec_ptrace.c:1277 src/exec_ptrace.c:1630 #, c-format msgid "process %d exited unexpectedly" msgstr "Prozess %d wurde unerwartet beendet" -#: src/exec_ptrace.c:1209 +#: src/exec_ptrace.c:1211 msgid "unable to set seccomp filter" msgstr "seccomp-Filter konnte nicht gesetzt werden" -#: src/exec_ptrace.c:1406 +#: src/exec_ptrace.c:1408 #, c-format msgid "interpreter argument , expected \"%s\", got \"%s\"" msgstr "Interpreter-Argument: »%s« wurde erwartet, »%s« erhalten" -#: src/exec_ptrace.c:1505 +#: src/exec_ptrace.c:1506 #, c-format msgid "pathname mismatch, expected \"%s\", got \"%s\"" msgstr "Pfadname passt nicht, »%s« wurde erwartet, »%s« erhalten" -#: src/exec_ptrace.c:1514 src/exec_ptrace.c:1521 src/exec_ptrace.c:1545 -#: src/exec_ptrace.c:1553 src/exec_ptrace.c:1559 src/exec_ptrace.c:1565 +#: src/exec_ptrace.c:1515 src/exec_ptrace.c:1522 src/exec_ptrace.c:1546 +#: src/exec_ptrace.c:1554 src/exec_ptrace.c:1560 src/exec_ptrace.c:1566 #, c-format msgid "%s[%d] mismatch, expected \"%s\", got \"%s\"" msgstr "%s[%d] passt nicht, »%s« wurde erwartet, »%s« erhalten" -#: src/exec_ptrace.c:1632 +#: src/exec_ptrace.c:1634 #, c-format msgid "process %d unexpected status 0x%x" msgstr "Prozess %d hat den unerwarteten Status 0x%x" -#: src/exec_ptrace.c:1723 +#: src/exec_ptrace.c:1727 #, c-format msgid "unable to get event message for process %d" msgstr "Ereignismeldung für Prozess %d konnte nicht erhalten werden" -#: src/exec_ptrace.c:1730 +#: src/exec_ptrace.c:1734 #, c-format msgid "unable to get registers for process %d" msgstr "Register konnten für Prozess %d nicht erhalten werden" -#: src/exec_pty.c:84 +#: src/exec_pty.c:87 msgid "unable to allocate pty" msgstr "PTY konnte nicht vergeben werden" -#: src/exec_pty.c:131 src/exec_pty.c:284 src/tgetpass.c:251 +#: src/exec_pty.c:118 src/exec_pty.c:257 src/tgetpass.c:251 msgid "unable to restore terminal settings" msgstr "Terminaleinstellungen konnten nicht wiederhergestellt werden" -#: src/exec_pty.c:243 +#: src/exec_pty.c:218 msgid "unable to set handler for SIGCONT" msgstr "Handler für SIGCONT konnte nicht gesetzt werden" -#: src/exec_pty.c:293 +#: src/exec_pty.c:267 #, c-format msgid "unable to set handler for SIG%s" msgstr "Handler für SIG%s konnte nicht gesetzt werden" -#: src/exec_pty.c:317 +#: src/exec_pty.c:291 #, c-format msgid "unable to restore handler for SIG%s" msgstr "Handler für SIG%s konnte nicht wiederhergestellt werden" -#: src/exec_pty.c:345 +#: src/exec_pty.c:319 msgid "unable to restore handler for SIGCONT" msgstr "Handler für SIGCONT konnte nicht wiederhergestellt werden" -#: src/exec_pty.c:1353 +#: src/exec_pty.c:1385 msgid "unable to send message to monitor process" msgstr "Die Nachricht konnte nicht an den überwachenden Prozess verschickt werden" @@ -559,40 +561,40 @@ msgstr "Unbekannter Plugintyp %d wurde in %s gefunden" msgid "policy plugin %s does not include a check_policy method" msgstr "Das Regelwerks-Plugin %s enthält keine check_policy-Methode" -#: src/parse_args.c:214 +#: src/parse_args.c:213 #, c-format msgid "invalid environment variable name: %s" msgstr "Unzulässiger Name der Umgebungsvariable: %s" -#: src/parse_args.c:319 +#: src/parse_args.c:318 msgid "the argument to -C must be a number greater than or equal to 3" msgstr "Das Argument für -C muss eine Zahl größer oder gleich 3 sein" -#: src/parse_args.c:556 +#: src/parse_args.c:555 msgid "you may not specify both the -i and -s options" msgstr "Die Optionen -i und -s können nicht gemeinsam benutzt werden" -#: src/parse_args.c:561 +#: src/parse_args.c:560 msgid "you may not specify both the -i and -E options" msgstr "Die Optionen -i und -E können nicht gemeinsam benutzt werden" -#: src/parse_args.c:571 +#: src/parse_args.c:570 msgid "the -E option is not valid in edit mode" msgstr "Die Option -E ist im Bearbeiten-Modus ungültig" -#: src/parse_args.c:574 +#: src/parse_args.c:573 msgid "you may not specify environment variables in edit mode" msgstr "Im Bearbeiten-Modus können keine Umgebungsvariablen gesetzt werden" -#: src/parse_args.c:584 +#: src/parse_args.c:583 msgid "the -U option may only be used with the -l option" msgstr "Die Option -U kann nur zusammen mit -l benutzt werden" -#: src/parse_args.c:588 +#: src/parse_args.c:587 msgid "the -A and -S options may not be used together" msgstr "Die Optionen -A und -S können nicht gemeinsam benutzt werden" -#: src/parse_args.c:686 +#: src/parse_args.c:685 msgid "sudoedit is not supported on this platform" msgstr "sudoedit ist auf dieser Plattform nicht verfügbar" @@ -950,151 +952,151 @@ msgstr "»setproject« schlug für Projekt »%s« fehl" msgid "warning, resource control assignment failed for project \"%s\"" msgstr "Warnung: Ressourcenkontrolle von Projekt »%s« konnte nicht zugewiesen werden" -#: src/sudo.c:214 +#: src/sudo.c:215 #, c-format msgid "Sudo version %s\n" msgstr "Sudo-Version %s\n" -#: src/sudo.c:216 +#: src/sudo.c:217 #, c-format msgid "Configure options: %s\n" msgstr "Optionen für »configure«: %s\n" -#: src/sudo.c:224 +#: src/sudo.c:225 msgid "fatal error, unable to load plugins" msgstr "Schwerwiegender Fehler, Plugins konnten nicht geladen werden" -#: src/sudo.c:270 +#: src/sudo.c:271 msgid "plugin did not return a command to execute" msgstr "Plugin gab keinen auszuführenden Befehl zurück" -#: src/sudo.c:306 +#: src/sudo.c:307 #, c-format msgid "unexpected sudo mode 0x%x" msgstr "Unerwarteter sudo-Modus 0x%x" -#: src/sudo.c:559 +#: src/sudo.c:567 #, c-format msgid "you do not exist in the %s database" msgstr "Sie sind in der %s-Datenbank nicht enthalten" -#: src/sudo.c:616 +#: src/sudo.c:632 msgid "unable to determine tty" msgstr "TTY konnte nicht ermittelt werden" -#: src/sudo.c:932 +#: src/sudo.c:955 msgid "The \"no new privileges\" flag is set, which prevents sudo from running as root." msgstr "Der Schalter »no new privileges« ist gesetzt, welcher sudo daran hindert, als Root ausgeführt zu werden." -#: src/sudo.c:934 +#: src/sudo.c:957 msgid "If sudo is running in a container, you may need to adjust the container configuration to disable the flag." msgstr "Falls sudo in einem Container ausgeführt wird, könnte es nötig sein, die Containerkonfiguration anzupassen, um diesen Schalter zu deaktivieren." -#: src/sudo.c:968 +#: src/sudo.c:991 #, c-format msgid "%s must be owned by uid %d and have the setuid bit set" msgstr "%s muss dem Benutzer mit UID %d gehören und das »setuid«-Bit gesetzt haben" -#: src/sudo.c:971 +#: src/sudo.c:994 #, c-format msgid "effective uid is not %d, is %s on a file system with the 'nosuid' option set or an NFS file system without root privileges?" msgstr "Effektive UID ist nicht %d. Liegt %s auf einem Dateisystem mit gesetzter »nosuid«-Option oder auf einem NFS-Dateisystem ohne Root-Rechte?" -#: src/sudo.c:977 +#: src/sudo.c:1000 #, c-format msgid "effective uid is not %d, is sudo installed setuid root?" msgstr "Effektive UID ist nicht %d. Wurde sudo mit »setuid root« installiert?" -#: src/sudo.c:993 src/tgetpass.c:332 +#: src/sudo.c:1016 src/tgetpass.c:332 msgid "unable to set supplementary group IDs" msgstr "Zusätzliche Gruppenkennungen konnten nicht gesetzt werden" -#: src/sudo.c:1000 +#: src/sudo.c:1023 #, c-format msgid "unable to set effective gid to runas gid %u" msgstr "Effektive GID konnte nicht auf »runas«-GID %u gesetzt werden" -#: src/sudo.c:1006 +#: src/sudo.c:1029 #, c-format msgid "unable to set gid to runas gid %u" msgstr "GID konnte nicht auf »runas«-GID %u gesetzt werden" -#: src/sudo.c:1037 +#: src/sudo.c:1060 msgid "argv not set by the security policy" msgstr "argv wurde durch Sicherheitsregelwerk nicht gesetzt" -#: src/sudo.c:1041 +#: src/sudo.c:1064 msgid "envp not set by the security policy" msgstr "envp wurde durch Sicherheitsregelwerk nicht gesetzt" -#: src/sudo.c:1063 +#: src/sudo.c:1086 #, c-format msgid "unexpected child termination condition: %d" msgstr "Unerwartete Abbruchbedingung eines Unterprozesses: %d" -#: src/sudo.c:1176 +#: src/sudo.c:1198 msgid "unable to initialize policy plugin" msgstr "Regelwerks-Plugin konnte nicht initialisiert werden" -#: src/sudo.c:1238 +#: src/sudo.c:1259 #, c-format msgid "policy plugin %s is missing the \"check_policy\" method" msgstr "Dem Regelwerks-Plugin %s fehlt die »check_policy«-Methode" -#: src/sudo.c:1284 +#: src/sudo.c:1305 #, c-format msgid "policy plugin %s does not support listing privileges" msgstr "Regelwerks-Plugin %s unterstützt das Auflisten von Privilegien nicht" -#: src/sudo.c:1328 +#: src/sudo.c:1349 #, c-format msgid "policy plugin %s does not support the -v option" msgstr "Regelwerks-Plugin %s unterstützt die Option -v nicht" -#: src/sudo.c:1366 +#: src/sudo.c:1387 #, c-format msgid "policy plugin %s does not support the -k/-K options" msgstr "Regelwerks-Plugin %s unterstützt die Optionen -k und -K nicht" -#: src/sudo.c:1495 +#: src/sudo.c:1516 #, c-format msgid "error initializing I/O plugin %s" msgstr "E/A-Plugin %s konnte nicht initialisiert werden" -#: src/sudo.c:1498 +#: src/sudo.c:1519 msgid "error initializing I/O plugin" msgstr "E/A-Plugin konnte nicht initialisiert werden" -#: src/sudo.c:1647 +#: src/sudo.c:1668 #, c-format msgid "error initializing audit plugin %s" msgstr "Audit-Plugin %s konnte nicht initialisiert werden" -#: src/sudo.c:1726 +#: src/sudo.c:1747 #, c-format msgid "%s: unable to log error event%s%s" msgstr "%s: Fehlerereignis%s%s konnte nicht protokolliert werden" -#: src/sudo.c:1762 +#: src/sudo.c:1783 #, c-format msgid "%s: unable to log accept event%s%s" msgstr "%s: Ereignis%s%s konnte für das Protokoll nicht akzeptiert werden" -#: src/sudo.c:1767 src/sudo.c:1805 +#: src/sudo.c:1788 src/sudo.c:1826 msgid "audit plugin error" msgstr "Audit-Pluginfehler" -#: src/sudo.c:1800 +#: src/sudo.c:1821 #, c-format msgid "%s: unable to log reject event%s%s" msgstr "%s: Ereignis%s%s wurde vom Protokoll abgewiesen" -#: src/sudo.c:1860 +#: src/sudo.c:1881 #, c-format msgid "error initializing approval plugin %s" msgstr "Genehmigungs-Plugin %s konnte nicht initialisiert werden" -#: src/sudo.c:1930 +#: src/sudo.c:1951 msgid "command rejected by approver" msgstr "Befehl wurde vom Genehmigenden abgewiesen" @@ -1154,7 +1156,7 @@ msgstr "Plugin-Fehler: Fehlende Dateiliste für sudoedit" msgid "unable to read the clock" msgstr "Die Uhr konnte nicht gelesen werden" -#: src/sudo_intercept_common.c:365 +#: src/sudo_intercept_common.c:372 msgid "intercept port not set" msgstr "Intercept-Port ist nicht gesetzt" @@ -1176,7 +1178,7 @@ msgstr "Zum Lesen des Passworts ist ein Terminal erforderlich; verwenden Sie ent #: src/tgetpass.c:152 msgid "no askpass program specified, try setting SUDO_ASKPASS" -msgstr "Kein »askpass«-Programm angegeben, es wird versucht, SUDO_ASKPASS zu setzen" +msgstr "Kein »askpass«-Programm angegeben; versuchen Sie, SUDO_ASKPASS zu setzen" #: src/tgetpass.c:327 #, c-format @@ -1193,6 +1195,12 @@ msgstr "UID konnte nicht als %u festgelegt werden" msgid "unable to run %s" msgstr "%s konnte nicht ausgeführt werden" +#: src/ttyname.c:139 src/ttyname.c:182 src/ttyname.c:199 src/ttyname.c:284 +#: src/ttyname.c:312 src/ttyname.c:356 +#, c-format +msgid "unable to find terminal name for device %u, %u" +msgstr "Terminalname für Gerät %u konnte nicht gefunden werden, %u" + #: src/utmp.c:283 msgid "unable to save stdin" msgstr "Standardeingabe konnte nicht gespeichert werden" diff --git a/po/eo.mo b/po/eo.mo index f4efc79fb..25ed32fcf 100644 Binary files a/po/eo.mo and b/po/eo.mo differ diff --git a/po/eo.po b/po/eo.po index 28df82c00..bf0a7e5eb 100644 --- a/po/eo.po +++ b/po/eo.po @@ -1,14 +1,14 @@ # Esperanto translations for sudo package. # This file is distributed under the same license as the sudo package. -# Keith Bowes , 2012, 2020-2023 +# Keith Bowes , 2012, 2020-2024 # Felipe Castro , 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020. # msgid "" msgstr "" -"Project-Id-Version: sudo 1.9.14b1\n" +"Project-Id-Version: sudo 1.9.16b1\n" "Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n" -"POT-Creation-Date: 2023-06-07 13:27-0600\n" -"PO-Revision-Date: 2023-06-11 19:33-0400\n" +"POT-Creation-Date: 2024-06-08 09:06-0600\n" +"PO-Revision-Date: 2024-06-16 13:15-0400\n" "Last-Translator: Keith Bowes \n" "Language-Team: Esperanto \n" "Language: eo\n" @@ -33,78 +33,80 @@ msgid "unable to restore registry" msgstr "ne eblas restarigi registrejon" #: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/gidlist.c:76 -#: lib/util/json.c:55 lib/util/json.c:197 lib/util/sudo_conf.c:215 -#: lib/util/sudo_conf.c:301 lib/util/sudo_conf.c:378 lib/util/sudo_conf.c:647 -#: src/conversation.c:78 src/exec_iolog.c:122 src/exec_iolog.c:133 -#: src/exec_iolog.c:210 src/exec_monitor.c:171 src/exec_monitor.c:418 -#: src/exec_monitor.c:424 src/exec_monitor.c:432 src/exec_monitor.c:440 -#: src/exec_monitor.c:447 src/exec_monitor.c:454 src/exec_monitor.c:461 -#: src/exec_monitor.c:468 src/exec_monitor.c:475 src/exec_monitor.c:482 -#: src/exec_monitor.c:489 src/exec_nopty.c:231 src/exec_nopty.c:240 +#: lib/util/json.c:55 lib/util/json.c:197 lib/util/sudo_conf.c:218 +#: lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381 lib/util/sudo_conf.c:672 +#: src/conversation.c:81 src/exec_iolog.c:122 src/exec_iolog.c:133 +#: src/exec_iolog.c:210 src/exec_monitor.c:173 src/exec_monitor.c:430 +#: src/exec_monitor.c:436 src/exec_monitor.c:444 src/exec_monitor.c:452 +#: src/exec_monitor.c:459 src/exec_monitor.c:466 src/exec_monitor.c:473 +#: src/exec_monitor.c:480 src/exec_monitor.c:487 src/exec_monitor.c:494 +#: src/exec_monitor.c:501 src/exec_nopty.c:231 src/exec_nopty.c:240 #: src/exec_nopty.c:247 src/exec_nopty.c:254 src/exec_nopty.c:261 #: src/exec_nopty.c:268 src/exec_nopty.c:275 src/exec_nopty.c:282 #: src/exec_nopty.c:289 src/exec_nopty.c:296 src/exec_nopty.c:303 #: src/exec_nopty.c:310 src/exec_nopty.c:318 src/exec_nopty.c:326 -#: src/exec_nopty.c:744 src/exec_preload.c:343 src/exec_ptrace.c:475 -#: src/exec_ptrace.c:768 src/exec_ptrace.c:983 src/exec_ptrace.c:1096 -#: src/exec_ptrace.c:1271 src/exec_ptrace.c:1624 src/exec_ptrace.c:1651 -#: src/exec_ptrace.c:1841 src/exec_pty.c:581 src/exec_pty.c:765 -#: src/exec_pty.c:963 src/exec_pty.c:972 src/exec_pty.c:979 src/exec_pty.c:986 -#: src/exec_pty.c:993 src/exec_pty.c:1000 src/exec_pty.c:1007 -#: src/exec_pty.c:1014 src/exec_pty.c:1021 src/exec_pty.c:1028 -#: src/exec_pty.c:1035 src/exec_pty.c:1042 src/exec_pty.c:1050 -#: src/load_plugins.c:100 src/load_plugins.c:125 src/load_plugins.c:161 -#: src/load_plugins.c:394 src/load_plugins.c:400 src/parse_args.c:172 -#: src/parse_args.c:193 src/parse_args.c:269 src/parse_args.c:625 -#: src/parse_args.c:647 src/parse_args.c:672 src/preserve_fds.c:46 -#: src/preserve_fds.c:131 src/selinux.c:89 src/selinux.c:362 src/selinux.c:472 -#: src/selinux.c:489 src/selinux.c:496 src/sesh.c:206 src/sesh.c:240 -#: src/sesh.c:246 src/sesh.c:253 src/sesh.c:259 src/sesh.c:470 src/sudo.c:644 -#: src/sudo.c:709 src/sudo.c:719 src/sudo.c:746 src/sudo.c:769 src/sudo.c:778 -#: src/sudo.c:787 src/sudo.c:805 src/sudo.c:846 src/sudo.c:855 src/sudo.c:865 -#: src/sudo.c:898 src/sudo.c:1127 src/sudo.c:1148 src/sudo.c:1441 -#: src/sudo.c:1610 src/sudo.c:1837 src/sudo.c:2171 src/sudo_edit.c:89 -#: src/sudo_edit.c:149 src/sudo_edit.c:430 src/sudo_edit.c:439 -#: src/sudo_edit.c:540 src/sudo_edit.c:547 src/sudo_edit.c:692 -#: src/sudo_edit.c:712 src/sudo_intercept_common.c:115 -#: src/sudo_intercept_common.c:340 +#: src/exec_nopty.c:748 src/exec_preload.c:347 src/exec_ptrace.c:475 +#: src/exec_ptrace.c:768 src/exec_ptrace.c:985 src/exec_ptrace.c:1098 +#: src/exec_ptrace.c:1273 src/exec_ptrace.c:1626 src/exec_ptrace.c:1653 +#: src/exec_ptrace.c:1845 src/exec_pty.c:599 src/exec_pty.c:783 +#: src/exec_pty.c:990 src/exec_pty.c:999 src/exec_pty.c:1006 +#: src/exec_pty.c:1013 src/exec_pty.c:1020 src/exec_pty.c:1027 +#: src/exec_pty.c:1034 src/exec_pty.c:1041 src/exec_pty.c:1048 +#: src/exec_pty.c:1055 src/exec_pty.c:1062 src/exec_pty.c:1069 +#: src/exec_pty.c:1077 src/load_plugins.c:100 src/load_plugins.c:125 +#: src/load_plugins.c:161 src/load_plugins.c:394 src/load_plugins.c:400 +#: src/parse_args.c:171 src/parse_args.c:192 src/parse_args.c:268 +#: src/parse_args.c:624 src/parse_args.c:646 src/parse_args.c:671 +#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89 +#: src/selinux.c:362 src/selinux.c:472 src/selinux.c:489 src/selinux.c:496 +#: src/sesh.c:206 src/sesh.c:240 src/sesh.c:246 src/sesh.c:253 src/sesh.c:259 +#: src/sesh.c:470 src/sudo.c:581 src/sudo.c:607 src/sudo.c:660 src/sudo.c:726 +#: src/sudo.c:737 src/sudo.c:764 src/sudo.c:787 src/sudo.c:796 src/sudo.c:805 +#: src/sudo.c:818 src/sudo.c:827 src/sudo.c:868 src/sudo.c:878 src/sudo.c:888 +#: src/sudo.c:921 src/sudo.c:923 src/sudo.c:1150 src/sudo.c:1171 +#: src/sudo.c:1462 src/sudo.c:1631 src/sudo.c:1858 src/sudo.c:2191 +#: src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:430 +#: src/sudo_edit.c:439 src/sudo_edit.c:540 src/sudo_edit.c:547 +#: src/sudo_edit.c:692 src/sudo_edit.c:712 src/sudo_intercept_common.c:122 +#: src/sudo_intercept_common.c:347 #, c-format msgid "%s: %s" msgstr "%s: %s" #: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/json.c:56 -#: lib/util/json.c:198 lib/util/regex.c:173 lib/util/sudo_conf.c:216 -#: lib/util/sudo_conf.c:301 lib/util/sudo_conf.c:378 lib/util/sudo_conf.c:647 -#: src/conversation.c:79 src/exec_intercept.c:111 src/exec_intercept.c:350 -#: src/exec_intercept.c:525 src/exec_intercept.c:589 src/exec_intercept.c:713 -#: src/exec_intercept.c:837 src/exec_iolog.c:122 src/exec_iolog.c:133 -#: src/exec_iolog.c:210 src/exec_monitor.c:418 src/exec_monitor.c:424 -#: src/exec_monitor.c:432 src/exec_monitor.c:440 src/exec_monitor.c:447 -#: src/exec_monitor.c:454 src/exec_monitor.c:461 src/exec_monitor.c:468 -#: src/exec_monitor.c:475 src/exec_monitor.c:482 src/exec_monitor.c:489 +#: lib/util/json.c:198 lib/util/regex.c:173 lib/util/sudo_conf.c:219 +#: lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381 lib/util/sudo_conf.c:672 +#: src/conversation.c:82 src/exec_intercept.c:112 src/exec_intercept.c:351 +#: src/exec_intercept.c:527 src/exec_intercept.c:591 src/exec_intercept.c:715 +#: src/exec_intercept.c:839 src/exec_iolog.c:122 src/exec_iolog.c:133 +#: src/exec_iolog.c:210 src/exec_monitor.c:430 src/exec_monitor.c:436 +#: src/exec_monitor.c:444 src/exec_monitor.c:452 src/exec_monitor.c:459 +#: src/exec_monitor.c:466 src/exec_monitor.c:473 src/exec_monitor.c:480 +#: src/exec_monitor.c:487 src/exec_monitor.c:494 src/exec_monitor.c:501 #: src/exec_nopty.c:231 src/exec_nopty.c:240 src/exec_nopty.c:247 #: src/exec_nopty.c:254 src/exec_nopty.c:261 src/exec_nopty.c:268 #: src/exec_nopty.c:275 src/exec_nopty.c:282 src/exec_nopty.c:289 #: src/exec_nopty.c:296 src/exec_nopty.c:303 src/exec_nopty.c:310 -#: src/exec_nopty.c:318 src/exec_nopty.c:326 src/exec_preload.c:343 -#: src/exec_ptrace.c:475 src/exec_ptrace.c:768 src/exec_ptrace.c:983 -#: src/exec_ptrace.c:1651 src/exec_ptrace.c:1842 src/exec_pty.c:581 -#: src/exec_pty.c:963 src/exec_pty.c:972 src/exec_pty.c:979 src/exec_pty.c:986 -#: src/exec_pty.c:993 src/exec_pty.c:1000 src/exec_pty.c:1007 -#: src/exec_pty.c:1014 src/exec_pty.c:1021 src/exec_pty.c:1028 -#: src/exec_pty.c:1035 src/exec_pty.c:1042 src/exec_pty.c:1050 -#: src/load_plugins.c:100 src/load_plugins.c:125 src/load_plugins.c:161 -#: src/load_plugins.c:394 src/load_plugins.c:400 src/parse_args.c:172 -#: src/parse_args.c:194 src/parse_args.c:269 src/parse_args.c:625 -#: src/parse_args.c:647 src/parse_args.c:672 src/preserve_fds.c:46 -#: src/preserve_fds.c:131 src/selinux.c:89 src/selinux.c:362 src/selinux.c:472 -#: src/selinux.c:489 src/selinux.c:496 src/sesh.c:206 src/sesh.c:471 -#: src/sudo.c:228 src/sudo.c:644 src/sudo.c:898 src/sudo.c:1127 -#: src/sudo.c:1148 src/sudo.c:1441 src/sudo.c:1610 src/sudo.c:1837 -#: src/sudo.c:2171 src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:430 +#: src/exec_nopty.c:318 src/exec_nopty.c:326 src/exec_preload.c:347 +#: src/exec_ptrace.c:475 src/exec_ptrace.c:768 src/exec_ptrace.c:985 +#: src/exec_ptrace.c:1653 src/exec_ptrace.c:1846 src/exec_pty.c:599 +#: src/exec_pty.c:990 src/exec_pty.c:999 src/exec_pty.c:1006 +#: src/exec_pty.c:1013 src/exec_pty.c:1020 src/exec_pty.c:1027 +#: src/exec_pty.c:1034 src/exec_pty.c:1041 src/exec_pty.c:1048 +#: src/exec_pty.c:1055 src/exec_pty.c:1062 src/exec_pty.c:1069 +#: src/exec_pty.c:1077 src/load_plugins.c:100 src/load_plugins.c:125 +#: src/load_plugins.c:161 src/load_plugins.c:394 src/load_plugins.c:400 +#: src/parse_args.c:171 src/parse_args.c:193 src/parse_args.c:268 +#: src/parse_args.c:624 src/parse_args.c:646 src/parse_args.c:671 +#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89 +#: src/selinux.c:362 src/selinux.c:472 src/selinux.c:489 src/selinux.c:496 +#: src/sesh.c:206 src/sesh.c:471 src/sudo.c:229 src/sudo.c:581 src/sudo.c:607 +#: src/sudo.c:660 src/sudo.c:819 src/sudo.c:921 src/sudo.c:923 src/sudo.c:1150 +#: src/sudo.c:1171 src/sudo.c:1462 src/sudo.c:1631 src/sudo.c:1858 +#: src/sudo.c:2191 src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:430 #: src/sudo_edit.c:439 src/sudo_edit.c:540 src/sudo_edit.c:547 -#: src/sudo_edit.c:692 src/sudo_edit.c:712 src/sudo_intercept_common.c:115 -#: src/sudo_intercept_common.c:340 +#: src/sudo_edit.c:692 src/sudo_edit.c:712 src/sudo_intercept_common.c:122 +#: src/sudo_intercept_common.c:347 msgid "unable to allocate memory" msgstr "ne eblas generi memoron" @@ -118,9 +120,9 @@ msgstr "ne eblas apliki stat al %.*s" msgid "%.*s exists but is not a directory (0%o)" msgstr "%.*s ekzistas sed ne estas dosierujo (0%o)" -#: lib/util/mkdir_parents.c:103 lib/util/sudo_conf.c:664 -#: lib/util/sudo_conf.c:683 lib/util/sudo_conf.c:710 src/selinux.c:235 -#: src/selinux.c:265 src/sudo.c:373 src/sudo_edit.c:495 src/sudo_edit.c:559 +#: lib/util/mkdir_parents.c:103 lib/util/sudo_conf.c:689 +#: lib/util/sudo_conf.c:708 lib/util/sudo_conf.c:735 src/selinux.c:235 +#: src/selinux.c:265 src/sudo.c:375 src/sudo_edit.c:495 src/sudo_edit.c:559 #, c-format msgid "unable to open %s" msgstr "ne eblas malfermi %s" @@ -143,55 +145,55 @@ msgstr "regulesprimo tra grandas" msgid "Unknown signal" msgstr "Nekonata signalo" -#: lib/util/strtoid.c:84 lib/util/strtomode.c:52 lib/util/strtonum.c:148 -#: lib/util/strtonum.c:187 src/sesh.c:240 src/sesh.c:253 +#: lib/util/strtoid.c:84 lib/util/strtomode.c:52 lib/util/strtonum.c:147 +#: lib/util/strtonum.c:186 src/sesh.c:240 src/sesh.c:253 msgid "invalid value" msgstr "nevalida valoro" -#: lib/util/strtomode.c:58 lib/util/strtonum.c:160 +#: lib/util/strtomode.c:58 lib/util/strtonum.c:159 msgid "value too large" msgstr "valoro tro grandas" -#: lib/util/strtomode.c:58 lib/util/strtonum.c:154 +#: lib/util/strtomode.c:58 lib/util/strtonum.c:153 msgid "value too small" msgstr "valoro tro malgrandas" -#: lib/util/sudo_conf.c:234 +#: lib/util/sudo_conf.c:237 #, c-format msgid "invalid Path value \"%s\" in %s, line %u" msgstr "nevalida voja valoro \"%s\" en %s, linio %u" -#: lib/util/sudo_conf.c:400 lib/util/sudo_conf.c:453 +#: lib/util/sudo_conf.c:403 lib/util/sudo_conf.c:456 #, c-format msgid "invalid value for %s \"%s\" in %s, line %u" msgstr "nevalida valoro por %s \"%s\" en %s, linio %u" -#: lib/util/sudo_conf.c:421 +#: lib/util/sudo_conf.c:424 #, c-format msgid "unsupported group source \"%s\" in %s, line %u" msgstr "nekomprenata grupa fonto \"%s\" en %s, linio %u" -#: lib/util/sudo_conf.c:437 +#: lib/util/sudo_conf.c:440 #, c-format msgid "invalid max groups \"%s\" in %s, line %u" msgstr "nevalidaj maksimumaj grupoj \"%s\" en %s, linio %u" -#: lib/util/sudo_conf.c:686 +#: lib/util/sudo_conf.c:711 #, c-format msgid "%s is not a regular file" msgstr "%s estas ne regula dosiero" -#: lib/util/sudo_conf.c:689 src/copy_file.c:164 +#: lib/util/sudo_conf.c:714 src/copy_file.c:164 #, c-format msgid "%s is owned by uid %u, should be %u" msgstr "%s estas estrata de uid %u, devas esti %u" -#: lib/util/sudo_conf.c:693 +#: lib/util/sudo_conf.c:718 #, c-format msgid "%s is world writable" msgstr "%s estas skribebla de ĉiuj" -#: lib/util/sudo_conf.c:696 +#: lib/util/sudo_conf.c:721 #, c-format msgid "%s is group writable" msgstr "%s estas skribebla de la tuta grupo" @@ -285,18 +287,18 @@ msgstr "ne eblas ŝanĝi dosierujon al %s" msgid "starting from %s" msgstr "komenciĝas de %s" -#: src/exec.c:278 src/exec.c:351 src/exec_monitor.c:552 src/exec_monitor.c:554 -#: src/exec_pty.c:1122 src/exec_pty.c:1124 src/signal.c:144 src/signal.c:151 +#: src/exec.c:278 src/exec.c:351 src/exec_monitor.c:564 src/exec_monitor.c:566 +#: src/exec_pty.c:1148 src/exec_pty.c:1150 src/signal.c:144 src/signal.c:151 #: src/signal.c:165 src/suspend_parent.c:143 #, c-format msgid "unable to set handler for signal %d" msgstr "ne eblas difini traktilon por la signalo %d" -#: src/exec.c:424 +#: src/exec.c:447 msgid "intercept mode is not supported with SELinux RBAC on this system" msgstr "interkapta reĝo ne estas regata kun SELinux-RABC en ĉi tiu sistemo" -#: src/exec.c:429 +#: src/exec.c:452 msgid "unable to log sub-commands with SELinux RBAC on this system" msgstr "ne eblas protokoli subkomandojn kun SELinux-RBAC en ĉi tiu sistemo" @@ -304,63 +306,63 @@ msgstr "ne eblas protokoli subkomandojn kun SELinux-RBAC en ĉi tiu sistemo" msgid "unable to remove PRIV_PROC_EXEC from PRIV_LIMIT" msgstr "ne eblas forigi PRIV_PROC_EXEC-on de PRIV_LIMIT" -#: src/exec_intercept.c:70 src/exec_iolog.c:163 src/exec_iolog.c:173 +#: src/exec_intercept.c:71 src/exec_iolog.c:163 src/exec_iolog.c:173 #: src/exec_iolog.c:218 src/exec_iolog.c:225 src/exec_iolog.c:252 -#: src/exec_monitor.c:426 src/exec_monitor.c:434 src/exec_monitor.c:442 -#: src/exec_monitor.c:449 src/exec_monitor.c:456 src/exec_monitor.c:463 -#: src/exec_monitor.c:470 src/exec_monitor.c:477 src/exec_monitor.c:484 -#: src/exec_monitor.c:491 src/exec_nopty.c:233 src/exec_nopty.c:242 +#: src/exec_monitor.c:438 src/exec_monitor.c:446 src/exec_monitor.c:454 +#: src/exec_monitor.c:461 src/exec_monitor.c:468 src/exec_monitor.c:475 +#: src/exec_monitor.c:482 src/exec_monitor.c:489 src/exec_monitor.c:496 +#: src/exec_monitor.c:503 src/exec_nopty.c:233 src/exec_nopty.c:242 #: src/exec_nopty.c:249 src/exec_nopty.c:256 src/exec_nopty.c:263 #: src/exec_nopty.c:270 src/exec_nopty.c:277 src/exec_nopty.c:284 #: src/exec_nopty.c:291 src/exec_nopty.c:298 src/exec_nopty.c:305 #: src/exec_nopty.c:312 src/exec_nopty.c:320 src/exec_nopty.c:328 -#: src/exec_nopty.c:387 src/exec_nopty.c:457 src/exec_pty.c:432 -#: src/exec_pty.c:537 src/exec_pty.c:587 src/exec_pty.c:965 src/exec_pty.c:974 -#: src/exec_pty.c:981 src/exec_pty.c:988 src/exec_pty.c:995 -#: src/exec_pty.c:1002 src/exec_pty.c:1009 src/exec_pty.c:1016 -#: src/exec_pty.c:1023 src/exec_pty.c:1030 src/exec_pty.c:1037 -#: src/exec_pty.c:1044 +#: src/exec_nopty.c:387 src/exec_nopty.c:457 src/exec_pty.c:441 +#: src/exec_pty.c:555 src/exec_pty.c:605 src/exec_pty.c:992 src/exec_pty.c:1001 +#: src/exec_pty.c:1008 src/exec_pty.c:1015 src/exec_pty.c:1022 +#: src/exec_pty.c:1029 src/exec_pty.c:1036 src/exec_pty.c:1043 +#: src/exec_pty.c:1050 src/exec_pty.c:1057 src/exec_pty.c:1064 +#: src/exec_pty.c:1071 msgid "unable to add event to queue" msgstr "ne eblas aldoni al la atendovico eventon" -#: src/exec_intercept.c:323 src/sudo.c:1033 +#: src/exec_intercept.c:324 src/sudo.c:1056 msgid "command not set by the security policy" msgstr "komando ne agordita per la sekureco-regularo" -#: src/exec_intercept.c:401 src/exec_intercept.c:441 src/sudo.c:1253 -#: src/sudo.c:1298 src/sudo.c:1342 +#: src/exec_intercept.c:403 src/exec_intercept.c:443 src/sudo.c:1274 +#: src/sudo.c:1319 src/sudo.c:1363 msgid "command rejected by policy" msgstr "komando rifuzita pro konduto-regularo" -#: src/exec_intercept.c:512 src/sudo.c:1940 +#: src/exec_intercept.c:514 src/sudo.c:1961 msgid "approval plugin error" msgstr "eraro de aproba kromprogramo" -#: src/exec_intercept.c:537 src/sudo.c:1258 src/sudo.c:1303 src/sudo.c:1347 -#: src/sudo.c:1421 +#: src/exec_intercept.c:539 src/sudo.c:1279 src/sudo.c:1324 src/sudo.c:1368 +#: src/sudo.c:1442 msgid "policy plugin error" msgstr "eraro de konduta kromprogramo" -#: src/exec_intercept.c:566 +#: src/exec_intercept.c:568 msgid "invalid PolicyCheckRequest" msgstr "nevalida PolicyCheckRequest" -#: src/exec_intercept.c:709 +#: src/exec_intercept.c:711 #, c-format msgid "client request too large: %zu" msgstr "klienta peto tro granda: %zu" -#: src/exec_intercept.c:751 +#: src/exec_intercept.c:753 #, c-format msgid "unable to unpack %s size %zu" msgstr "ne eblas malpaki %s, grando %zu" -#: src/exec_intercept.c:799 +#: src/exec_intercept.c:801 #, c-format msgid "unexpected type_case value %d in %s from %s" msgstr "neatendita valoro %d de type_case en %s el %s" -#: src/exec_intercept.c:825 +#: src/exec_intercept.c:827 #, c-format msgid "server message too large: %zu" msgstr "servila mesaĝo tro granda: %zu" @@ -383,135 +385,135 @@ msgstr "ni paŭzas la protokoladon de eraroj" msgid "error changing window size" msgstr "eraro dum ŝanĝo de fenestro-grando" -#: src/exec_monitor.c:328 +#: src/exec_monitor.c:330 msgid "error reading from socketpair" msgstr "eraro dum legi la konektingan paron" -#: src/exec_monitor.c:340 +#: src/exec_monitor.c:342 #, c-format msgid "unexpected reply type on backchannel: %d" msgstr "neatendita respondotipo ĉe la postkanalo: %d" -#: src/exec_monitor.c:566 +#: src/exec_monitor.c:578 msgid "unable to set controlling tty" msgstr "ne eblas elekti la regan tty-on" -#: src/exec_monitor.c:574 src/exec_nopty.c:504 src/exec_nopty.c:514 -#: src/exec_nopty.c:524 src/exec_nopty.c:560 src/exec_pty.c:1195 -#: src/exec_pty.c:1222 src/exec_pty.c:1242 src/exec_pty.c:1262 -#: src/tgetpass.c:306 -msgid "unable to create pipe" -msgstr "ne eblas krei tubon" +#: src/exec_monitor.c:590 src/exec_nopty.c:572 src/exec_pty.c:1126 +#: src/exec_pty.c:1135 +msgid "unable to create sockets" +msgstr "ne eblas krei konektingojn" -#: src/exec_monitor.c:584 +#: src/exec_monitor.c:599 msgid "unable to receive message from parent" msgstr "ne eblas ricevi mesaĝon el supre" -#: src/exec_monitor.c:600 src/exec_nopty.c:603 src/exec_pty.c:1303 +#: src/exec_monitor.c:614 src/exec_nopty.c:606 src/exec_pty.c:1336 #: src/sudo_edit.c:361 src/tgetpass.c:310 msgid "unable to fork" msgstr "ne eblas forki" -#: src/exec_monitor.c:604 src/exec_monitor.c:700 src/exec_nopty.c:708 +#: src/exec_monitor.c:618 src/exec_monitor.c:720 src/exec_nopty.c:712 msgid "unable to restore tty label" msgstr "ne eblis reatingi tty-etikedon" -#: src/exec_monitor.c:615 src/sesh.c:217 src/sudo.c:1204 +#: src/exec_monitor.c:629 src/exec_monitor.c:678 src/sesh.c:217 src/sudo.c:1225 #, c-format msgid "unable to execute %s" msgstr "ne eblas plenumigi: %s" -#: src/exec_nopty.c:554 src/exec_pty.c:1131 +#: src/exec_nopty.c:507 src/exec_nopty.c:517 src/exec_nopty.c:527 +#: src/exec_nopty.c:563 src/exec_pty.c:1224 src/exec_pty.c:1251 +#: src/exec_pty.c:1274 src/exec_pty.c:1292 src/tgetpass.c:306 +msgid "unable to create pipe" +msgstr "ne eblas krei tubon" + +#: src/exec_nopty.c:557 src/exec_pty.c:1157 msgid "policy plugin failed session initialization" msgstr "konduta kromprogramo fiaskis dum seanca komenciĝo" -#: src/exec_nopty.c:569 src/exec_pty.c:1100 src/exec_pty.c:1109 -msgid "unable to create sockets" -msgstr "ne eblas krei konektingojn" - -#: src/exec_nopty.c:696 src/exec_pty.c:1406 +#: src/exec_nopty.c:700 src/exec_pty.c:1437 msgid "error in event loop" msgstr "eraro en la eventa iteracio" -#: src/exec_preload.c:167 src/net_ifs.c:206 src/net_ifs.c:372 -#: src/net_ifs.c:433 src/net_ifs.c:620 src/net_ifs.c:852 src/sudo.c:488 -#: src/sudo_edit.c:398 src/sudo_edit.c:406 +#: src/exec_preload.c:168 src/net_ifs.c:206 src/net_ifs.c:372 src/net_ifs.c:433 +#: src/net_ifs.c:620 src/net_ifs.c:852 src/sudo.c:494 src/sudo_edit.c:398 +#: src/sudo_edit.c:406 #, c-format msgid "internal error, %s overflow" msgstr "interna eraro, superfluo en %s" -#: src/exec_ptrace.c:1080 src/exec_ptrace.c:1105 src/exec_ptrace.c:1925 +#: src/exec_ptrace.c:1082 src/exec_ptrace.c:1107 src/exec_ptrace.c:1930 #, c-format msgid "unable to set registers for process %d" msgstr "ne eblas ŝanĝi registrejojn por procezo %d" -#: src/exec_ptrace.c:1100 src/exec_ptrace.c:1275 src/exec_ptrace.c:1628 +#: src/exec_ptrace.c:1102 src/exec_ptrace.c:1277 src/exec_ptrace.c:1630 #, c-format msgid "process %d exited unexpectedly" msgstr "procezo %d neatendite finiĝis" -#: src/exec_ptrace.c:1209 +#: src/exec_ptrace.c:1211 msgid "unable to set seccomp filter" msgstr "ne eblas elekti seccomp-filtrilon" -#: src/exec_ptrace.c:1406 +#: src/exec_ptrace.c:1408 #, c-format msgid "interpreter argument , expected \"%s\", got \"%s\"" msgstr "interpretila argumento , atendita \"%s\", ricevita \"%s\"" -#: src/exec_ptrace.c:1505 +#: src/exec_ptrace.c:1506 #, c-format msgid "pathname mismatch, expected \"%s\", got \"%s\"" msgstr "vojnomo malkongruaĵo, atendita \"%s\", ricevita \"%s\"" -#: src/exec_ptrace.c:1514 src/exec_ptrace.c:1521 src/exec_ptrace.c:1545 -#: src/exec_ptrace.c:1553 src/exec_ptrace.c:1559 src/exec_ptrace.c:1565 +#: src/exec_ptrace.c:1515 src/exec_ptrace.c:1522 src/exec_ptrace.c:1546 +#: src/exec_ptrace.c:1554 src/exec_ptrace.c:1560 src/exec_ptrace.c:1566 #, c-format msgid "%s[%d] mismatch, expected \"%s\", got \"%s\"" msgstr "%s[%d] malkongruaĵo, atendita \"%s\", ricevita \"%s\"" -#: src/exec_ptrace.c:1632 +#: src/exec_ptrace.c:1634 #, c-format msgid "process %d unexpected status 0x%x" msgstr "procezo %d neatendita stato 0x%x" -#: src/exec_ptrace.c:1723 +#: src/exec_ptrace.c:1727 #, c-format msgid "unable to get event message for process %d" msgstr "ne eblas atingi eventan mesaĝon por procezo %d" -#: src/exec_ptrace.c:1730 +#: src/exec_ptrace.c:1734 #, c-format msgid "unable to get registers for process %d" msgstr "ne eblas atingi registrejojn por procezo %d" -#: src/exec_pty.c:84 +#: src/exec_pty.c:87 msgid "unable to allocate pty" msgstr "ne eblis generi pty-on" -#: src/exec_pty.c:131 src/exec_pty.c:284 src/tgetpass.c:251 +#: src/exec_pty.c:118 src/exec_pty.c:257 src/tgetpass.c:251 msgid "unable to restore terminal settings" msgstr "ne eblas restarigi terminalan agordon" -#: src/exec_pty.c:243 +#: src/exec_pty.c:218 msgid "unable to set handler for SIGCONT" msgstr "ne eblas difini traktilon por la signalo SIGCONT" -#: src/exec_pty.c:293 +#: src/exec_pty.c:267 #, c-format msgid "unable to set handler for SIG%s" msgstr "ne eblas difini traktilon por la signalo SIG%s" -#: src/exec_pty.c:317 +#: src/exec_pty.c:291 #, c-format msgid "unable to restore handler for SIG%s" msgstr "ne eblas restarigi traktilon por la signalo SIG%s" -#: src/exec_pty.c:345 +#: src/exec_pty.c:319 msgid "unable to restore handler for SIGCONT" msgstr "ne eblas restarigi traktilon por la signalo SIGCONT" -#: src/exec_pty.c:1353 +#: src/exec_pty.c:1385 msgid "unable to send message to monitor process" msgstr "ne eblas sendi mesaĝon al observa procezo" @@ -560,40 +562,40 @@ msgstr "nekonata kromprograma tipo %d trovita en %s" msgid "policy plugin %s does not include a check_policy method" msgstr "konduta kromprogramo %s ne inkluzivas la metodon check_policy" -#: src/parse_args.c:214 +#: src/parse_args.c:213 #, c-format msgid "invalid environment variable name: %s" msgstr "malvalida medivariabla nomo: %s" -#: src/parse_args.c:319 +#: src/parse_args.c:318 msgid "the argument to -C must be a number greater than or equal to 3" msgstr "la parametro de -C devas esti nombron almenaŭ 3" -#: src/parse_args.c:556 +#: src/parse_args.c:555 msgid "you may not specify both the -i and -s options" msgstr "vi ne rajtas specifi ambaŭ parametrojn -i kaj -s" -#: src/parse_args.c:561 +#: src/parse_args.c:560 msgid "you may not specify both the -i and -E options" msgstr "vi ne rajtas specifi ambaŭ parametrojn -i kaj -E" -#: src/parse_args.c:571 +#: src/parse_args.c:570 msgid "the -E option is not valid in edit mode" msgstr "la parametro -E ne validas en redakta reĝimo" -#: src/parse_args.c:574 +#: src/parse_args.c:573 msgid "you may not specify environment variables in edit mode" msgstr "vi ne rajtas specifi medivariablojn en redakta reĝimo" -#: src/parse_args.c:584 +#: src/parse_args.c:583 msgid "the -U option may only be used with the -l option" msgstr "la parametro '-U' nur povas esti uzata kun '-l'" -#: src/parse_args.c:588 +#: src/parse_args.c:587 msgid "the -A and -S options may not be used together" msgstr "vi ne rajtas kune uzi la parametrojn '-A' kaj '-S'" -#: src/parse_args.c:686 +#: src/parse_args.c:685 msgid "sudoedit is not supported on this platform" msgstr "sudoedit ne estas havebla en ĉi tiu platformon" @@ -947,151 +949,151 @@ msgstr "setproject malsukcesis por projekto \"%s\"" msgid "warning, resource control assignment failed for project \"%s\"" msgstr "averto, rimedo-rega asigno malsukcesis por projekto \"%s\"" -#: src/sudo.c:214 +#: src/sudo.c:215 #, c-format msgid "Sudo version %s\n" msgstr "Sudo: eldono %s\n" -#: src/sudo.c:216 +#: src/sudo.c:217 #, c-format msgid "Configure options: %s\n" msgstr "Muntaj parametroj: %s\n" -#: src/sudo.c:224 +#: src/sudo.c:225 msgid "fatal error, unable to load plugins" msgstr "ĉesiga eraro: ne eblas ŝargi kromprogramojn" -#: src/sudo.c:270 +#: src/sudo.c:271 msgid "plugin did not return a command to execute" msgstr "kromprogramo ne liveris komandon por plenumi" -#: src/sudo.c:306 +#: src/sudo.c:307 #, c-format msgid "unexpected sudo mode 0x%x" msgstr "neatendita sudo-reĝimon 0x%x" -#: src/sudo.c:559 +#: src/sudo.c:567 #, c-format msgid "you do not exist in the %s database" msgstr "vi ne ekzistas en la datumbazo %s" -#: src/sudo.c:616 +#: src/sudo.c:632 msgid "unable to determine tty" msgstr "ne eblas determini tty-on" -#: src/sudo.c:932 +#: src/sudo.c:955 msgid "The \"no new privileges\" flag is set, which prevents sudo from running as root." msgstr "La flago \"neniuj novaj privilegioj\" estas agordita. Tio malhelpas al sudo plenumigi kiel la ĉefuzanto." -#: src/sudo.c:934 +#: src/sudo.c:957 msgid "If sudo is running in a container, you may need to adjust the container configuration to disable the flag." msgstr "Se sudo plenumiĝas en ujo, vi eble devas alĝustigi la ujan agordo por malŝalti la flagon." -#: src/sudo.c:968 +#: src/sudo.c:991 #, c-format msgid "%s must be owned by uid %d and have the setuid bit set" msgstr "%s devas esti posedata de uid %d kaj la setuid-bito devas esti markita" -#: src/sudo.c:971 +#: src/sudo.c:994 #, c-format msgid "effective uid is not %d, is %s on a file system with the 'nosuid' option set or an NFS file system without root privileges?" msgstr "efektiva uid ne estas %d; ĉu %s estas en dosiersistemo kun la elekto 'nosuid' aŭ reta dosiersistemo sen ĉefuzanto-privilegioj?" -#: src/sudo.c:977 +#: src/sudo.c:1000 #, c-format msgid "effective uid is not %d, is sudo installed setuid root?" msgstr "efektiva uid ne estas %d; ĉu sudo estas instalita kiel setuid-radiko?" -#: src/sudo.c:993 src/tgetpass.c:332 +#: src/sudo.c:1016 src/tgetpass.c:332 msgid "unable to set supplementary group IDs" msgstr "ne eblas elekti suplementajn grupajn identigilojn" -#: src/sudo.c:1000 +#: src/sudo.c:1023 #, c-format msgid "unable to set effective gid to runas gid %u" msgstr "ne eblas elekti efikan gid-on al plenumigkiela gid %u" -#: src/sudo.c:1006 +#: src/sudo.c:1029 #, c-format msgid "unable to set gid to runas gid %u" msgstr "ne eblas elekti gid-on kiel plenumigkielan gid-on %u" -#: src/sudo.c:1037 +#: src/sudo.c:1060 msgid "argv not set by the security policy" msgstr "argv ne agordita per la sekureco-regularo" -#: src/sudo.c:1041 +#: src/sudo.c:1064 msgid "envp not set by the security policy" msgstr "envp ne agordita per la sekureco-regularo" -#: src/sudo.c:1063 +#: src/sudo.c:1086 #, c-format msgid "unexpected child termination condition: %d" msgstr "neatendita ido finiĝis laŭ la kondiĉo: %d" -#: src/sudo.c:1176 +#: src/sudo.c:1198 msgid "unable to initialize policy plugin" msgstr "ne eblas komenci konduktan kromprogramon" -#: src/sudo.c:1238 +#: src/sudo.c:1259 #, c-format msgid "policy plugin %s is missing the \"check_policy\" method" msgstr "konduta kromprogramo %s ne inkluzivas la metodon \"check_policy\"" -#: src/sudo.c:1284 +#: src/sudo.c:1305 #, c-format msgid "policy plugin %s does not support listing privileges" msgstr "konduta kromprogramo %s ne komprenas listigon de privilegioj" -#: src/sudo.c:1328 +#: src/sudo.c:1349 #, c-format msgid "policy plugin %s does not support the -v option" msgstr "konduta kromprogramo %s ne komprenas la parametron -v" -#: src/sudo.c:1366 +#: src/sudo.c:1387 #, c-format msgid "policy plugin %s does not support the -k/-K options" msgstr "konduta kromprogramo %s ne komprenas la parametrojn -k kaj -K" -#: src/sudo.c:1495 +#: src/sudo.c:1516 #, c-format msgid "error initializing I/O plugin %s" msgstr "eraro dum lanĉo de eneliga kromprogramo %s" -#: src/sudo.c:1498 +#: src/sudo.c:1519 msgid "error initializing I/O plugin" msgstr "eraro dum lanĉo de eneliga kromprogramo" -#: src/sudo.c:1647 +#: src/sudo.c:1668 #, c-format msgid "error initializing audit plugin %s" msgstr "eraro dum lanĉo de ekzamena kromprogramo %s" -#: src/sudo.c:1726 +#: src/sudo.c:1747 #, c-format msgid "%s: unable to log error event%s%s" msgstr "%smaleblas protokoli eraro-eventon%s%s" -#: src/sudo.c:1762 +#: src/sudo.c:1783 #, c-format msgid "%s: unable to log accept event%s%s" msgstr "%s: maleblas protokoli akcepto-eventon%s%s" -#: src/sudo.c:1767 src/sudo.c:1805 +#: src/sudo.c:1788 src/sudo.c:1826 msgid "audit plugin error" msgstr "Kontrolo-kromprograma eraro" -#: src/sudo.c:1800 +#: src/sudo.c:1821 #, c-format msgid "%s: unable to log reject event%s%s" msgstr "%s: neeblas protokoli malakcepto-eventon%s%s" -#: src/sudo.c:1860 +#: src/sudo.c:1881 #, c-format msgid "error initializing approval plugin %s" msgstr "eraro dum lanĉo de aproba kromprogramo %s" -#: src/sudo.c:1930 +#: src/sudo.c:1951 msgid "command rejected by approver" msgstr "komando rifuzita de aprobanto" @@ -1151,7 +1153,7 @@ msgstr "kromprograma eraro: malhavas dosieran liston por sudoedit" msgid "unable to read the clock" msgstr "ne eblas legi la horloĝon" -#: src/sudo_intercept_common.c:365 +#: src/sudo_intercept_common.c:372 msgid "intercept port not set" msgstr "interkapta pordo ne agordita" @@ -1190,6 +1192,12 @@ msgstr "ne eblas elekti uid-on al %u" msgid "unable to run %s" msgstr "ne eblas plenumigi: %s" +#: src/ttyname.c:139 src/ttyname.c:182 src/ttyname.c:199 src/ttyname.c:284 +#: src/ttyname.c:312 src/ttyname.c:356 +#, c-format +msgid "unable to find terminal name for device %u, %u" +msgstr "ne eblas determini terminalan nomon por aparato %u, %u." + #: src/utmp.c:283 msgid "unable to save stdin" msgstr "ne eblas konservi norman enigon" diff --git a/po/fr.mo b/po/fr.mo index a61a69043..bd7798281 100644 Binary files a/po/fr.mo and b/po/fr.mo differ diff --git a/po/fr.po b/po/fr.po index a5182e646..4755b56d3 100644 --- a/po/fr.po +++ b/po/fr.po @@ -1,15 +1,15 @@ # Messages français pour sudo. -# Copyright (C) 2023 Free Software Foundation, Inc. +# Copyright (C) 2024 Free Software Foundation, Inc. # This file is put in the public domain. # Todd C. Miller , 2011-2013 -# Frédéric Marchal , 2023 +# Frédéric Marchal , 2024 # msgid "" msgstr "" -"Project-Id-Version: sudo 1.9.14b1\n" +"Project-Id-Version: sudo 1.9.16b1\n" "Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n" -"POT-Creation-Date: 2023-06-07 13:27-0600\n" -"PO-Revision-Date: 2023-06-08 21:12+0200\n" +"POT-Creation-Date: 2024-06-08 09:06-0600\n" +"PO-Revision-Date: 2024-07-24 11:41+0200\n" "Last-Translator: Frédéric Marchal \n" "Language-Team: French \n" "Language: fr\n" @@ -33,78 +33,80 @@ msgid "unable to restore registry" msgstr "impossible de rétablir le registre" #: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/gidlist.c:76 -#: lib/util/json.c:55 lib/util/json.c:197 lib/util/sudo_conf.c:215 -#: lib/util/sudo_conf.c:301 lib/util/sudo_conf.c:378 lib/util/sudo_conf.c:647 -#: src/conversation.c:78 src/exec_iolog.c:122 src/exec_iolog.c:133 -#: src/exec_iolog.c:210 src/exec_monitor.c:171 src/exec_monitor.c:418 -#: src/exec_monitor.c:424 src/exec_monitor.c:432 src/exec_monitor.c:440 -#: src/exec_monitor.c:447 src/exec_monitor.c:454 src/exec_monitor.c:461 -#: src/exec_monitor.c:468 src/exec_monitor.c:475 src/exec_monitor.c:482 -#: src/exec_monitor.c:489 src/exec_nopty.c:231 src/exec_nopty.c:240 +#: lib/util/json.c:55 lib/util/json.c:197 lib/util/sudo_conf.c:218 +#: lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381 lib/util/sudo_conf.c:672 +#: src/conversation.c:81 src/exec_iolog.c:122 src/exec_iolog.c:133 +#: src/exec_iolog.c:210 src/exec_monitor.c:173 src/exec_monitor.c:430 +#: src/exec_monitor.c:436 src/exec_monitor.c:444 src/exec_monitor.c:452 +#: src/exec_monitor.c:459 src/exec_monitor.c:466 src/exec_monitor.c:473 +#: src/exec_monitor.c:480 src/exec_monitor.c:487 src/exec_monitor.c:494 +#: src/exec_monitor.c:501 src/exec_nopty.c:231 src/exec_nopty.c:240 #: src/exec_nopty.c:247 src/exec_nopty.c:254 src/exec_nopty.c:261 #: src/exec_nopty.c:268 src/exec_nopty.c:275 src/exec_nopty.c:282 #: src/exec_nopty.c:289 src/exec_nopty.c:296 src/exec_nopty.c:303 #: src/exec_nopty.c:310 src/exec_nopty.c:318 src/exec_nopty.c:326 -#: src/exec_nopty.c:744 src/exec_preload.c:343 src/exec_ptrace.c:475 -#: src/exec_ptrace.c:768 src/exec_ptrace.c:983 src/exec_ptrace.c:1096 -#: src/exec_ptrace.c:1271 src/exec_ptrace.c:1624 src/exec_ptrace.c:1651 -#: src/exec_ptrace.c:1841 src/exec_pty.c:581 src/exec_pty.c:765 -#: src/exec_pty.c:963 src/exec_pty.c:972 src/exec_pty.c:979 src/exec_pty.c:986 -#: src/exec_pty.c:993 src/exec_pty.c:1000 src/exec_pty.c:1007 -#: src/exec_pty.c:1014 src/exec_pty.c:1021 src/exec_pty.c:1028 -#: src/exec_pty.c:1035 src/exec_pty.c:1042 src/exec_pty.c:1050 -#: src/load_plugins.c:100 src/load_plugins.c:125 src/load_plugins.c:161 -#: src/load_plugins.c:394 src/load_plugins.c:400 src/parse_args.c:172 -#: src/parse_args.c:193 src/parse_args.c:269 src/parse_args.c:625 -#: src/parse_args.c:647 src/parse_args.c:672 src/preserve_fds.c:46 -#: src/preserve_fds.c:131 src/selinux.c:89 src/selinux.c:362 src/selinux.c:472 -#: src/selinux.c:489 src/selinux.c:496 src/sesh.c:206 src/sesh.c:240 -#: src/sesh.c:246 src/sesh.c:253 src/sesh.c:259 src/sesh.c:470 src/sudo.c:644 -#: src/sudo.c:709 src/sudo.c:719 src/sudo.c:746 src/sudo.c:769 src/sudo.c:778 -#: src/sudo.c:787 src/sudo.c:805 src/sudo.c:846 src/sudo.c:855 src/sudo.c:865 -#: src/sudo.c:898 src/sudo.c:1127 src/sudo.c:1148 src/sudo.c:1441 -#: src/sudo.c:1610 src/sudo.c:1837 src/sudo.c:2171 src/sudo_edit.c:89 -#: src/sudo_edit.c:149 src/sudo_edit.c:430 src/sudo_edit.c:439 -#: src/sudo_edit.c:540 src/sudo_edit.c:547 src/sudo_edit.c:692 -#: src/sudo_edit.c:712 src/sudo_intercept_common.c:115 -#: src/sudo_intercept_common.c:340 +#: src/exec_nopty.c:748 src/exec_preload.c:347 src/exec_ptrace.c:475 +#: src/exec_ptrace.c:768 src/exec_ptrace.c:985 src/exec_ptrace.c:1098 +#: src/exec_ptrace.c:1273 src/exec_ptrace.c:1626 src/exec_ptrace.c:1653 +#: src/exec_ptrace.c:1845 src/exec_pty.c:599 src/exec_pty.c:783 +#: src/exec_pty.c:990 src/exec_pty.c:999 src/exec_pty.c:1006 +#: src/exec_pty.c:1013 src/exec_pty.c:1020 src/exec_pty.c:1027 +#: src/exec_pty.c:1034 src/exec_pty.c:1041 src/exec_pty.c:1048 +#: src/exec_pty.c:1055 src/exec_pty.c:1062 src/exec_pty.c:1069 +#: src/exec_pty.c:1077 src/load_plugins.c:100 src/load_plugins.c:125 +#: src/load_plugins.c:161 src/load_plugins.c:394 src/load_plugins.c:400 +#: src/parse_args.c:171 src/parse_args.c:192 src/parse_args.c:268 +#: src/parse_args.c:624 src/parse_args.c:646 src/parse_args.c:671 +#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89 +#: src/selinux.c:362 src/selinux.c:472 src/selinux.c:489 src/selinux.c:496 +#: src/sesh.c:206 src/sesh.c:240 src/sesh.c:246 src/sesh.c:253 src/sesh.c:259 +#: src/sesh.c:470 src/sudo.c:581 src/sudo.c:607 src/sudo.c:660 src/sudo.c:726 +#: src/sudo.c:737 src/sudo.c:764 src/sudo.c:787 src/sudo.c:796 src/sudo.c:805 +#: src/sudo.c:818 src/sudo.c:827 src/sudo.c:868 src/sudo.c:878 src/sudo.c:888 +#: src/sudo.c:921 src/sudo.c:923 src/sudo.c:1150 src/sudo.c:1171 +#: src/sudo.c:1462 src/sudo.c:1631 src/sudo.c:1858 src/sudo.c:2191 +#: src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:430 +#: src/sudo_edit.c:439 src/sudo_edit.c:540 src/sudo_edit.c:547 +#: src/sudo_edit.c:692 src/sudo_edit.c:712 src/sudo_intercept_common.c:122 +#: src/sudo_intercept_common.c:347 #, c-format msgid "%s: %s" msgstr "%s: %s" #: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/json.c:56 -#: lib/util/json.c:198 lib/util/regex.c:173 lib/util/sudo_conf.c:216 -#: lib/util/sudo_conf.c:301 lib/util/sudo_conf.c:378 lib/util/sudo_conf.c:647 -#: src/conversation.c:79 src/exec_intercept.c:111 src/exec_intercept.c:350 -#: src/exec_intercept.c:525 src/exec_intercept.c:589 src/exec_intercept.c:713 -#: src/exec_intercept.c:837 src/exec_iolog.c:122 src/exec_iolog.c:133 -#: src/exec_iolog.c:210 src/exec_monitor.c:418 src/exec_monitor.c:424 -#: src/exec_monitor.c:432 src/exec_monitor.c:440 src/exec_monitor.c:447 -#: src/exec_monitor.c:454 src/exec_monitor.c:461 src/exec_monitor.c:468 -#: src/exec_monitor.c:475 src/exec_monitor.c:482 src/exec_monitor.c:489 +#: lib/util/json.c:198 lib/util/regex.c:173 lib/util/sudo_conf.c:219 +#: lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381 lib/util/sudo_conf.c:672 +#: src/conversation.c:82 src/exec_intercept.c:112 src/exec_intercept.c:351 +#: src/exec_intercept.c:527 src/exec_intercept.c:591 src/exec_intercept.c:715 +#: src/exec_intercept.c:839 src/exec_iolog.c:122 src/exec_iolog.c:133 +#: src/exec_iolog.c:210 src/exec_monitor.c:430 src/exec_monitor.c:436 +#: src/exec_monitor.c:444 src/exec_monitor.c:452 src/exec_monitor.c:459 +#: src/exec_monitor.c:466 src/exec_monitor.c:473 src/exec_monitor.c:480 +#: src/exec_monitor.c:487 src/exec_monitor.c:494 src/exec_monitor.c:501 #: src/exec_nopty.c:231 src/exec_nopty.c:240 src/exec_nopty.c:247 #: src/exec_nopty.c:254 src/exec_nopty.c:261 src/exec_nopty.c:268 #: src/exec_nopty.c:275 src/exec_nopty.c:282 src/exec_nopty.c:289 #: src/exec_nopty.c:296 src/exec_nopty.c:303 src/exec_nopty.c:310 -#: src/exec_nopty.c:318 src/exec_nopty.c:326 src/exec_preload.c:343 -#: src/exec_ptrace.c:475 src/exec_ptrace.c:768 src/exec_ptrace.c:983 -#: src/exec_ptrace.c:1651 src/exec_ptrace.c:1842 src/exec_pty.c:581 -#: src/exec_pty.c:963 src/exec_pty.c:972 src/exec_pty.c:979 src/exec_pty.c:986 -#: src/exec_pty.c:993 src/exec_pty.c:1000 src/exec_pty.c:1007 -#: src/exec_pty.c:1014 src/exec_pty.c:1021 src/exec_pty.c:1028 -#: src/exec_pty.c:1035 src/exec_pty.c:1042 src/exec_pty.c:1050 -#: src/load_plugins.c:100 src/load_plugins.c:125 src/load_plugins.c:161 -#: src/load_plugins.c:394 src/load_plugins.c:400 src/parse_args.c:172 -#: src/parse_args.c:194 src/parse_args.c:269 src/parse_args.c:625 -#: src/parse_args.c:647 src/parse_args.c:672 src/preserve_fds.c:46 -#: src/preserve_fds.c:131 src/selinux.c:89 src/selinux.c:362 src/selinux.c:472 -#: src/selinux.c:489 src/selinux.c:496 src/sesh.c:206 src/sesh.c:471 -#: src/sudo.c:228 src/sudo.c:644 src/sudo.c:898 src/sudo.c:1127 -#: src/sudo.c:1148 src/sudo.c:1441 src/sudo.c:1610 src/sudo.c:1837 -#: src/sudo.c:2171 src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:430 +#: src/exec_nopty.c:318 src/exec_nopty.c:326 src/exec_preload.c:347 +#: src/exec_ptrace.c:475 src/exec_ptrace.c:768 src/exec_ptrace.c:985 +#: src/exec_ptrace.c:1653 src/exec_ptrace.c:1846 src/exec_pty.c:599 +#: src/exec_pty.c:990 src/exec_pty.c:999 src/exec_pty.c:1006 +#: src/exec_pty.c:1013 src/exec_pty.c:1020 src/exec_pty.c:1027 +#: src/exec_pty.c:1034 src/exec_pty.c:1041 src/exec_pty.c:1048 +#: src/exec_pty.c:1055 src/exec_pty.c:1062 src/exec_pty.c:1069 +#: src/exec_pty.c:1077 src/load_plugins.c:100 src/load_plugins.c:125 +#: src/load_plugins.c:161 src/load_plugins.c:394 src/load_plugins.c:400 +#: src/parse_args.c:171 src/parse_args.c:193 src/parse_args.c:268 +#: src/parse_args.c:624 src/parse_args.c:646 src/parse_args.c:671 +#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89 +#: src/selinux.c:362 src/selinux.c:472 src/selinux.c:489 src/selinux.c:496 +#: src/sesh.c:206 src/sesh.c:471 src/sudo.c:229 src/sudo.c:581 src/sudo.c:607 +#: src/sudo.c:660 src/sudo.c:819 src/sudo.c:921 src/sudo.c:923 src/sudo.c:1150 +#: src/sudo.c:1171 src/sudo.c:1462 src/sudo.c:1631 src/sudo.c:1858 +#: src/sudo.c:2191 src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:430 #: src/sudo_edit.c:439 src/sudo_edit.c:540 src/sudo_edit.c:547 -#: src/sudo_edit.c:692 src/sudo_edit.c:712 src/sudo_intercept_common.c:115 -#: src/sudo_intercept_common.c:340 +#: src/sudo_edit.c:692 src/sudo_edit.c:712 src/sudo_intercept_common.c:122 +#: src/sudo_intercept_common.c:347 msgid "unable to allocate memory" msgstr "impossible d'allouer la mémoire" @@ -118,9 +120,9 @@ msgstr "impossible d'évaluer par stat() %.*s" msgid "%.*s exists but is not a directory (0%o)" msgstr "%.*s existe mais il n'est pas un répertoire (0%o)" -#: lib/util/mkdir_parents.c:103 lib/util/sudo_conf.c:664 -#: lib/util/sudo_conf.c:683 lib/util/sudo_conf.c:710 src/selinux.c:235 -#: src/selinux.c:265 src/sudo.c:373 src/sudo_edit.c:495 src/sudo_edit.c:559 +#: lib/util/mkdir_parents.c:103 lib/util/sudo_conf.c:689 +#: lib/util/sudo_conf.c:708 lib/util/sudo_conf.c:735 src/selinux.c:235 +#: src/selinux.c:265 src/sudo.c:375 src/sudo_edit.c:495 src/sudo_edit.c:559 #, c-format msgid "unable to open %s" msgstr "impossible d'ouvrir %s" @@ -143,55 +145,55 @@ msgstr "l'expression régulière est trop grande" msgid "Unknown signal" msgstr "Signal inconnu" -#: lib/util/strtoid.c:84 lib/util/strtomode.c:52 lib/util/strtonum.c:148 -#: lib/util/strtonum.c:187 src/sesh.c:240 src/sesh.c:253 +#: lib/util/strtoid.c:84 lib/util/strtomode.c:52 lib/util/strtonum.c:147 +#: lib/util/strtonum.c:186 src/sesh.c:240 src/sesh.c:253 msgid "invalid value" msgstr "valeur incorrecte" -#: lib/util/strtomode.c:58 lib/util/strtonum.c:160 +#: lib/util/strtomode.c:58 lib/util/strtonum.c:159 msgid "value too large" msgstr "valeur trop grande" -#: lib/util/strtomode.c:58 lib/util/strtonum.c:154 +#: lib/util/strtomode.c:58 lib/util/strtonum.c:153 msgid "value too small" msgstr "valeur trop petite" -#: lib/util/sudo_conf.c:234 +#: lib/util/sudo_conf.c:237 #, c-format msgid "invalid Path value \"%s\" in %s, line %u" msgstr "valeur de chemin « %s » incorrecte dans %s, ligne %u" -#: lib/util/sudo_conf.c:400 lib/util/sudo_conf.c:453 +#: lib/util/sudo_conf.c:403 lib/util/sudo_conf.c:456 #, c-format msgid "invalid value for %s \"%s\" in %s, line %u" msgstr "valeur « %2$s » incorrecte pour %1$s dans %3$s, ligne %4$u" -#: lib/util/sudo_conf.c:421 +#: lib/util/sudo_conf.c:424 #, c-format msgid "unsupported group source \"%s\" in %s, line %u" msgstr "source de groupe « %s » non supportée dans %s, ligne %u" -#: lib/util/sudo_conf.c:437 +#: lib/util/sudo_conf.c:440 #, c-format msgid "invalid max groups \"%s\" in %s, line %u" msgstr "groupes max « %s » incorrects dans %s, ligne %u" -#: lib/util/sudo_conf.c:686 +#: lib/util/sudo_conf.c:711 #, c-format msgid "%s is not a regular file" msgstr "%s n'est pas un fichier régulier" -#: lib/util/sudo_conf.c:689 src/copy_file.c:164 +#: lib/util/sudo_conf.c:714 src/copy_file.c:164 #, c-format msgid "%s is owned by uid %u, should be %u" msgstr "%s est la propriété du uid %u alors que ça devrait être %u" -#: lib/util/sudo_conf.c:693 +#: lib/util/sudo_conf.c:718 #, c-format msgid "%s is world writable" msgstr "%s peut être écrit par tout le monde" -#: lib/util/sudo_conf.c:696 +#: lib/util/sudo_conf.c:721 #, c-format msgid "%s is group writable" msgstr "%s peut être écrit par le groupe" @@ -285,18 +287,18 @@ msgstr "impossible de changer le répertoire vers %s" msgid "starting from %s" msgstr "au départ de %s" -#: src/exec.c:278 src/exec.c:351 src/exec_monitor.c:552 src/exec_monitor.c:554 -#: src/exec_pty.c:1122 src/exec_pty.c:1124 src/signal.c:144 src/signal.c:151 +#: src/exec.c:278 src/exec.c:351 src/exec_monitor.c:564 src/exec_monitor.c:566 +#: src/exec_pty.c:1148 src/exec_pty.c:1150 src/signal.c:144 src/signal.c:151 #: src/signal.c:165 src/suspend_parent.c:143 #, c-format msgid "unable to set handler for signal %d" msgstr "impossible de spécifier le gestionnaire pour le signal %d" -#: src/exec.c:424 +#: src/exec.c:447 msgid "intercept mode is not supported with SELinux RBAC on this system" msgstr "le mode d'interception n'est pas supporté avec SELinux RBAC sur ce système" -#: src/exec.c:429 +#: src/exec.c:452 msgid "unable to log sub-commands with SELinux RBAC on this system" msgstr "impossible d'écrire les sous-commandes dans le journal avec SELinux RBAC sur ce système" @@ -304,63 +306,63 @@ msgstr "impossible d'écrire les sous-commandes dans le journal avec SELinux RBA msgid "unable to remove PRIV_PROC_EXEC from PRIV_LIMIT" msgstr "impossible de supprimer PRIV_PROC_EXEC de PRIV_LIMIT" -#: src/exec_intercept.c:70 src/exec_iolog.c:163 src/exec_iolog.c:173 +#: src/exec_intercept.c:71 src/exec_iolog.c:163 src/exec_iolog.c:173 #: src/exec_iolog.c:218 src/exec_iolog.c:225 src/exec_iolog.c:252 -#: src/exec_monitor.c:426 src/exec_monitor.c:434 src/exec_monitor.c:442 -#: src/exec_monitor.c:449 src/exec_monitor.c:456 src/exec_monitor.c:463 -#: src/exec_monitor.c:470 src/exec_monitor.c:477 src/exec_monitor.c:484 -#: src/exec_monitor.c:491 src/exec_nopty.c:233 src/exec_nopty.c:242 +#: src/exec_monitor.c:438 src/exec_monitor.c:446 src/exec_monitor.c:454 +#: src/exec_monitor.c:461 src/exec_monitor.c:468 src/exec_monitor.c:475 +#: src/exec_monitor.c:482 src/exec_monitor.c:489 src/exec_monitor.c:496 +#: src/exec_monitor.c:503 src/exec_nopty.c:233 src/exec_nopty.c:242 #: src/exec_nopty.c:249 src/exec_nopty.c:256 src/exec_nopty.c:263 #: src/exec_nopty.c:270 src/exec_nopty.c:277 src/exec_nopty.c:284 #: src/exec_nopty.c:291 src/exec_nopty.c:298 src/exec_nopty.c:305 #: src/exec_nopty.c:312 src/exec_nopty.c:320 src/exec_nopty.c:328 -#: src/exec_nopty.c:387 src/exec_nopty.c:457 src/exec_pty.c:432 -#: src/exec_pty.c:537 src/exec_pty.c:587 src/exec_pty.c:965 src/exec_pty.c:974 -#: src/exec_pty.c:981 src/exec_pty.c:988 src/exec_pty.c:995 -#: src/exec_pty.c:1002 src/exec_pty.c:1009 src/exec_pty.c:1016 -#: src/exec_pty.c:1023 src/exec_pty.c:1030 src/exec_pty.c:1037 -#: src/exec_pty.c:1044 +#: src/exec_nopty.c:387 src/exec_nopty.c:457 src/exec_pty.c:441 +#: src/exec_pty.c:555 src/exec_pty.c:605 src/exec_pty.c:992 src/exec_pty.c:1001 +#: src/exec_pty.c:1008 src/exec_pty.c:1015 src/exec_pty.c:1022 +#: src/exec_pty.c:1029 src/exec_pty.c:1036 src/exec_pty.c:1043 +#: src/exec_pty.c:1050 src/exec_pty.c:1057 src/exec_pty.c:1064 +#: src/exec_pty.c:1071 msgid "unable to add event to queue" msgstr "impossible d'ajouter l'événement à la queue" -#: src/exec_intercept.c:323 src/sudo.c:1033 +#: src/exec_intercept.c:324 src/sudo.c:1056 msgid "command not set by the security policy" msgstr "commande pas définie par la politique de sécurité" -#: src/exec_intercept.c:401 src/exec_intercept.c:441 src/sudo.c:1253 -#: src/sudo.c:1298 src/sudo.c:1342 +#: src/exec_intercept.c:403 src/exec_intercept.c:443 src/sudo.c:1274 +#: src/sudo.c:1319 src/sudo.c:1363 msgid "command rejected by policy" msgstr "commande rejetée par la politique" -#: src/exec_intercept.c:512 src/sudo.c:1940 +#: src/exec_intercept.c:514 src/sudo.c:1961 msgid "approval plugin error" msgstr "erreur du greffon d'approbation" -#: src/exec_intercept.c:537 src/sudo.c:1258 src/sudo.c:1303 src/sudo.c:1347 -#: src/sudo.c:1421 +#: src/exec_intercept.c:539 src/sudo.c:1279 src/sudo.c:1324 src/sudo.c:1368 +#: src/sudo.c:1442 msgid "policy plugin error" msgstr "erreur du greffon de politique" -#: src/exec_intercept.c:566 +#: src/exec_intercept.c:568 msgid "invalid PolicyCheckRequest" msgstr "PolicyCheckRequest invalide" -#: src/exec_intercept.c:709 +#: src/exec_intercept.c:711 #, c-format msgid "client request too large: %zu" msgstr "demande client trop grand : %zu" -#: src/exec_intercept.c:751 +#: src/exec_intercept.c:753 #, c-format msgid "unable to unpack %s size %zu" msgstr "impossible de décompresser %s avec une taille de %zu" -#: src/exec_intercept.c:799 +#: src/exec_intercept.c:801 #, c-format msgid "unexpected type_case value %d in %s from %s" msgstr "valeur %d inattendue pour type_case dans %s de %s" -#: src/exec_intercept.c:825 +#: src/exec_intercept.c:827 #, c-format msgid "server message too large: %zu" msgstr "message serveur trop grand : %zu" @@ -383,135 +385,135 @@ msgstr "l'enregistrement des erreurs est suspendu" msgid "error changing window size" msgstr "erreur lors du changement de la taille de la fenêtre" -#: src/exec_monitor.c:328 +#: src/exec_monitor.c:330 msgid "error reading from socketpair" msgstr "erreur de lecture sur la paire de sockets" -#: src/exec_monitor.c:340 +#: src/exec_monitor.c:342 #, c-format msgid "unexpected reply type on backchannel: %d" msgstr "réponse inattendue sur le backchannel : %d" -#: src/exec_monitor.c:566 +#: src/exec_monitor.c:578 msgid "unable to set controlling tty" msgstr "impossible de choisir le tty de contrôle" -#: src/exec_monitor.c:574 src/exec_nopty.c:504 src/exec_nopty.c:514 -#: src/exec_nopty.c:524 src/exec_nopty.c:560 src/exec_pty.c:1195 -#: src/exec_pty.c:1222 src/exec_pty.c:1242 src/exec_pty.c:1262 -#: src/tgetpass.c:306 -msgid "unable to create pipe" -msgstr "impossible de créer le tube" +#: src/exec_monitor.c:590 src/exec_nopty.c:572 src/exec_pty.c:1126 +#: src/exec_pty.c:1135 +msgid "unable to create sockets" +msgstr "impossible de créer des sockets" -#: src/exec_monitor.c:584 +#: src/exec_monitor.c:599 msgid "unable to receive message from parent" msgstr "impossible de recevoir un message du parent" -#: src/exec_monitor.c:600 src/exec_nopty.c:603 src/exec_pty.c:1303 +#: src/exec_monitor.c:614 src/exec_nopty.c:606 src/exec_pty.c:1336 #: src/sudo_edit.c:361 src/tgetpass.c:310 msgid "unable to fork" msgstr "erreur de fork" -#: src/exec_monitor.c:604 src/exec_monitor.c:700 src/exec_nopty.c:708 +#: src/exec_monitor.c:618 src/exec_monitor.c:720 src/exec_nopty.c:712 msgid "unable to restore tty label" msgstr "impossible de rétablir l'étiquette du tty" -#: src/exec_monitor.c:615 src/sesh.c:217 src/sudo.c:1204 +#: src/exec_monitor.c:629 src/exec_monitor.c:678 src/sesh.c:217 src/sudo.c:1225 #, c-format msgid "unable to execute %s" msgstr "impossible d'exécuter %s" -#: src/exec_nopty.c:554 src/exec_pty.c:1131 +#: src/exec_nopty.c:507 src/exec_nopty.c:517 src/exec_nopty.c:527 +#: src/exec_nopty.c:563 src/exec_pty.c:1224 src/exec_pty.c:1251 +#: src/exec_pty.c:1274 src/exec_pty.c:1292 src/tgetpass.c:306 +msgid "unable to create pipe" +msgstr "impossible de créer le tube" + +#: src/exec_nopty.c:557 src/exec_pty.c:1157 msgid "policy plugin failed session initialization" msgstr "le greffon de règles a échoué lors de l'initialisation de la session" -#: src/exec_nopty.c:569 src/exec_pty.c:1100 src/exec_pty.c:1109 -msgid "unable to create sockets" -msgstr "impossible de créer des sockets" - -#: src/exec_nopty.c:696 src/exec_pty.c:1406 +#: src/exec_nopty.c:700 src/exec_pty.c:1437 msgid "error in event loop" msgstr "erreur dans la boucle des événements" -#: src/exec_preload.c:167 src/net_ifs.c:206 src/net_ifs.c:372 -#: src/net_ifs.c:433 src/net_ifs.c:620 src/net_ifs.c:852 src/sudo.c:488 -#: src/sudo_edit.c:398 src/sudo_edit.c:406 +#: src/exec_preload.c:168 src/net_ifs.c:206 src/net_ifs.c:372 src/net_ifs.c:433 +#: src/net_ifs.c:620 src/net_ifs.c:852 src/sudo.c:494 src/sudo_edit.c:398 +#: src/sudo_edit.c:406 #, c-format msgid "internal error, %s overflow" msgstr "erreur interne, débordement %s" -#: src/exec_ptrace.c:1080 src/exec_ptrace.c:1105 src/exec_ptrace.c:1925 +#: src/exec_ptrace.c:1082 src/exec_ptrace.c:1107 src/exec_ptrace.c:1930 #, c-format msgid "unable to set registers for process %d" msgstr "impossible de définir les registres pour le processus %d" -#: src/exec_ptrace.c:1100 src/exec_ptrace.c:1275 src/exec_ptrace.c:1628 +#: src/exec_ptrace.c:1102 src/exec_ptrace.c:1277 src/exec_ptrace.c:1630 #, c-format msgid "process %d exited unexpectedly" msgstr "le processus %d s'est terminé de manière inattendue" -#: src/exec_ptrace.c:1209 +#: src/exec_ptrace.c:1211 msgid "unable to set seccomp filter" msgstr "impossible de définir le filtre seccomp" -#: src/exec_ptrace.c:1406 +#: src/exec_ptrace.c:1408 #, c-format msgid "interpreter argument , expected \"%s\", got \"%s\"" msgstr "interpréteur d'argument, « %s » attendu, « %s » obtenu" -#: src/exec_ptrace.c:1505 +#: src/exec_ptrace.c:1506 #, c-format msgid "pathname mismatch, expected \"%s\", got \"%s\"" msgstr "désaccord dans le nom du chemin, « %s » attendu, « %s » obtenu" -#: src/exec_ptrace.c:1514 src/exec_ptrace.c:1521 src/exec_ptrace.c:1545 -#: src/exec_ptrace.c:1553 src/exec_ptrace.c:1559 src/exec_ptrace.c:1565 +#: src/exec_ptrace.c:1515 src/exec_ptrace.c:1522 src/exec_ptrace.c:1546 +#: src/exec_ptrace.c:1554 src/exec_ptrace.c:1560 src/exec_ptrace.c:1566 #, c-format msgid "%s[%d] mismatch, expected \"%s\", got \"%s\"" msgstr "désaccord dans %s[%d], « %s » attendu, « %s » obtenu" -#: src/exec_ptrace.c:1632 +#: src/exec_ptrace.c:1634 #, c-format msgid "process %d unexpected status 0x%x" msgstr "le processus %d a retourné le statut inattendu 0x%x" -#: src/exec_ptrace.c:1723 +#: src/exec_ptrace.c:1727 #, c-format msgid "unable to get event message for process %d" msgstr "impossible d'obtenir le message de l'événement pour le processus %d" -#: src/exec_ptrace.c:1730 +#: src/exec_ptrace.c:1734 #, c-format msgid "unable to get registers for process %d" msgstr "impossible d'obtenir les registres pour le processus %d" -#: src/exec_pty.c:84 +#: src/exec_pty.c:87 msgid "unable to allocate pty" msgstr "impossible d'allouer le pty" -#: src/exec_pty.c:131 src/exec_pty.c:284 src/tgetpass.c:251 +#: src/exec_pty.c:118 src/exec_pty.c:257 src/tgetpass.c:251 msgid "unable to restore terminal settings" msgstr "impossible de rétablir les paramètres du terminal" -#: src/exec_pty.c:243 +#: src/exec_pty.c:218 msgid "unable to set handler for SIGCONT" msgstr "impossible de spécifier le gestionnaire pour SIGCONT" -#: src/exec_pty.c:293 +#: src/exec_pty.c:267 #, c-format msgid "unable to set handler for SIG%s" msgstr "impossible de spécifier le gestionnaire pour SIG%s" -#: src/exec_pty.c:317 +#: src/exec_pty.c:291 #, c-format msgid "unable to restore handler for SIG%s" msgstr "impossible de rétablir le gestionnaire pour SIG%s" -#: src/exec_pty.c:345 +#: src/exec_pty.c:319 msgid "unable to restore handler for SIGCONT" msgstr "impossible de rétablir le gestionnaire pour SIGCONT" -#: src/exec_pty.c:1353 +#: src/exec_pty.c:1385 msgid "unable to send message to monitor process" msgstr "impossible d'envoyer le message au processus de monitoring" @@ -560,40 +562,40 @@ msgstr "type de greffon %d inconnu dans %s" msgid "policy plugin %s does not include a check_policy method" msgstr "le greffon de règles %s ne contient pas de méthode check_policy" -#: src/parse_args.c:214 +#: src/parse_args.c:213 #, c-format msgid "invalid environment variable name: %s" msgstr "nom de variable d'environnement invalide: %s" -#: src/parse_args.c:319 +#: src/parse_args.c:318 msgid "the argument to -C must be a number greater than or equal to 3" msgstr "l'argument à -C doit être un nombre plus grand ou égal à 3" -#: src/parse_args.c:556 +#: src/parse_args.c:555 msgid "you may not specify both the -i and -s options" msgstr "vous ne pouvez pas spécifier les options -i et -s en même temps" -#: src/parse_args.c:561 +#: src/parse_args.c:560 msgid "you may not specify both the -i and -E options" msgstr "vous ne pouvez pas spécifier les options -i et -E en même temps" -#: src/parse_args.c:571 +#: src/parse_args.c:570 msgid "the -E option is not valid in edit mode" msgstr "l'option -E n'est pas valable en mode édition" -#: src/parse_args.c:574 +#: src/parse_args.c:573 msgid "you may not specify environment variables in edit mode" msgstr "vous ne pouvez pas spécifier de variable d'environnement en mode édition" -#: src/parse_args.c:584 +#: src/parse_args.c:583 msgid "the -U option may only be used with the -l option" msgstr "l'option -U ne peut être utilisée qu'avec l'option -l" -#: src/parse_args.c:588 +#: src/parse_args.c:587 msgid "the -A and -S options may not be used together" msgstr "les options -A et -S ne peuvent pas être utilisées ensemble" -#: src/parse_args.c:686 +#: src/parse_args.c:685 msgid "sudoedit is not supported on this platform" msgstr "sudoedit n'est pas pris en charge sur cette plate-forme" @@ -947,151 +949,151 @@ msgstr "setproject a échoué pour le projet « %s »" msgid "warning, resource control assignment failed for project \"%s\"" msgstr "attention, l'assignement du contrôle de ressources a échoue pour le projet « %s »" -#: src/sudo.c:214 +#: src/sudo.c:215 #, c-format msgid "Sudo version %s\n" msgstr "Sudo version %s\n" -#: src/sudo.c:216 +#: src/sudo.c:217 #, c-format msgid "Configure options: %s\n" msgstr "Options de configuration : %s\n" -#: src/sudo.c:224 +#: src/sudo.c:225 msgid "fatal error, unable to load plugins" msgstr "erreur fatale, impossible de charger les greffons" -#: src/sudo.c:270 +#: src/sudo.c:271 msgid "plugin did not return a command to execute" msgstr "le greffon n'a pas retourné une commande à exécuter" -#: src/sudo.c:306 +#: src/sudo.c:307 #, c-format msgid "unexpected sudo mode 0x%x" msgstr "mode sudo 0x%x inattendu" -#: src/sudo.c:559 +#: src/sudo.c:567 #, c-format msgid "you do not exist in the %s database" msgstr "vous n'existez pas dans la base de données %s" -#: src/sudo.c:616 +#: src/sudo.c:632 msgid "unable to determine tty" msgstr "impossible de déterminer le tty" -#: src/sudo.c:932 +#: src/sudo.c:955 msgid "The \"no new privileges\" flag is set, which prevents sudo from running as root." msgstr "Le fanion « no new privileges » (« pas de nouveau privilèges ») est défini. Il empêche sudo de s'exécuter en tant que root." -#: src/sudo.c:934 +#: src/sudo.c:957 msgid "If sudo is running in a container, you may need to adjust the container configuration to disable the flag." msgstr "Si sudo est exécuté dans un conteneur, vous devrez ajuster la configuration du conteneur pour désactiver ce fanion." -#: src/sudo.c:968 +#: src/sudo.c:991 #, c-format msgid "%s must be owned by uid %d and have the setuid bit set" msgstr "%s doit être la propriété du uid %d et avoir le bit setuid mis" -#: src/sudo.c:971 +#: src/sudo.c:994 #, c-format msgid "effective uid is not %d, is %s on a file system with the 'nosuid' option set or an NFS file system without root privileges?" msgstr "le uid effectif n'est pas %d. Est-ce que %s est sur un système de fichiers avec l'option « nosuid » ou un système de fichiers NFS sans privilèges root ?" -#: src/sudo.c:977 +#: src/sudo.c:1000 #, c-format msgid "effective uid is not %d, is sudo installed setuid root?" msgstr "le uid effectif n'est pas %d. Est-ce que sudo est installé setuid root ?" -#: src/sudo.c:993 src/tgetpass.c:332 +#: src/sudo.c:1016 src/tgetpass.c:332 msgid "unable to set supplementary group IDs" msgstr "impossible d'attribuer les ID de groupe supplémentaires" -#: src/sudo.c:1000 +#: src/sudo.c:1023 #, c-format msgid "unable to set effective gid to runas gid %u" msgstr "impossible de changer le gid effectif à runas gid %u" -#: src/sudo.c:1006 +#: src/sudo.c:1029 #, c-format msgid "unable to set gid to runas gid %u" msgstr "impossible de changer le gid à runas gid %u" -#: src/sudo.c:1037 +#: src/sudo.c:1060 msgid "argv not set by the security policy" msgstr "argv pas défini par la politique de sécurité" -#: src/sudo.c:1041 +#: src/sudo.c:1064 msgid "envp not set by the security policy" msgstr "envp pas défini par la politique de sécurité" -#: src/sudo.c:1063 +#: src/sudo.c:1086 #, c-format msgid "unexpected child termination condition: %d" msgstr "condition de fin de l'enfant inconnue: %d" -#: src/sudo.c:1176 +#: src/sudo.c:1198 msgid "unable to initialize policy plugin" msgstr "impossible d'initialiser le greffon de règles" -#: src/sudo.c:1238 +#: src/sudo.c:1259 #, c-format msgid "policy plugin %s is missing the \"check_policy\" method" msgstr "le greffon de règles %s n'a pas de méthode « check_policy »" -#: src/sudo.c:1284 +#: src/sudo.c:1305 #, c-format msgid "policy plugin %s does not support listing privileges" msgstr "le greffon de règles %s ne supporte pas les privilèges de listage" -#: src/sudo.c:1328 +#: src/sudo.c:1349 #, c-format msgid "policy plugin %s does not support the -v option" msgstr "le greffon de règles %s ne supporte pas l'option -v" -#: src/sudo.c:1366 +#: src/sudo.c:1387 #, c-format msgid "policy plugin %s does not support the -k/-K options" msgstr "le greffon de règles %s ne supporte pas les options -k/-K" -#: src/sudo.c:1495 +#: src/sudo.c:1516 #, c-format msgid "error initializing I/O plugin %s" msgstr "erreur à l'initialisation du greffon E/S %s" -#: src/sudo.c:1498 +#: src/sudo.c:1519 msgid "error initializing I/O plugin" msgstr "erreur à l'initialisation du greffon E/S" -#: src/sudo.c:1647 +#: src/sudo.c:1668 #, c-format msgid "error initializing audit plugin %s" msgstr "erreur à l'initialisation du greffon d'audit %s" -#: src/sudo.c:1726 +#: src/sudo.c:1747 #, c-format msgid "%s: unable to log error event%s%s" msgstr "%s: impossible d'enregistrer dans le journal l'événement d'erreur%s%s" -#: src/sudo.c:1762 +#: src/sudo.c:1783 #, c-format msgid "%s: unable to log accept event%s%s" msgstr "%s: impossible d'enregistrer dans le journal l'événement d'acceptation%s%s" -#: src/sudo.c:1767 src/sudo.c:1805 +#: src/sudo.c:1788 src/sudo.c:1826 msgid "audit plugin error" msgstr "erreur du greffon d'audit" -#: src/sudo.c:1800 +#: src/sudo.c:1821 #, c-format msgid "%s: unable to log reject event%s%s" msgstr "%s: impossible d'enregistrer dans le journal l'événement de rejet%s%s" -#: src/sudo.c:1860 +#: src/sudo.c:1881 #, c-format msgid "error initializing approval plugin %s" msgstr "erreur à l'initialisation du greffon d'approbation %s" -#: src/sudo.c:1930 +#: src/sudo.c:1951 msgid "command rejected by approver" msgstr "commande rejetée par l'approbateur" @@ -1151,7 +1153,7 @@ msgstr "erreur de greffon : liste de fichiers manquantes pour sudoedit" msgid "unable to read the clock" msgstr "impossible de lire l'horloge" -#: src/sudo_intercept_common.c:365 +#: src/sudo_intercept_common.c:372 msgid "intercept port not set" msgstr "port d'interception non défini" @@ -1190,6 +1192,12 @@ msgstr "impossible de changer le uid en %u" msgid "unable to run %s" msgstr "impossible d'exécuter %s" +#: src/ttyname.c:139 src/ttyname.c:182 src/ttyname.c:199 src/ttyname.c:284 +#: src/ttyname.c:312 src/ttyname.c:356 +#, c-format +msgid "unable to find terminal name for device %u, %u" +msgstr "impossible de trouver le nom du terminal pour le périphérique %u, %u" + #: src/utmp.c:283 msgid "unable to save stdin" msgstr "impossible de sauvegarder stdin" @@ -1253,9 +1261,6 @@ msgstr "impossible de rétablir stdin" #~ msgid "error reading from signal pipe" #~ msgstr "erreur lors de la lecture du tube signal" -#~ msgid "unable to set terminal to raw mode" -#~ msgstr "impossible de mettre le terminal en mode brut" - #~ msgid "internal error, tried allocate zero bytes" #~ msgstr "erreur interne, a tenté d'allouer zéro octets" diff --git a/po/hr.mo b/po/hr.mo index 9f0f515bb..a90db2512 100644 Binary files a/po/hr.mo and b/po/hr.mo differ diff --git a/po/hr.po b/po/hr.po index 97dae9ff8..b395a46a4 100644 --- a/po/hr.po +++ b/po/hr.po @@ -1,13 +1,13 @@ # Translation of sudo to Croatian. # This file is put in the public domain. # Tomislav Krznar , 2012, 2013. -# Božidar Putanec , 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023. +# Božidar Putanec , 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024. msgid "" msgstr "" -"Project-Id-Version: sudo-1.9.14b1\n" +"Project-Id-Version: sudo-1.9.16b1\n" "Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n" -"POT-Creation-Date: 2023-06-07 13:27-0600\n" -"PO-Revision-Date: 2023-06-08 12:20-0700\n" +"POT-Creation-Date: 2024-06-08 09:06-0600\n" +"PO-Revision-Date: 2024-06-16 17:03-0700\n" "Last-Translator: Božidar Putanec \n" "Language-Team: Croatian \n" "Language: hr\n" @@ -35,78 +35,80 @@ msgid "unable to restore registry" msgstr "nije moguće obnoviti registar" #: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/gidlist.c:76 -#: lib/util/json.c:55 lib/util/json.c:197 lib/util/sudo_conf.c:215 -#: lib/util/sudo_conf.c:301 lib/util/sudo_conf.c:378 lib/util/sudo_conf.c:647 -#: src/conversation.c:78 src/exec_iolog.c:122 src/exec_iolog.c:133 -#: src/exec_iolog.c:210 src/exec_monitor.c:171 src/exec_monitor.c:418 -#: src/exec_monitor.c:424 src/exec_monitor.c:432 src/exec_monitor.c:440 -#: src/exec_monitor.c:447 src/exec_monitor.c:454 src/exec_monitor.c:461 -#: src/exec_monitor.c:468 src/exec_monitor.c:475 src/exec_monitor.c:482 -#: src/exec_monitor.c:489 src/exec_nopty.c:231 src/exec_nopty.c:240 +#: lib/util/json.c:55 lib/util/json.c:197 lib/util/sudo_conf.c:218 +#: lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381 lib/util/sudo_conf.c:672 +#: src/conversation.c:81 src/exec_iolog.c:122 src/exec_iolog.c:133 +#: src/exec_iolog.c:210 src/exec_monitor.c:173 src/exec_monitor.c:430 +#: src/exec_monitor.c:436 src/exec_monitor.c:444 src/exec_monitor.c:452 +#: src/exec_monitor.c:459 src/exec_monitor.c:466 src/exec_monitor.c:473 +#: src/exec_monitor.c:480 src/exec_monitor.c:487 src/exec_monitor.c:494 +#: src/exec_monitor.c:501 src/exec_nopty.c:231 src/exec_nopty.c:240 #: src/exec_nopty.c:247 src/exec_nopty.c:254 src/exec_nopty.c:261 #: src/exec_nopty.c:268 src/exec_nopty.c:275 src/exec_nopty.c:282 #: src/exec_nopty.c:289 src/exec_nopty.c:296 src/exec_nopty.c:303 #: src/exec_nopty.c:310 src/exec_nopty.c:318 src/exec_nopty.c:326 -#: src/exec_nopty.c:744 src/exec_preload.c:343 src/exec_ptrace.c:475 -#: src/exec_ptrace.c:768 src/exec_ptrace.c:983 src/exec_ptrace.c:1096 -#: src/exec_ptrace.c:1271 src/exec_ptrace.c:1624 src/exec_ptrace.c:1651 -#: src/exec_ptrace.c:1841 src/exec_pty.c:581 src/exec_pty.c:765 -#: src/exec_pty.c:963 src/exec_pty.c:972 src/exec_pty.c:979 src/exec_pty.c:986 -#: src/exec_pty.c:993 src/exec_pty.c:1000 src/exec_pty.c:1007 -#: src/exec_pty.c:1014 src/exec_pty.c:1021 src/exec_pty.c:1028 -#: src/exec_pty.c:1035 src/exec_pty.c:1042 src/exec_pty.c:1050 -#: src/load_plugins.c:100 src/load_plugins.c:125 src/load_plugins.c:161 -#: src/load_plugins.c:394 src/load_plugins.c:400 src/parse_args.c:172 -#: src/parse_args.c:193 src/parse_args.c:269 src/parse_args.c:625 -#: src/parse_args.c:647 src/parse_args.c:672 src/preserve_fds.c:46 -#: src/preserve_fds.c:131 src/selinux.c:89 src/selinux.c:362 src/selinux.c:472 -#: src/selinux.c:489 src/selinux.c:496 src/sesh.c:206 src/sesh.c:240 -#: src/sesh.c:246 src/sesh.c:253 src/sesh.c:259 src/sesh.c:470 src/sudo.c:644 -#: src/sudo.c:709 src/sudo.c:719 src/sudo.c:746 src/sudo.c:769 src/sudo.c:778 -#: src/sudo.c:787 src/sudo.c:805 src/sudo.c:846 src/sudo.c:855 src/sudo.c:865 -#: src/sudo.c:898 src/sudo.c:1127 src/sudo.c:1148 src/sudo.c:1441 -#: src/sudo.c:1610 src/sudo.c:1837 src/sudo.c:2171 src/sudo_edit.c:89 -#: src/sudo_edit.c:149 src/sudo_edit.c:430 src/sudo_edit.c:439 -#: src/sudo_edit.c:540 src/sudo_edit.c:547 src/sudo_edit.c:692 -#: src/sudo_edit.c:712 src/sudo_intercept_common.c:115 -#: src/sudo_intercept_common.c:340 +#: src/exec_nopty.c:748 src/exec_preload.c:347 src/exec_ptrace.c:475 +#: src/exec_ptrace.c:768 src/exec_ptrace.c:985 src/exec_ptrace.c:1098 +#: src/exec_ptrace.c:1273 src/exec_ptrace.c:1626 src/exec_ptrace.c:1653 +#: src/exec_ptrace.c:1845 src/exec_pty.c:599 src/exec_pty.c:783 +#: src/exec_pty.c:990 src/exec_pty.c:999 src/exec_pty.c:1006 +#: src/exec_pty.c:1013 src/exec_pty.c:1020 src/exec_pty.c:1027 +#: src/exec_pty.c:1034 src/exec_pty.c:1041 src/exec_pty.c:1048 +#: src/exec_pty.c:1055 src/exec_pty.c:1062 src/exec_pty.c:1069 +#: src/exec_pty.c:1077 src/load_plugins.c:100 src/load_plugins.c:125 +#: src/load_plugins.c:161 src/load_plugins.c:394 src/load_plugins.c:400 +#: src/parse_args.c:171 src/parse_args.c:192 src/parse_args.c:268 +#: src/parse_args.c:624 src/parse_args.c:646 src/parse_args.c:671 +#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89 +#: src/selinux.c:362 src/selinux.c:472 src/selinux.c:489 src/selinux.c:496 +#: src/sesh.c:206 src/sesh.c:240 src/sesh.c:246 src/sesh.c:253 src/sesh.c:259 +#: src/sesh.c:470 src/sudo.c:581 src/sudo.c:607 src/sudo.c:660 src/sudo.c:726 +#: src/sudo.c:737 src/sudo.c:764 src/sudo.c:787 src/sudo.c:796 src/sudo.c:805 +#: src/sudo.c:818 src/sudo.c:827 src/sudo.c:868 src/sudo.c:878 src/sudo.c:888 +#: src/sudo.c:921 src/sudo.c:923 src/sudo.c:1150 src/sudo.c:1171 +#: src/sudo.c:1462 src/sudo.c:1631 src/sudo.c:1858 src/sudo.c:2191 +#: src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:430 +#: src/sudo_edit.c:439 src/sudo_edit.c:540 src/sudo_edit.c:547 +#: src/sudo_edit.c:692 src/sudo_edit.c:712 src/sudo_intercept_common.c:122 +#: src/sudo_intercept_common.c:347 #, c-format msgid "%s: %s" msgstr "%s: %s" #: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/json.c:56 -#: lib/util/json.c:198 lib/util/regex.c:173 lib/util/sudo_conf.c:216 -#: lib/util/sudo_conf.c:301 lib/util/sudo_conf.c:378 lib/util/sudo_conf.c:647 -#: src/conversation.c:79 src/exec_intercept.c:111 src/exec_intercept.c:350 -#: src/exec_intercept.c:525 src/exec_intercept.c:589 src/exec_intercept.c:713 -#: src/exec_intercept.c:837 src/exec_iolog.c:122 src/exec_iolog.c:133 -#: src/exec_iolog.c:210 src/exec_monitor.c:418 src/exec_monitor.c:424 -#: src/exec_monitor.c:432 src/exec_monitor.c:440 src/exec_monitor.c:447 -#: src/exec_monitor.c:454 src/exec_monitor.c:461 src/exec_monitor.c:468 -#: src/exec_monitor.c:475 src/exec_monitor.c:482 src/exec_monitor.c:489 +#: lib/util/json.c:198 lib/util/regex.c:173 lib/util/sudo_conf.c:219 +#: lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381 lib/util/sudo_conf.c:672 +#: src/conversation.c:82 src/exec_intercept.c:112 src/exec_intercept.c:351 +#: src/exec_intercept.c:527 src/exec_intercept.c:591 src/exec_intercept.c:715 +#: src/exec_intercept.c:839 src/exec_iolog.c:122 src/exec_iolog.c:133 +#: src/exec_iolog.c:210 src/exec_monitor.c:430 src/exec_monitor.c:436 +#: src/exec_monitor.c:444 src/exec_monitor.c:452 src/exec_monitor.c:459 +#: src/exec_monitor.c:466 src/exec_monitor.c:473 src/exec_monitor.c:480 +#: src/exec_monitor.c:487 src/exec_monitor.c:494 src/exec_monitor.c:501 #: src/exec_nopty.c:231 src/exec_nopty.c:240 src/exec_nopty.c:247 #: src/exec_nopty.c:254 src/exec_nopty.c:261 src/exec_nopty.c:268 #: src/exec_nopty.c:275 src/exec_nopty.c:282 src/exec_nopty.c:289 #: src/exec_nopty.c:296 src/exec_nopty.c:303 src/exec_nopty.c:310 -#: src/exec_nopty.c:318 src/exec_nopty.c:326 src/exec_preload.c:343 -#: src/exec_ptrace.c:475 src/exec_ptrace.c:768 src/exec_ptrace.c:983 -#: src/exec_ptrace.c:1651 src/exec_ptrace.c:1842 src/exec_pty.c:581 -#: src/exec_pty.c:963 src/exec_pty.c:972 src/exec_pty.c:979 src/exec_pty.c:986 -#: src/exec_pty.c:993 src/exec_pty.c:1000 src/exec_pty.c:1007 -#: src/exec_pty.c:1014 src/exec_pty.c:1021 src/exec_pty.c:1028 -#: src/exec_pty.c:1035 src/exec_pty.c:1042 src/exec_pty.c:1050 -#: src/load_plugins.c:100 src/load_plugins.c:125 src/load_plugins.c:161 -#: src/load_plugins.c:394 src/load_plugins.c:400 src/parse_args.c:172 -#: src/parse_args.c:194 src/parse_args.c:269 src/parse_args.c:625 -#: src/parse_args.c:647 src/parse_args.c:672 src/preserve_fds.c:46 -#: src/preserve_fds.c:131 src/selinux.c:89 src/selinux.c:362 src/selinux.c:472 -#: src/selinux.c:489 src/selinux.c:496 src/sesh.c:206 src/sesh.c:471 -#: src/sudo.c:228 src/sudo.c:644 src/sudo.c:898 src/sudo.c:1127 -#: src/sudo.c:1148 src/sudo.c:1441 src/sudo.c:1610 src/sudo.c:1837 -#: src/sudo.c:2171 src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:430 +#: src/exec_nopty.c:318 src/exec_nopty.c:326 src/exec_preload.c:347 +#: src/exec_ptrace.c:475 src/exec_ptrace.c:768 src/exec_ptrace.c:985 +#: src/exec_ptrace.c:1653 src/exec_ptrace.c:1846 src/exec_pty.c:599 +#: src/exec_pty.c:990 src/exec_pty.c:999 src/exec_pty.c:1006 +#: src/exec_pty.c:1013 src/exec_pty.c:1020 src/exec_pty.c:1027 +#: src/exec_pty.c:1034 src/exec_pty.c:1041 src/exec_pty.c:1048 +#: src/exec_pty.c:1055 src/exec_pty.c:1062 src/exec_pty.c:1069 +#: src/exec_pty.c:1077 src/load_plugins.c:100 src/load_plugins.c:125 +#: src/load_plugins.c:161 src/load_plugins.c:394 src/load_plugins.c:400 +#: src/parse_args.c:171 src/parse_args.c:193 src/parse_args.c:268 +#: src/parse_args.c:624 src/parse_args.c:646 src/parse_args.c:671 +#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89 +#: src/selinux.c:362 src/selinux.c:472 src/selinux.c:489 src/selinux.c:496 +#: src/sesh.c:206 src/sesh.c:471 src/sudo.c:229 src/sudo.c:581 src/sudo.c:607 +#: src/sudo.c:660 src/sudo.c:819 src/sudo.c:921 src/sudo.c:923 src/sudo.c:1150 +#: src/sudo.c:1171 src/sudo.c:1462 src/sudo.c:1631 src/sudo.c:1858 +#: src/sudo.c:2191 src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:430 #: src/sudo_edit.c:439 src/sudo_edit.c:540 src/sudo_edit.c:547 -#: src/sudo_edit.c:692 src/sudo_edit.c:712 src/sudo_intercept_common.c:115 -#: src/sudo_intercept_common.c:340 +#: src/sudo_edit.c:692 src/sudo_edit.c:712 src/sudo_intercept_common.c:122 +#: src/sudo_intercept_common.c:347 msgid "unable to allocate memory" msgstr "nije moguće dodijeliti memoriju" @@ -120,9 +122,9 @@ msgstr "nije moguće stat (dobiti status datoteke) %.*s" msgid "%.*s exists but is not a directory (0%o)" msgstr "%.*s postoji ali nije direktorij (0%o)" -#: lib/util/mkdir_parents.c:103 lib/util/sudo_conf.c:664 -#: lib/util/sudo_conf.c:683 lib/util/sudo_conf.c:710 src/selinux.c:235 -#: src/selinux.c:265 src/sudo.c:373 src/sudo_edit.c:495 src/sudo_edit.c:559 +#: lib/util/mkdir_parents.c:103 lib/util/sudo_conf.c:689 +#: lib/util/sudo_conf.c:708 lib/util/sudo_conf.c:735 src/selinux.c:235 +#: src/selinux.c:265 src/sudo.c:375 src/sudo_edit.c:495 src/sudo_edit.c:559 #, c-format msgid "unable to open %s" msgstr "nije moguće otvoriti %s" @@ -145,55 +147,55 @@ msgstr "regularni izraz je prevelik" msgid "Unknown signal" msgstr "Nepoznati signal" -#: lib/util/strtoid.c:84 lib/util/strtomode.c:52 lib/util/strtonum.c:148 -#: lib/util/strtonum.c:187 src/sesh.c:240 src/sesh.c:253 +#: lib/util/strtoid.c:84 lib/util/strtomode.c:52 lib/util/strtonum.c:147 +#: lib/util/strtonum.c:186 src/sesh.c:240 src/sesh.c:253 msgid "invalid value" msgstr "nevaljana vrijednost" -#: lib/util/strtomode.c:58 lib/util/strtonum.c:160 +#: lib/util/strtomode.c:58 lib/util/strtonum.c:159 msgid "value too large" msgstr "veličina je prevelika" -#: lib/util/strtomode.c:58 lib/util/strtonum.c:154 +#: lib/util/strtomode.c:58 lib/util/strtonum.c:153 msgid "value too small" msgstr "veličina je premala" -#: lib/util/sudo_conf.c:234 +#: lib/util/sudo_conf.c:237 #, c-format msgid "invalid Path value \"%s\" in %s, line %u" msgstr "nevaljana Path vrijednost „%s“ u %s, redak %u" -#: lib/util/sudo_conf.c:400 lib/util/sudo_conf.c:453 +#: lib/util/sudo_conf.c:403 lib/util/sudo_conf.c:456 #, c-format msgid "invalid value for %s \"%s\" in %s, line %u" msgstr "nevaljana vrijednost za %s „%s“ u %s, redak %u" -#: lib/util/sudo_conf.c:421 +#: lib/util/sudo_conf.c:424 #, c-format msgid "unsupported group source \"%s\" in %s, line %u" msgstr "nepodržani izvor grupe „%s“ u %s, redak %u" -#: lib/util/sudo_conf.c:437 +#: lib/util/sudo_conf.c:440 #, c-format msgid "invalid max groups \"%s\" in %s, line %u" msgstr "nevaljani maksimalni broj grupa „%s“ u %s, redak %u" -#: lib/util/sudo_conf.c:686 +#: lib/util/sudo_conf.c:711 #, c-format msgid "%s is not a regular file" msgstr "%s nije obična datoteka" -#: lib/util/sudo_conf.c:689 src/copy_file.c:164 +#: lib/util/sudo_conf.c:714 src/copy_file.c:164 #, c-format msgid "%s is owned by uid %u, should be %u" msgstr "vlasnik %s je UID %u, a treba biti %u" -#: lib/util/sudo_conf.c:693 +#: lib/util/sudo_conf.c:718 #, c-format msgid "%s is world writable" msgstr "%s može svatko mijenjati/pisati" -#: lib/util/sudo_conf.c:696 +#: lib/util/sudo_conf.c:721 #, c-format msgid "%s is group writable" msgstr "%s može svaki član grupe mijenjati/pisati" @@ -288,18 +290,18 @@ msgid "starting from %s" msgstr "počevši od %s" # Handler, an asynchronous callback (computer programming) subroutine in computing -#: src/exec.c:278 src/exec.c:351 src/exec_monitor.c:552 src/exec_monitor.c:554 -#: src/exec_pty.c:1122 src/exec_pty.c:1124 src/signal.c:144 src/signal.c:151 +#: src/exec.c:278 src/exec.c:351 src/exec_monitor.c:564 src/exec_monitor.c:566 +#: src/exec_pty.c:1148 src/exec_pty.c:1150 src/signal.c:144 src/signal.c:151 #: src/signal.c:165 src/suspend_parent.c:143 #, c-format msgid "unable to set handler for signal %d" msgstr "nije moguće postaviti rukovatelja za signal %d" -#: src/exec.c:424 +#: src/exec.c:447 msgid "intercept mode is not supported with SELinux RBAC on this system" msgstr "presretanje nije podržano s SELinux RBAC na ovom sustavu" -#: src/exec.c:429 +#: src/exec.c:452 msgid "unable to log sub-commands with SELinux RBAC on this system" msgstr "nije moguće bilježiti podkomande s SELinux RBAC na ovom sustavu" @@ -307,63 +309,63 @@ msgstr "nije moguće bilježiti podkomande s SELinux RBAC na ovom sustavu" msgid "unable to remove PRIV_PROC_EXEC from PRIV_LIMIT" msgstr "nije moguće ukloniti PRIV_PROC_EXEC iz PRIV_LIMIT" -#: src/exec_intercept.c:70 src/exec_iolog.c:163 src/exec_iolog.c:173 +#: src/exec_intercept.c:71 src/exec_iolog.c:163 src/exec_iolog.c:173 #: src/exec_iolog.c:218 src/exec_iolog.c:225 src/exec_iolog.c:252 -#: src/exec_monitor.c:426 src/exec_monitor.c:434 src/exec_monitor.c:442 -#: src/exec_monitor.c:449 src/exec_monitor.c:456 src/exec_monitor.c:463 -#: src/exec_monitor.c:470 src/exec_monitor.c:477 src/exec_monitor.c:484 -#: src/exec_monitor.c:491 src/exec_nopty.c:233 src/exec_nopty.c:242 +#: src/exec_monitor.c:438 src/exec_monitor.c:446 src/exec_monitor.c:454 +#: src/exec_monitor.c:461 src/exec_monitor.c:468 src/exec_monitor.c:475 +#: src/exec_monitor.c:482 src/exec_monitor.c:489 src/exec_monitor.c:496 +#: src/exec_monitor.c:503 src/exec_nopty.c:233 src/exec_nopty.c:242 #: src/exec_nopty.c:249 src/exec_nopty.c:256 src/exec_nopty.c:263 #: src/exec_nopty.c:270 src/exec_nopty.c:277 src/exec_nopty.c:284 #: src/exec_nopty.c:291 src/exec_nopty.c:298 src/exec_nopty.c:305 #: src/exec_nopty.c:312 src/exec_nopty.c:320 src/exec_nopty.c:328 -#: src/exec_nopty.c:387 src/exec_nopty.c:457 src/exec_pty.c:432 -#: src/exec_pty.c:537 src/exec_pty.c:587 src/exec_pty.c:965 src/exec_pty.c:974 -#: src/exec_pty.c:981 src/exec_pty.c:988 src/exec_pty.c:995 -#: src/exec_pty.c:1002 src/exec_pty.c:1009 src/exec_pty.c:1016 -#: src/exec_pty.c:1023 src/exec_pty.c:1030 src/exec_pty.c:1037 -#: src/exec_pty.c:1044 +#: src/exec_nopty.c:387 src/exec_nopty.c:457 src/exec_pty.c:441 +#: src/exec_pty.c:555 src/exec_pty.c:605 src/exec_pty.c:992 src/exec_pty.c:1001 +#: src/exec_pty.c:1008 src/exec_pty.c:1015 src/exec_pty.c:1022 +#: src/exec_pty.c:1029 src/exec_pty.c:1036 src/exec_pty.c:1043 +#: src/exec_pty.c:1050 src/exec_pty.c:1057 src/exec_pty.c:1064 +#: src/exec_pty.c:1071 msgid "unable to add event to queue" msgstr "nije moguće dodati događaj u red čekanja" -#: src/exec_intercept.c:323 src/sudo.c:1033 +#: src/exec_intercept.c:324 src/sudo.c:1056 msgid "command not set by the security policy" msgstr "naredba nije postavljena po sigurnosnim pravilima" -#: src/exec_intercept.c:401 src/exec_intercept.c:441 src/sudo.c:1253 -#: src/sudo.c:1298 src/sudo.c:1342 +#: src/exec_intercept.c:403 src/exec_intercept.c:443 src/sudo.c:1274 +#: src/sudo.c:1319 src/sudo.c:1363 msgid "command rejected by policy" msgstr "pravilnik (policy) je odbio izvršiti naredbu" -#: src/exec_intercept.c:512 src/sudo.c:1940 +#: src/exec_intercept.c:514 src/sudo.c:1961 msgid "approval plugin error" msgstr "greška plugina za odobravanje" -#: src/exec_intercept.c:537 src/sudo.c:1258 src/sudo.c:1303 src/sudo.c:1347 -#: src/sudo.c:1421 +#: src/exec_intercept.c:539 src/sudo.c:1279 src/sudo.c:1324 src/sudo.c:1368 +#: src/sudo.c:1442 msgid "policy plugin error" msgstr "greška plugina s pravilima (policy plugin)" -#: src/exec_intercept.c:566 +#: src/exec_intercept.c:568 msgid "invalid PolicyCheckRequest" msgstr "nevaljani PolicyCheckRequest" -#: src/exec_intercept.c:709 +#: src/exec_intercept.c:711 #, c-format msgid "client request too large: %zu" msgstr "zahtjev klijenta je prevelik: %zu" -#: src/exec_intercept.c:751 +#: src/exec_intercept.c:753 #, c-format msgid "unable to unpack %s size %zu" msgstr "nije moguće raspakirati %s veličinu %zu" -#: src/exec_intercept.c:799 +#: src/exec_intercept.c:801 #, c-format msgid "unexpected type_case value %d in %s from %s" msgstr "neočekivana vrijednost type_case %d in %s od %s" -#: src/exec_intercept.c:825 +#: src/exec_intercept.c:827 #, c-format msgid "server message too large: %zu" msgstr "poruka servera je prevelika: %zu" @@ -386,138 +388,138 @@ msgstr "obustava evidentiranja greški" msgid "error changing window size" msgstr "pogreška pri mijenjanju veličine prozora" -#: src/exec_monitor.c:328 +#: src/exec_monitor.c:330 msgid "error reading from socketpair" msgstr "greška pri čitanju iz para utičnica" -#: src/exec_monitor.c:340 +#: src/exec_monitor.c:342 #, c-format msgid "unexpected reply type on backchannel: %d" msgstr "neočekivani tip odgovora na povratnom kanalu: %d" -#: src/exec_monitor.c:566 +#: src/exec_monitor.c:578 msgid "unable to set controlling tty" msgstr "nije moguće uspostaviti upravljački TTY" -#: src/exec_monitor.c:574 src/exec_nopty.c:504 src/exec_nopty.c:514 -#: src/exec_nopty.c:524 src/exec_nopty.c:560 src/exec_pty.c:1195 -#: src/exec_pty.c:1222 src/exec_pty.c:1242 src/exec_pty.c:1262 -#: src/tgetpass.c:306 -msgid "unable to create pipe" -msgstr "nije moguće napraviti cijev" +#: src/exec_monitor.c:590 src/exec_nopty.c:572 src/exec_pty.c:1126 +#: src/exec_pty.c:1135 +msgid "unable to create sockets" +msgstr "nije moguće napraviti utičnice" -#: src/exec_monitor.c:584 +#: src/exec_monitor.c:599 msgid "unable to receive message from parent" msgstr "nije moguće primiti poruku od pretka (roditelja)" -#: src/exec_monitor.c:600 src/exec_nopty.c:603 src/exec_pty.c:1303 +#: src/exec_monitor.c:614 src/exec_nopty.c:606 src/exec_pty.c:1336 #: src/sudo_edit.c:361 src/tgetpass.c:310 msgid "unable to fork" msgstr "nije moguće stvoriti novi proces (greška u fork())" -#: src/exec_monitor.c:604 src/exec_monitor.c:700 src/exec_nopty.c:708 +#: src/exec_monitor.c:618 src/exec_monitor.c:720 src/exec_nopty.c:712 msgid "unable to restore tty label" msgstr "nije moguće obnoviti TTY etiketu" -#: src/exec_monitor.c:615 src/sesh.c:217 src/sudo.c:1204 +#: src/exec_monitor.c:629 src/exec_monitor.c:678 src/sesh.c:217 src/sudo.c:1225 #, c-format msgid "unable to execute %s" msgstr "nije moguće izvršiti %s" +#: src/exec_nopty.c:507 src/exec_nopty.c:517 src/exec_nopty.c:527 +#: src/exec_nopty.c:563 src/exec_pty.c:1224 src/exec_pty.c:1251 +#: src/exec_pty.c:1274 src/exec_pty.c:1292 src/tgetpass.c:306 +msgid "unable to create pipe" +msgstr "nije moguće napraviti cijev" + # initialization > inicirati > dati/davati inicijativu, pobudu; pokrenuti/pokretati, započeti/započinjati -#: src/exec_nopty.c:554 src/exec_pty.c:1131 +#: src/exec_nopty.c:557 src/exec_pty.c:1157 msgid "policy plugin failed session initialization" msgstr "plugin s pravilima nije uspio pokrenuti inicijalizaciju sesije" -#: src/exec_nopty.c:569 src/exec_pty.c:1100 src/exec_pty.c:1109 -msgid "unable to create sockets" -msgstr "nije moguće napraviti utičnice" - -#: src/exec_nopty.c:696 src/exec_pty.c:1406 +#: src/exec_nopty.c:700 src/exec_pty.c:1437 msgid "error in event loop" msgstr "greška u petlji događaja" -#: src/exec_preload.c:167 src/net_ifs.c:206 src/net_ifs.c:372 -#: src/net_ifs.c:433 src/net_ifs.c:620 src/net_ifs.c:852 src/sudo.c:488 -#: src/sudo_edit.c:398 src/sudo_edit.c:406 +#: src/exec_preload.c:168 src/net_ifs.c:206 src/net_ifs.c:372 src/net_ifs.c:433 +#: src/net_ifs.c:620 src/net_ifs.c:852 src/sudo.c:494 src/sudo_edit.c:398 +#: src/sudo_edit.c:406 #, c-format msgid "internal error, %s overflow" msgstr "**interna greška**, %s prekoračenje" -#: src/exec_ptrace.c:1080 src/exec_ptrace.c:1105 src/exec_ptrace.c:1925 +#: src/exec_ptrace.c:1082 src/exec_ptrace.c:1107 src/exec_ptrace.c:1930 #, c-format msgid "unable to set registers for process %d" msgstr "nije moguće postaviti registre za proces %d" -#: src/exec_ptrace.c:1100 src/exec_ptrace.c:1275 src/exec_ptrace.c:1628 +#: src/exec_ptrace.c:1102 src/exec_ptrace.c:1277 src/exec_ptrace.c:1630 #, c-format msgid "process %d exited unexpectedly" msgstr "%d proces završio je neočekivano" -#: src/exec_ptrace.c:1209 +#: src/exec_ptrace.c:1211 msgid "unable to set seccomp filter" msgstr "nije moguće postaviti seccomp filtar" -#: src/exec_ptrace.c:1406 +#: src/exec_ptrace.c:1408 #, c-format msgid "interpreter argument , expected \"%s\", got \"%s\"" msgstr "argument interpretera, očekivano „%s“, a dobiveno je „%s“" -#: src/exec_ptrace.c:1505 +#: src/exec_ptrace.c:1506 #, c-format msgid "pathname mismatch, expected \"%s\", got \"%s\"" msgstr "nepodudaranje imena staza, očekivano „%s“, a dobiveno je „%s“" -#: src/exec_ptrace.c:1514 src/exec_ptrace.c:1521 src/exec_ptrace.c:1545 -#: src/exec_ptrace.c:1553 src/exec_ptrace.c:1559 src/exec_ptrace.c:1565 +#: src/exec_ptrace.c:1515 src/exec_ptrace.c:1522 src/exec_ptrace.c:1546 +#: src/exec_ptrace.c:1554 src/exec_ptrace.c:1560 src/exec_ptrace.c:1566 #, c-format msgid "%s[%d] mismatch, expected \"%s\", got \"%s\"" msgstr "nepodudaranje %s[%d], očekivano „%s“, a dobiveno je „%s“" -#: src/exec_ptrace.c:1632 +#: src/exec_ptrace.c:1634 #, c-format msgid "process %d unexpected status 0x%x" msgstr "proces %d neočekivani status 0x%x" -#: src/exec_ptrace.c:1723 +#: src/exec_ptrace.c:1727 #, c-format msgid "unable to get event message for process %d" msgstr "nije moguće dobiti poruku od događaja za proces %d" -#: src/exec_ptrace.c:1730 +#: src/exec_ptrace.c:1734 #, c-format msgid "unable to get registers for process %d" msgstr "nije moguće dobiti registre za proces %d" -#: src/exec_pty.c:84 +#: src/exec_pty.c:87 msgid "unable to allocate pty" msgstr "nije moguće dodijeliti PTY" -#: src/exec_pty.c:131 src/exec_pty.c:284 src/tgetpass.c:251 +#: src/exec_pty.c:118 src/exec_pty.c:257 src/tgetpass.c:251 msgid "unable to restore terminal settings" msgstr "nije moguće vratiti postavke terminala" # Handler, an asynchronous callback (computer programming) subroutine in computing -#: src/exec_pty.c:243 +#: src/exec_pty.c:218 msgid "unable to set handler for SIGCONT" msgstr "nije moguće postaviti rukovatelja SIGCONT" # Handler, an asynchronous callback (computer programming) subroutine in computing -#: src/exec_pty.c:293 +#: src/exec_pty.c:267 #, c-format msgid "unable to set handler for SIG%s" msgstr "nije moguće postaviti rukovatelja za SIG%s" -#: src/exec_pty.c:317 +#: src/exec_pty.c:291 #, c-format msgid "unable to restore handler for SIG%s" msgstr "nije moguće vratiti rukovatelja za SIG%s" -#: src/exec_pty.c:345 +#: src/exec_pty.c:319 msgid "unable to restore handler for SIGCONT" msgstr "nije moguće obnoviti rukovatelja za SIGCONT" -#: src/exec_pty.c:1353 +#: src/exec_pty.c:1385 msgid "unable to send message to monitor process" msgstr "nije moguće poslati poruku za praćenje procesa" @@ -566,40 +568,40 @@ msgstr "nepoznati tip %d plugina pronađena u %s" msgid "policy plugin %s does not include a check_policy method" msgstr "plugin s pravilima %s ne sadrži metodu check_policy" -#: src/parse_args.c:214 +#: src/parse_args.c:213 #, c-format msgid "invalid environment variable name: %s" msgstr "nevaljano ime varijable okoline: %s" -#: src/parse_args.c:319 +#: src/parse_args.c:318 msgid "the argument to -C must be a number greater than or equal to 3" msgstr "argument za -C mora biti broj veći ili jednak 3" -#: src/parse_args.c:556 +#: src/parse_args.c:555 msgid "you may not specify both the -i and -s options" msgstr "ne smijete navesti istovremeno opcije -i i -s" -#: src/parse_args.c:561 +#: src/parse_args.c:560 msgid "you may not specify both the -i and -E options" msgstr "ne smijete navesti istovremeno opcije -i i -E" -#: src/parse_args.c:571 +#: src/parse_args.c:570 msgid "the -E option is not valid in edit mode" msgstr "opcija -E nije valjana kad se redigira (in edit mode)" -#: src/parse_args.c:574 +#: src/parse_args.c:573 msgid "you may not specify environment variables in edit mode" msgstr "ne smijete specificirati varijable okoline kad se redigira (in edit mode)" -#: src/parse_args.c:584 +#: src/parse_args.c:583 msgid "the -U option may only be used with the -l option" msgstr "Opciju -U smijete koristiti samo uz -l opciju." -#: src/parse_args.c:588 +#: src/parse_args.c:587 msgid "the -A and -S options may not be used together" msgstr "opcije -A i -S ne smiju se koristiti zajedno" -#: src/parse_args.c:686 +#: src/parse_args.c:685 msgid "sudoedit is not supported on this platform" msgstr "sudoedit nije podržan na ovoj platformi" @@ -883,7 +885,7 @@ msgstr "Opciju -%c smijete koristiti samo za redigiranje (in edit mode)." #: src/sesh.c:294 src/sesh.c:394 src/sudo_edit.c:204 #, c-format msgid "%s: editing symbolic links is not permitted" -msgstr "%s: simboličke poveznice nije dopušteno redigirati" +msgstr "%s: simbolične poveznice nije dopušteno redigirati" # writable> zapisiv, upisiv, u kojem je dopušteno pisati # http://hjp.znanje.hr/ > upisiv > koji se može upisati, koji ispunjava uvjete upisa @@ -955,151 +957,151 @@ msgstr "neuspješna setproject() za projekt „%s“" msgid "warning, resource control assignment failed for project \"%s\"" msgstr "upozorenje: nije uspjelo dodijeliti upravljanje resursima projekta „%s“" -#: src/sudo.c:214 +#: src/sudo.c:215 #, c-format msgid "Sudo version %s\n" msgstr "Sudo inačica %s\n" -#: src/sudo.c:216 +#: src/sudo.c:217 #, c-format msgid "Configure options: %s\n" msgstr "Konfiguracijske opcije: %s\n" -#: src/sudo.c:224 +#: src/sudo.c:225 msgid "fatal error, unable to load plugins" msgstr "kobna greška, nije moguće učitati plugine" -#: src/sudo.c:270 +#: src/sudo.c:271 msgid "plugin did not return a command to execute" msgstr "plugin nije uzvratio naredbu za izvršiti" -#: src/sudo.c:306 +#: src/sudo.c:307 #, c-format msgid "unexpected sudo mode 0x%x" msgstr "neočekivani sudo mȏd 0x%x" -#: src/sudo.c:559 +#: src/sudo.c:567 #, c-format msgid "you do not exist in the %s database" msgstr "vas nema u %s bazi podataka" -#: src/sudo.c:616 +#: src/sudo.c:632 msgid "unable to determine tty" msgstr "nije moguće odrediti TTY" -#: src/sudo.c:932 +#: src/sudo.c:955 msgid "The \"no new privileges\" flag is set, which prevents sudo from running as root." msgstr "Flag „no new privileges“ je podignut, i to sprečava da sudo postane root." -#: src/sudo.c:934 +#: src/sudo.c:957 msgid "If sudo is running in a container, you may need to adjust the container configuration to disable the flag." msgstr "Ako se sudo pokrene u kanistru (container), možda ćete morati podesiti konfiguraciju kanistra kako biste onemogućili flag." -#: src/sudo.c:968 +#: src/sudo.c:991 #, c-format msgid "%s must be owned by uid %d and have the setuid bit set" msgstr "vlasnik %s mora biti UID %d i mora imati postavljeni setuid bit" -#: src/sudo.c:971 +#: src/sudo.c:994 #, c-format msgid "effective uid is not %d, is %s on a file system with the 'nosuid' option set or an NFS file system without root privileges?" msgstr "efektivni UID nije %d; je li %s na datotečnom sustavu s postavljenom opcijom „nosuid“ ili NFS datotečnom sustavu bez root privilegija?" -#: src/sudo.c:977 +#: src/sudo.c:1000 #, c-format msgid "effective uid is not %d, is sudo installed setuid root?" msgstr "efektivni UID nije %d; je li sudo instaliran sa setuid root?" -#: src/sudo.c:993 src/tgetpass.c:332 +#: src/sudo.c:1016 src/tgetpass.c:332 msgid "unable to set supplementary group IDs" msgstr "nije moguće postaviti ID dodatnih grupa" -#: src/sudo.c:1000 +#: src/sudo.c:1023 #, c-format msgid "unable to set effective gid to runas gid %u" msgstr "nije moguće postaviti efektivni GID na runas GID %u" -#: src/sudo.c:1006 +#: src/sudo.c:1029 #, c-format msgid "unable to set gid to runas gid %u" msgstr "nije moguće postaviti GID na runas GID %u" -#: src/sudo.c:1037 +#: src/sudo.c:1060 msgid "argv not set by the security policy" msgstr "argv nije postavljen po sigurnosnim pravilima" -#: src/sudo.c:1041 +#: src/sudo.c:1064 msgid "envp not set by the security policy" msgstr "envp nije postavljen po sigurnosnim pravilima" -#: src/sudo.c:1063 +#: src/sudo.c:1086 #, c-format msgid "unexpected child termination condition: %d" msgstr "neočekivano stanje završetka potomka (dijete-procesa) : %d" -#: src/sudo.c:1176 +#: src/sudo.c:1198 msgid "unable to initialize policy plugin" msgstr "nije moguće inicijalizirati plugin s pravilima" -#: src/sudo.c:1238 +#: src/sudo.c:1259 #, c-format msgid "policy plugin %s is missing the \"check_policy\" method" -msgstr "pluginu s pravilima %s nedostaje metoda „check_policy“" +msgstr "u pluginu s pravilima %s nema metode „check_policy“" -#: src/sudo.c:1284 +#: src/sudo.c:1305 #, c-format msgid "policy plugin %s does not support listing privileges" msgstr "plugin s pravilima %s ne podržava ispis ovlasti" -#: src/sudo.c:1328 +#: src/sudo.c:1349 #, c-format msgid "policy plugin %s does not support the -v option" msgstr "plugin s pravilima %s ne podržava opciju -v" -#: src/sudo.c:1366 +#: src/sudo.c:1387 #, c-format msgid "policy plugin %s does not support the -k/-K options" msgstr "plugin s pravilima %s ne podržava -k/-K opcije" -#: src/sudo.c:1495 +#: src/sudo.c:1516 #, c-format msgid "error initializing I/O plugin %s" msgstr "greška pri inicijalizaciji U/I plugina %s" -#: src/sudo.c:1498 +#: src/sudo.c:1519 msgid "error initializing I/O plugin" msgstr "greška pri inicijalizaciji U/I plugina" -#: src/sudo.c:1647 +#: src/sudo.c:1668 #, c-format msgid "error initializing audit plugin %s" msgstr "greška pri inicijalizaciji plugina za reviziju %s" -#: src/sudo.c:1726 +#: src/sudo.c:1747 #, c-format msgid "%s: unable to log error event%s%s" msgstr "%s: nije uspjelo zabilježiti pogrešku događaja%s%s" -#: src/sudo.c:1762 +#: src/sudo.c:1783 #, c-format msgid "%s: unable to log accept event%s%s" msgstr "%s: nije uspjelo zabilježiti događaj prihvaćanja%s%s" -#: src/sudo.c:1767 src/sudo.c:1805 +#: src/sudo.c:1788 src/sudo.c:1826 msgid "audit plugin error" msgstr "pogreška u pluginu za reviziju" -#: src/sudo.c:1800 +#: src/sudo.c:1821 #, c-format msgid "%s: unable to log reject event%s%s" msgstr "%s: nije uspjelo zabilježiti događaj odbijanja%s%s" -#: src/sudo.c:1860 +#: src/sudo.c:1881 #, c-format msgid "error initializing approval plugin %s" msgstr "greška pri inicijalizaciji plugina za odobrenje %s" -#: src/sudo.c:1930 +#: src/sudo.c:1951 msgid "command rejected by approver" msgstr "odobravatelj je odbio izvršiti naredbu" @@ -1153,13 +1155,13 @@ msgstr "greška plugina: nevaljani popis datoteka za sudoedit" #: src/sudo_edit.c:685 msgid "plugin error: missing file list for sudoedit" -msgstr "greška plugina: nedostaje popis datoteka za sudoedit" +msgstr "greška plugina: nema popisa datoteka za sudoedit" #: src/sudo_edit.c:728 src/sudo_edit.c:743 msgid "unable to read the clock" msgstr "nije moguće pročitati vrijeme (clock)" -#: src/sudo_intercept_common.c:365 +#: src/sudo_intercept_common.c:372 msgid "intercept port not set" msgstr "port za presretanje nije postavljen" @@ -1198,6 +1200,12 @@ msgstr "nije moguće postaviti UID na %u" msgid "unable to run %s" msgstr "nije moguće pokrenuti %s" +#: src/ttyname.c:139 src/ttyname.c:182 src/ttyname.c:199 src/ttyname.c:284 +#: src/ttyname.c:312 src/ttyname.c:356 +#, c-format +msgid "unable to find terminal name for device %u, %u" +msgstr "nije moguće naći ime terminala za uređaj %u, %u" + #: src/utmp.c:283 msgid "unable to save stdin" msgstr "nije moguće sačuvati stdin" @@ -1288,9 +1296,6 @@ msgstr "nije moguće obnoviti stdin" #~ msgid "select failed" #~ msgstr "odabir nije uspio" -#~ msgid "unable to set terminal to raw mode" -#~ msgstr "ne mogu postaviti terminal u sirovi način" - #~ msgid "load_interfaces: overflow detected" #~ msgstr "load_interfaces: otkriven preljev" diff --git a/po/id.mo b/po/id.mo index 24bb65f74..3afd7c20c 100644 Binary files a/po/id.mo and b/po/id.mo differ diff --git a/po/id.po b/po/id.po index 87290e9ca..d7bc5510c 100644 --- a/po/id.po +++ b/po/id.po @@ -1,22 +1,22 @@ # Portable object template file for sudo # This file is put in the public domain. # Todd C. Miller , 2011-2018 -# Andika Triwidada , 2023 +# Andika Triwidada , 2023, 2024 # msgid "" msgstr "" -"Project-Id-Version: sudo 1.9.14b1\n" +"Project-Id-Version: sudo 1.9.16b1\n" "Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n" -"POT-Creation-Date: 2023-06-07 13:27-0600\n" -"PO-Revision-Date: 2023-10-20 12:49+0700\n" +"POT-Creation-Date: 2024-06-08 09:06-0600\n" +"PO-Revision-Date: 2024-06-17 10:57+0700\n" "Last-Translator: Andika Triwidada \n" "Language-Team: Indonesian \n" "Language: id\n" -"X-Bugs: Report translation errors to the Language-Team address.\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 3.4\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"X-Generator: Poedit 3.4.3\n" #: lib/util/aix.c:89 lib/util/aix.c:169 msgid "unable to open userdb" @@ -32,78 +32,80 @@ msgid "unable to restore registry" msgstr "tidak bisa memulihkan registry" #: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/gidlist.c:76 -#: lib/util/json.c:55 lib/util/json.c:197 lib/util/sudo_conf.c:215 -#: lib/util/sudo_conf.c:301 lib/util/sudo_conf.c:378 lib/util/sudo_conf.c:647 -#: src/conversation.c:78 src/exec_iolog.c:122 src/exec_iolog.c:133 -#: src/exec_iolog.c:210 src/exec_monitor.c:171 src/exec_monitor.c:418 -#: src/exec_monitor.c:424 src/exec_monitor.c:432 src/exec_monitor.c:440 -#: src/exec_monitor.c:447 src/exec_monitor.c:454 src/exec_monitor.c:461 -#: src/exec_monitor.c:468 src/exec_monitor.c:475 src/exec_monitor.c:482 -#: src/exec_monitor.c:489 src/exec_nopty.c:231 src/exec_nopty.c:240 +#: lib/util/json.c:55 lib/util/json.c:197 lib/util/sudo_conf.c:218 +#: lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381 lib/util/sudo_conf.c:672 +#: src/conversation.c:81 src/exec_iolog.c:122 src/exec_iolog.c:133 +#: src/exec_iolog.c:210 src/exec_monitor.c:173 src/exec_monitor.c:430 +#: src/exec_monitor.c:436 src/exec_monitor.c:444 src/exec_monitor.c:452 +#: src/exec_monitor.c:459 src/exec_monitor.c:466 src/exec_monitor.c:473 +#: src/exec_monitor.c:480 src/exec_monitor.c:487 src/exec_monitor.c:494 +#: src/exec_monitor.c:501 src/exec_nopty.c:231 src/exec_nopty.c:240 #: src/exec_nopty.c:247 src/exec_nopty.c:254 src/exec_nopty.c:261 #: src/exec_nopty.c:268 src/exec_nopty.c:275 src/exec_nopty.c:282 #: src/exec_nopty.c:289 src/exec_nopty.c:296 src/exec_nopty.c:303 #: src/exec_nopty.c:310 src/exec_nopty.c:318 src/exec_nopty.c:326 -#: src/exec_nopty.c:744 src/exec_preload.c:343 src/exec_ptrace.c:475 -#: src/exec_ptrace.c:768 src/exec_ptrace.c:983 src/exec_ptrace.c:1096 -#: src/exec_ptrace.c:1271 src/exec_ptrace.c:1624 src/exec_ptrace.c:1651 -#: src/exec_ptrace.c:1841 src/exec_pty.c:581 src/exec_pty.c:765 -#: src/exec_pty.c:963 src/exec_pty.c:972 src/exec_pty.c:979 src/exec_pty.c:986 -#: src/exec_pty.c:993 src/exec_pty.c:1000 src/exec_pty.c:1007 -#: src/exec_pty.c:1014 src/exec_pty.c:1021 src/exec_pty.c:1028 -#: src/exec_pty.c:1035 src/exec_pty.c:1042 src/exec_pty.c:1050 -#: src/load_plugins.c:100 src/load_plugins.c:125 src/load_plugins.c:161 -#: src/load_plugins.c:394 src/load_plugins.c:400 src/parse_args.c:172 -#: src/parse_args.c:193 src/parse_args.c:269 src/parse_args.c:625 -#: src/parse_args.c:647 src/parse_args.c:672 src/preserve_fds.c:46 -#: src/preserve_fds.c:131 src/selinux.c:89 src/selinux.c:362 src/selinux.c:472 -#: src/selinux.c:489 src/selinux.c:496 src/sesh.c:206 src/sesh.c:240 -#: src/sesh.c:246 src/sesh.c:253 src/sesh.c:259 src/sesh.c:470 src/sudo.c:644 -#: src/sudo.c:709 src/sudo.c:719 src/sudo.c:746 src/sudo.c:769 src/sudo.c:778 -#: src/sudo.c:787 src/sudo.c:805 src/sudo.c:846 src/sudo.c:855 src/sudo.c:865 -#: src/sudo.c:898 src/sudo.c:1127 src/sudo.c:1148 src/sudo.c:1441 -#: src/sudo.c:1610 src/sudo.c:1837 src/sudo.c:2171 src/sudo_edit.c:89 -#: src/sudo_edit.c:149 src/sudo_edit.c:430 src/sudo_edit.c:439 -#: src/sudo_edit.c:540 src/sudo_edit.c:547 src/sudo_edit.c:692 -#: src/sudo_edit.c:712 src/sudo_intercept_common.c:115 -#: src/sudo_intercept_common.c:340 +#: src/exec_nopty.c:748 src/exec_preload.c:347 src/exec_ptrace.c:475 +#: src/exec_ptrace.c:768 src/exec_ptrace.c:985 src/exec_ptrace.c:1098 +#: src/exec_ptrace.c:1273 src/exec_ptrace.c:1626 src/exec_ptrace.c:1653 +#: src/exec_ptrace.c:1845 src/exec_pty.c:599 src/exec_pty.c:783 +#: src/exec_pty.c:990 src/exec_pty.c:999 src/exec_pty.c:1006 +#: src/exec_pty.c:1013 src/exec_pty.c:1020 src/exec_pty.c:1027 +#: src/exec_pty.c:1034 src/exec_pty.c:1041 src/exec_pty.c:1048 +#: src/exec_pty.c:1055 src/exec_pty.c:1062 src/exec_pty.c:1069 +#: src/exec_pty.c:1077 src/load_plugins.c:100 src/load_plugins.c:125 +#: src/load_plugins.c:161 src/load_plugins.c:394 src/load_plugins.c:400 +#: src/parse_args.c:171 src/parse_args.c:192 src/parse_args.c:268 +#: src/parse_args.c:624 src/parse_args.c:646 src/parse_args.c:671 +#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89 +#: src/selinux.c:362 src/selinux.c:472 src/selinux.c:489 src/selinux.c:496 +#: src/sesh.c:206 src/sesh.c:240 src/sesh.c:246 src/sesh.c:253 src/sesh.c:259 +#: src/sesh.c:470 src/sudo.c:581 src/sudo.c:607 src/sudo.c:660 src/sudo.c:726 +#: src/sudo.c:737 src/sudo.c:764 src/sudo.c:787 src/sudo.c:796 src/sudo.c:805 +#: src/sudo.c:818 src/sudo.c:827 src/sudo.c:868 src/sudo.c:878 src/sudo.c:888 +#: src/sudo.c:921 src/sudo.c:923 src/sudo.c:1150 src/sudo.c:1171 +#: src/sudo.c:1462 src/sudo.c:1631 src/sudo.c:1858 src/sudo.c:2191 +#: src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:430 +#: src/sudo_edit.c:439 src/sudo_edit.c:540 src/sudo_edit.c:547 +#: src/sudo_edit.c:692 src/sudo_edit.c:712 src/sudo_intercept_common.c:122 +#: src/sudo_intercept_common.c:347 #, c-format msgid "%s: %s" msgstr "%s: %s" #: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/json.c:56 -#: lib/util/json.c:198 lib/util/regex.c:173 lib/util/sudo_conf.c:216 -#: lib/util/sudo_conf.c:301 lib/util/sudo_conf.c:378 lib/util/sudo_conf.c:647 -#: src/conversation.c:79 src/exec_intercept.c:111 src/exec_intercept.c:350 -#: src/exec_intercept.c:525 src/exec_intercept.c:589 src/exec_intercept.c:713 -#: src/exec_intercept.c:837 src/exec_iolog.c:122 src/exec_iolog.c:133 -#: src/exec_iolog.c:210 src/exec_monitor.c:418 src/exec_monitor.c:424 -#: src/exec_monitor.c:432 src/exec_monitor.c:440 src/exec_monitor.c:447 -#: src/exec_monitor.c:454 src/exec_monitor.c:461 src/exec_monitor.c:468 -#: src/exec_monitor.c:475 src/exec_monitor.c:482 src/exec_monitor.c:489 +#: lib/util/json.c:198 lib/util/regex.c:173 lib/util/sudo_conf.c:219 +#: lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381 lib/util/sudo_conf.c:672 +#: src/conversation.c:82 src/exec_intercept.c:112 src/exec_intercept.c:351 +#: src/exec_intercept.c:527 src/exec_intercept.c:591 src/exec_intercept.c:715 +#: src/exec_intercept.c:839 src/exec_iolog.c:122 src/exec_iolog.c:133 +#: src/exec_iolog.c:210 src/exec_monitor.c:430 src/exec_monitor.c:436 +#: src/exec_monitor.c:444 src/exec_monitor.c:452 src/exec_monitor.c:459 +#: src/exec_monitor.c:466 src/exec_monitor.c:473 src/exec_monitor.c:480 +#: src/exec_monitor.c:487 src/exec_monitor.c:494 src/exec_monitor.c:501 #: src/exec_nopty.c:231 src/exec_nopty.c:240 src/exec_nopty.c:247 #: src/exec_nopty.c:254 src/exec_nopty.c:261 src/exec_nopty.c:268 #: src/exec_nopty.c:275 src/exec_nopty.c:282 src/exec_nopty.c:289 #: src/exec_nopty.c:296 src/exec_nopty.c:303 src/exec_nopty.c:310 -#: src/exec_nopty.c:318 src/exec_nopty.c:326 src/exec_preload.c:343 -#: src/exec_ptrace.c:475 src/exec_ptrace.c:768 src/exec_ptrace.c:983 -#: src/exec_ptrace.c:1651 src/exec_ptrace.c:1842 src/exec_pty.c:581 -#: src/exec_pty.c:963 src/exec_pty.c:972 src/exec_pty.c:979 src/exec_pty.c:986 -#: src/exec_pty.c:993 src/exec_pty.c:1000 src/exec_pty.c:1007 -#: src/exec_pty.c:1014 src/exec_pty.c:1021 src/exec_pty.c:1028 -#: src/exec_pty.c:1035 src/exec_pty.c:1042 src/exec_pty.c:1050 -#: src/load_plugins.c:100 src/load_plugins.c:125 src/load_plugins.c:161 -#: src/load_plugins.c:394 src/load_plugins.c:400 src/parse_args.c:172 -#: src/parse_args.c:194 src/parse_args.c:269 src/parse_args.c:625 -#: src/parse_args.c:647 src/parse_args.c:672 src/preserve_fds.c:46 -#: src/preserve_fds.c:131 src/selinux.c:89 src/selinux.c:362 src/selinux.c:472 -#: src/selinux.c:489 src/selinux.c:496 src/sesh.c:206 src/sesh.c:471 -#: src/sudo.c:228 src/sudo.c:644 src/sudo.c:898 src/sudo.c:1127 src/sudo.c:1148 -#: src/sudo.c:1441 src/sudo.c:1610 src/sudo.c:1837 src/sudo.c:2171 -#: src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:430 +#: src/exec_nopty.c:318 src/exec_nopty.c:326 src/exec_preload.c:347 +#: src/exec_ptrace.c:475 src/exec_ptrace.c:768 src/exec_ptrace.c:985 +#: src/exec_ptrace.c:1653 src/exec_ptrace.c:1846 src/exec_pty.c:599 +#: src/exec_pty.c:990 src/exec_pty.c:999 src/exec_pty.c:1006 +#: src/exec_pty.c:1013 src/exec_pty.c:1020 src/exec_pty.c:1027 +#: src/exec_pty.c:1034 src/exec_pty.c:1041 src/exec_pty.c:1048 +#: src/exec_pty.c:1055 src/exec_pty.c:1062 src/exec_pty.c:1069 +#: src/exec_pty.c:1077 src/load_plugins.c:100 src/load_plugins.c:125 +#: src/load_plugins.c:161 src/load_plugins.c:394 src/load_plugins.c:400 +#: src/parse_args.c:171 src/parse_args.c:193 src/parse_args.c:268 +#: src/parse_args.c:624 src/parse_args.c:646 src/parse_args.c:671 +#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89 +#: src/selinux.c:362 src/selinux.c:472 src/selinux.c:489 src/selinux.c:496 +#: src/sesh.c:206 src/sesh.c:471 src/sudo.c:229 src/sudo.c:581 src/sudo.c:607 +#: src/sudo.c:660 src/sudo.c:819 src/sudo.c:921 src/sudo.c:923 src/sudo.c:1150 +#: src/sudo.c:1171 src/sudo.c:1462 src/sudo.c:1631 src/sudo.c:1858 +#: src/sudo.c:2191 src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:430 #: src/sudo_edit.c:439 src/sudo_edit.c:540 src/sudo_edit.c:547 -#: src/sudo_edit.c:692 src/sudo_edit.c:712 src/sudo_intercept_common.c:115 -#: src/sudo_intercept_common.c:340 +#: src/sudo_edit.c:692 src/sudo_edit.c:712 src/sudo_intercept_common.c:122 +#: src/sudo_intercept_common.c:347 msgid "unable to allocate memory" msgstr "tidak bisa mengalokasikan memori" @@ -117,9 +119,9 @@ msgstr "tidak bisa men-stat %.*s" msgid "%.*s exists but is not a directory (0%o)" msgstr "%.*s ada tapi bukan suatu direktori (0%o)" -#: lib/util/mkdir_parents.c:103 lib/util/sudo_conf.c:664 -#: lib/util/sudo_conf.c:683 lib/util/sudo_conf.c:710 src/selinux.c:235 -#: src/selinux.c:265 src/sudo.c:373 src/sudo_edit.c:495 src/sudo_edit.c:559 +#: lib/util/mkdir_parents.c:103 lib/util/sudo_conf.c:689 +#: lib/util/sudo_conf.c:708 lib/util/sudo_conf.c:735 src/selinux.c:235 +#: src/selinux.c:265 src/sudo.c:375 src/sudo_edit.c:495 src/sudo_edit.c:559 #, c-format msgid "unable to open %s" msgstr "tidak bisa membuka %s" @@ -142,55 +144,55 @@ msgstr "ekspresi reguler terlalu besar" msgid "Unknown signal" msgstr "Sinyal yang tidak dikenal" -#: lib/util/strtoid.c:84 lib/util/strtomode.c:52 lib/util/strtonum.c:148 -#: lib/util/strtonum.c:187 src/sesh.c:240 src/sesh.c:253 +#: lib/util/strtoid.c:84 lib/util/strtomode.c:52 lib/util/strtonum.c:147 +#: lib/util/strtonum.c:186 src/sesh.c:240 src/sesh.c:253 msgid "invalid value" msgstr "nilai tidak valid" -#: lib/util/strtomode.c:58 lib/util/strtonum.c:160 +#: lib/util/strtomode.c:58 lib/util/strtonum.c:159 msgid "value too large" msgstr "nilai terlalu besar" -#: lib/util/strtomode.c:58 lib/util/strtonum.c:154 +#: lib/util/strtomode.c:58 lib/util/strtonum.c:153 msgid "value too small" msgstr "nilai terlalu kecil" -#: lib/util/sudo_conf.c:234 +#: lib/util/sudo_conf.c:237 #, c-format msgid "invalid Path value \"%s\" in %s, line %u" msgstr "nilai Path \"%s\" tidak valid dalam %s, baris %u" -#: lib/util/sudo_conf.c:400 lib/util/sudo_conf.c:453 +#: lib/util/sudo_conf.c:403 lib/util/sudo_conf.c:456 #, c-format msgid "invalid value for %s \"%s\" in %s, line %u" msgstr "nilai tidak valid untuk %s \"%s\" dalam %s, baris %u" -#: lib/util/sudo_conf.c:421 +#: lib/util/sudo_conf.c:424 #, c-format msgid "unsupported group source \"%s\" in %s, line %u" msgstr "sumber grup \"%s\" dalam %s tidak didukung, baris %u" -#: lib/util/sudo_conf.c:437 +#: lib/util/sudo_conf.c:440 #, c-format msgid "invalid max groups \"%s\" in %s, line %u" msgstr "grup maks \"%s\" dalam %s tidak valid, baris %u" -#: lib/util/sudo_conf.c:686 +#: lib/util/sudo_conf.c:711 #, c-format msgid "%s is not a regular file" msgstr "%s bukan suatu berkas reguler" -#: lib/util/sudo_conf.c:689 src/copy_file.c:164 +#: lib/util/sudo_conf.c:714 src/copy_file.c:164 #, c-format msgid "%s is owned by uid %u, should be %u" msgstr "%s hanya dimiliki oleh uid %u, mestinya %u" -#: lib/util/sudo_conf.c:693 +#: lib/util/sudo_conf.c:718 #, c-format msgid "%s is world writable" msgstr "%s dapat ditulisi oleh siapa pun" -#: lib/util/sudo_conf.c:696 +#: lib/util/sudo_conf.c:721 #, c-format msgid "%s is group writable" msgstr "%s dapat ditulisi oleh grup" @@ -284,18 +286,18 @@ msgstr "tidak bisa mengubah direktori ke %s" msgid "starting from %s" msgstr "memulai dari %s" -#: src/exec.c:278 src/exec.c:351 src/exec_monitor.c:552 src/exec_monitor.c:554 -#: src/exec_pty.c:1122 src/exec_pty.c:1124 src/signal.c:144 src/signal.c:151 +#: src/exec.c:278 src/exec.c:351 src/exec_monitor.c:564 src/exec_monitor.c:566 +#: src/exec_pty.c:1148 src/exec_pty.c:1150 src/signal.c:144 src/signal.c:151 #: src/signal.c:165 src/suspend_parent.c:143 #, c-format msgid "unable to set handler for signal %d" msgstr "tidak bisa menata penangan bagi sinyal %d" -#: src/exec.c:424 +#: src/exec.c:447 msgid "intercept mode is not supported with SELinux RBAC on this system" msgstr "mode intersepsi tidak didukung dengan RBAC SELinux pada sistem ini" -#: src/exec.c:429 +#: src/exec.c:452 msgid "unable to log sub-commands with SELinux RBAC on this system" msgstr "tidak bisa mencatat log sub perintah dengan RBAC SELinux pada sistem ini" @@ -303,62 +305,63 @@ msgstr "tidak bisa mencatat log sub perintah dengan RBAC SELinux pada sistem ini msgid "unable to remove PRIV_PROC_EXEC from PRIV_LIMIT" msgstr "tidak bisa menghapus PRIV_PROC_EXEC dari PRIV_LIMIT" -#: src/exec_intercept.c:70 src/exec_iolog.c:163 src/exec_iolog.c:173 +#: src/exec_intercept.c:71 src/exec_iolog.c:163 src/exec_iolog.c:173 #: src/exec_iolog.c:218 src/exec_iolog.c:225 src/exec_iolog.c:252 -#: src/exec_monitor.c:426 src/exec_monitor.c:434 src/exec_monitor.c:442 -#: src/exec_monitor.c:449 src/exec_monitor.c:456 src/exec_monitor.c:463 -#: src/exec_monitor.c:470 src/exec_monitor.c:477 src/exec_monitor.c:484 -#: src/exec_monitor.c:491 src/exec_nopty.c:233 src/exec_nopty.c:242 +#: src/exec_monitor.c:438 src/exec_monitor.c:446 src/exec_monitor.c:454 +#: src/exec_monitor.c:461 src/exec_monitor.c:468 src/exec_monitor.c:475 +#: src/exec_monitor.c:482 src/exec_monitor.c:489 src/exec_monitor.c:496 +#: src/exec_monitor.c:503 src/exec_nopty.c:233 src/exec_nopty.c:242 #: src/exec_nopty.c:249 src/exec_nopty.c:256 src/exec_nopty.c:263 #: src/exec_nopty.c:270 src/exec_nopty.c:277 src/exec_nopty.c:284 #: src/exec_nopty.c:291 src/exec_nopty.c:298 src/exec_nopty.c:305 #: src/exec_nopty.c:312 src/exec_nopty.c:320 src/exec_nopty.c:328 -#: src/exec_nopty.c:387 src/exec_nopty.c:457 src/exec_pty.c:432 -#: src/exec_pty.c:537 src/exec_pty.c:587 src/exec_pty.c:965 src/exec_pty.c:974 -#: src/exec_pty.c:981 src/exec_pty.c:988 src/exec_pty.c:995 src/exec_pty.c:1002 -#: src/exec_pty.c:1009 src/exec_pty.c:1016 src/exec_pty.c:1023 -#: src/exec_pty.c:1030 src/exec_pty.c:1037 src/exec_pty.c:1044 +#: src/exec_nopty.c:387 src/exec_nopty.c:457 src/exec_pty.c:441 +#: src/exec_pty.c:555 src/exec_pty.c:605 src/exec_pty.c:992 src/exec_pty.c:1001 +#: src/exec_pty.c:1008 src/exec_pty.c:1015 src/exec_pty.c:1022 +#: src/exec_pty.c:1029 src/exec_pty.c:1036 src/exec_pty.c:1043 +#: src/exec_pty.c:1050 src/exec_pty.c:1057 src/exec_pty.c:1064 +#: src/exec_pty.c:1071 msgid "unable to add event to queue" msgstr "tidak bisa menambah kejadian ke antrian" -#: src/exec_intercept.c:323 src/sudo.c:1033 +#: src/exec_intercept.c:324 src/sudo.c:1056 msgid "command not set by the security policy" msgstr "perintah tidak ditata oleh kebijakan keamanan" -#: src/exec_intercept.c:401 src/exec_intercept.c:441 src/sudo.c:1253 -#: src/sudo.c:1298 src/sudo.c:1342 +#: src/exec_intercept.c:403 src/exec_intercept.c:443 src/sudo.c:1274 +#: src/sudo.c:1319 src/sudo.c:1363 msgid "command rejected by policy" msgstr "perintah ditolak oleh kebijakan" -#: src/exec_intercept.c:512 src/sudo.c:1940 +#: src/exec_intercept.c:514 src/sudo.c:1961 msgid "approval plugin error" msgstr "galat pengaya persetujuan" -#: src/exec_intercept.c:537 src/sudo.c:1258 src/sudo.c:1303 src/sudo.c:1347 -#: src/sudo.c:1421 +#: src/exec_intercept.c:539 src/sudo.c:1279 src/sudo.c:1324 src/sudo.c:1368 +#: src/sudo.c:1442 msgid "policy plugin error" msgstr "galat pengaya kebijakan" -#: src/exec_intercept.c:566 +#: src/exec_intercept.c:568 msgid "invalid PolicyCheckRequest" msgstr "PolicyCheckRequest tidak valid" -#: src/exec_intercept.c:709 +#: src/exec_intercept.c:711 #, c-format msgid "client request too large: %zu" msgstr "permintaan klien terlalu besar: %zu" -#: src/exec_intercept.c:751 +#: src/exec_intercept.c:753 #, c-format msgid "unable to unpack %s size %zu" msgstr "tidak bisa membongkar paket %s ukuran %zu" -#: src/exec_intercept.c:799 +#: src/exec_intercept.c:801 #, c-format msgid "unexpected type_case value %d in %s from %s" msgstr "nilai type_case %d yang tidak diharapkan dalam %s dari %s" -#: src/exec_intercept.c:825 +#: src/exec_intercept.c:827 #, c-format msgid "server message too large: %zu" msgstr "pesan server terlalu besar: %zu" @@ -381,135 +384,135 @@ msgstr "galat saat mencatat log suspensi" msgid "error changing window size" msgstr "galat saat mengubah ukuran jendela" -#: src/exec_monitor.c:328 +#: src/exec_monitor.c:330 msgid "error reading from socketpair" msgstr "galat saat membaca dari socketpair" -#: src/exec_monitor.c:340 +#: src/exec_monitor.c:342 #, c-format msgid "unexpected reply type on backchannel: %d" msgstr "tipe jawaban yang tidak diharapkan pada backchannel: %d" -#: src/exec_monitor.c:566 +#: src/exec_monitor.c:578 msgid "unable to set controlling tty" msgstr "tidak bisa menata tty pengendali" -#: src/exec_monitor.c:574 src/exec_nopty.c:504 src/exec_nopty.c:514 -#: src/exec_nopty.c:524 src/exec_nopty.c:560 src/exec_pty.c:1195 -#: src/exec_pty.c:1222 src/exec_pty.c:1242 src/exec_pty.c:1262 -#: src/tgetpass.c:306 -msgid "unable to create pipe" -msgstr "tidak bisa menata pipa" +#: src/exec_monitor.c:590 src/exec_nopty.c:572 src/exec_pty.c:1126 +#: src/exec_pty.c:1135 +msgid "unable to create sockets" +msgstr "tidak bisa membuat soket" -#: src/exec_monitor.c:584 +#: src/exec_monitor.c:599 msgid "unable to receive message from parent" msgstr "tidak bisa menerima pesan dari induk" -#: src/exec_monitor.c:600 src/exec_nopty.c:603 src/exec_pty.c:1303 +#: src/exec_monitor.c:614 src/exec_nopty.c:606 src/exec_pty.c:1336 #: src/sudo_edit.c:361 src/tgetpass.c:310 msgid "unable to fork" msgstr "tidak bisa mem-fork" -#: src/exec_monitor.c:604 src/exec_monitor.c:700 src/exec_nopty.c:708 +#: src/exec_monitor.c:618 src/exec_monitor.c:720 src/exec_nopty.c:712 msgid "unable to restore tty label" msgstr "tidak bisa memulihkan label tty" -#: src/exec_monitor.c:615 src/sesh.c:217 src/sudo.c:1204 +#: src/exec_monitor.c:629 src/exec_monitor.c:678 src/sesh.c:217 src/sudo.c:1225 #, c-format msgid "unable to execute %s" msgstr "tidak bisa mengeksekusi %s" -#: src/exec_nopty.c:554 src/exec_pty.c:1131 +#: src/exec_nopty.c:507 src/exec_nopty.c:517 src/exec_nopty.c:527 +#: src/exec_nopty.c:563 src/exec_pty.c:1224 src/exec_pty.c:1251 +#: src/exec_pty.c:1274 src/exec_pty.c:1292 src/tgetpass.c:306 +msgid "unable to create pipe" +msgstr "tidak bisa menata pipa" + +#: src/exec_nopty.c:557 src/exec_pty.c:1157 msgid "policy plugin failed session initialization" msgstr "pengaya kebijakan gagal menginisialisasi sesi" -#: src/exec_nopty.c:569 src/exec_pty.c:1100 src/exec_pty.c:1109 -msgid "unable to create sockets" -msgstr "tidak bisa membuat soket" - -#: src/exec_nopty.c:696 src/exec_pty.c:1406 +#: src/exec_nopty.c:700 src/exec_pty.c:1437 msgid "error in event loop" msgstr "galat dalam loop kejadian" -#: src/exec_preload.c:167 src/net_ifs.c:206 src/net_ifs.c:372 src/net_ifs.c:433 -#: src/net_ifs.c:620 src/net_ifs.c:852 src/sudo.c:488 src/sudo_edit.c:398 +#: src/exec_preload.c:168 src/net_ifs.c:206 src/net_ifs.c:372 src/net_ifs.c:433 +#: src/net_ifs.c:620 src/net_ifs.c:852 src/sudo.c:494 src/sudo_edit.c:398 #: src/sudo_edit.c:406 #, c-format msgid "internal error, %s overflow" msgstr "galat internal, %s overflow" -#: src/exec_ptrace.c:1080 src/exec_ptrace.c:1105 src/exec_ptrace.c:1925 +#: src/exec_ptrace.c:1082 src/exec_ptrace.c:1107 src/exec_ptrace.c:1930 #, c-format msgid "unable to set registers for process %d" msgstr "tidak bisa menata register untuk proses %d" -#: src/exec_ptrace.c:1100 src/exec_ptrace.c:1275 src/exec_ptrace.c:1628 +#: src/exec_ptrace.c:1102 src/exec_ptrace.c:1277 src/exec_ptrace.c:1630 #, c-format msgid "process %d exited unexpectedly" msgstr "proses %d keluar secara tak terduga" -#: src/exec_ptrace.c:1209 +#: src/exec_ptrace.c:1211 msgid "unable to set seccomp filter" msgstr "tidak bisa menata filter seccomp" -#: src/exec_ptrace.c:1406 +#: src/exec_ptrace.c:1408 #, c-format msgid "interpreter argument , expected \"%s\", got \"%s\"" msgstr "argumen interpreter, diharapkan \"%s\", diperoleh \"%s\"" -#: src/exec_ptrace.c:1505 +#: src/exec_ptrace.c:1506 #, c-format msgid "pathname mismatch, expected \"%s\", got \"%s\"" msgstr "nama path tidak cocok, diharapkan \"%s\", diperoleh \"%s\"" -#: src/exec_ptrace.c:1514 src/exec_ptrace.c:1521 src/exec_ptrace.c:1545 -#: src/exec_ptrace.c:1553 src/exec_ptrace.c:1559 src/exec_ptrace.c:1565 +#: src/exec_ptrace.c:1515 src/exec_ptrace.c:1522 src/exec_ptrace.c:1546 +#: src/exec_ptrace.c:1554 src/exec_ptrace.c:1560 src/exec_ptrace.c:1566 #, c-format msgid "%s[%d] mismatch, expected \"%s\", got \"%s\"" msgstr "%s[%d] tidak cocok, diharapkan \"%s\", diperoleh \"%s\"" -#: src/exec_ptrace.c:1632 +#: src/exec_ptrace.c:1634 #, c-format msgid "process %d unexpected status 0x%x" msgstr "proses %d status tidak diharapkan 0x%x" -#: src/exec_ptrace.c:1723 +#: src/exec_ptrace.c:1727 #, c-format msgid "unable to get event message for process %d" msgstr "tidak bisa mendapatkan pesan kejadian untuk proses %d" -#: src/exec_ptrace.c:1730 +#: src/exec_ptrace.c:1734 #, c-format msgid "unable to get registers for process %d" msgstr "tidak bisa mendapat register-register untuk proses %d" -#: src/exec_pty.c:84 +#: src/exec_pty.c:87 msgid "unable to allocate pty" msgstr "tidak bisa mengalokasikan pty" -#: src/exec_pty.c:131 src/exec_pty.c:284 src/tgetpass.c:251 +#: src/exec_pty.c:118 src/exec_pty.c:257 src/tgetpass.c:251 msgid "unable to restore terminal settings" msgstr "tidak bisa memulihkan pengaturan terminal" -#: src/exec_pty.c:243 +#: src/exec_pty.c:218 msgid "unable to set handler for SIGCONT" msgstr "tidak bisa menata penangan bagi SIGCONT" -#: src/exec_pty.c:293 +#: src/exec_pty.c:267 #, c-format msgid "unable to set handler for SIG%s" msgstr "tidak bisa menata penangan bagi SIG%s" -#: src/exec_pty.c:317 +#: src/exec_pty.c:291 #, c-format msgid "unable to restore handler for SIG%s" msgstr "tidak bisa memulihkan penangan bagi SIG%s" -#: src/exec_pty.c:345 +#: src/exec_pty.c:319 msgid "unable to restore handler for SIGCONT" msgstr "tidak bisa memulihkan penangan bagi SIGCONT" -#: src/exec_pty.c:1353 +#: src/exec_pty.c:1385 msgid "unable to send message to monitor process" msgstr "tidak bisa mengirim pesan ke proses pantau" @@ -558,40 +561,40 @@ msgstr "tipe pengaya tak dikenal %d ditemukan di %s" msgid "policy plugin %s does not include a check_policy method" msgstr "pengaya kebijakan %s tidak menyertakan suatu metode check_policy" -#: src/parse_args.c:214 +#: src/parse_args.c:213 #, c-format msgid "invalid environment variable name: %s" msgstr "nama variabel lingkungan tidak valid: %s" -#: src/parse_args.c:319 +#: src/parse_args.c:318 msgid "the argument to -C must be a number greater than or equal to 3" msgstr "argumen ke -C mesti berupa suatu angka lebih dari atau sama dengan 3" -#: src/parse_args.c:556 +#: src/parse_args.c:555 msgid "you may not specify both the -i and -s options" msgstr "Anda tidak boleh menyatakan sekaligus opsi -i dan -s" -#: src/parse_args.c:561 +#: src/parse_args.c:560 msgid "you may not specify both the -i and -E options" msgstr "Anda tidak boleh menyatakan sekaligus opsi -i dan -E" -#: src/parse_args.c:571 +#: src/parse_args.c:570 msgid "the -E option is not valid in edit mode" msgstr "opsi -E tidak valid dalam mode sunting" -#: src/parse_args.c:574 +#: src/parse_args.c:573 msgid "you may not specify environment variables in edit mode" msgstr "Anda tidak boleh menyatakan variabel lingkungan dalam mode sunting" -#: src/parse_args.c:584 +#: src/parse_args.c:583 msgid "the -U option may only be used with the -l option" msgstr "opsi -U hanya boleh dipakai dengan opsi -l" -#: src/parse_args.c:588 +#: src/parse_args.c:587 msgid "the -A and -S options may not be used together" msgstr "opsi -A dan -S tidak boleh dipakai bersama" -#: src/parse_args.c:686 +#: src/parse_args.c:685 msgid "sudoedit is not supported on this platform" msgstr "sudoedit tidak didukung pada platform ini" @@ -945,151 +948,151 @@ msgstr "setproject gagal untuk proyek \"%s\"" msgid "warning, resource control assignment failed for project \"%s\"" msgstr "peringatan, penugasan kendali sumber daya gagal untuk proyek \"%s\"" -#: src/sudo.c:214 +#: src/sudo.c:215 #, c-format msgid "Sudo version %s\n" msgstr "Sudo versi %s\n" -#: src/sudo.c:216 +#: src/sudo.c:217 #, c-format msgid "Configure options: %s\n" msgstr "Opsi konfigurasi: %s\n" -#: src/sudo.c:224 +#: src/sudo.c:225 msgid "fatal error, unable to load plugins" msgstr "galat fatal, tidak bisa memuat pengaya" -#: src/sudo.c:270 +#: src/sudo.c:271 msgid "plugin did not return a command to execute" msgstr "pengaya tidak mengembalikan suatu perintah yang akan dieksekusi" -#: src/sudo.c:306 +#: src/sudo.c:307 #, c-format msgid "unexpected sudo mode 0x%x" msgstr "mode sudo 0x%x yang tidak diharapkan" -#: src/sudo.c:559 +#: src/sudo.c:567 #, c-format msgid "you do not exist in the %s database" msgstr "Anda tidak ada dalam basis data %s" -#: src/sudo.c:616 +#: src/sudo.c:632 msgid "unable to determine tty" msgstr "tidak bisa menentukan tty" -#: src/sudo.c:932 +#: src/sudo.c:955 msgid "The \"no new privileges\" flag is set, which prevents sudo from running as root." msgstr "Flag \"tidak ada privilese baru\" ditata, yang mencegah sudo berjalan sebagai root." -#: src/sudo.c:934 +#: src/sudo.c:957 msgid "If sudo is running in a container, you may need to adjust the container configuration to disable the flag." msgstr "Bila sudo berjalan dalam suatu kontainer, Anda mungkin perlu menyetel konfigurasi kontainer untuk menonaktifkan flag." -#: src/sudo.c:968 +#: src/sudo.c:991 #, c-format msgid "%s must be owned by uid %d and have the setuid bit set" msgstr "%s mesti dimiliki oleh uid %d dan bit setuid-nya ditata" -#: src/sudo.c:971 +#: src/sudo.c:994 #, c-format msgid "effective uid is not %d, is %s on a file system with the 'nosuid' option set or an NFS file system without root privileges?" msgstr "uid efektif bukan %d, apakah %s ada pada suatu sistem berkas dengan opsi 'nosuid' ditata atau suatu sistem berkas NFS tanpa privilese root?" -#: src/sudo.c:977 +#: src/sudo.c:1000 #, c-format msgid "effective uid is not %d, is sudo installed setuid root?" msgstr "uid efektif bukan %d, apakah sudo dipasang dengan setuid root?" -#: src/sudo.c:993 src/tgetpass.c:332 +#: src/sudo.c:1016 src/tgetpass.c:332 msgid "unable to set supplementary group IDs" msgstr "tidak bisa menata ID grup suplementer" -#: src/sudo.c:1000 +#: src/sudo.c:1023 #, c-format msgid "unable to set effective gid to runas gid %u" msgstr "tidak bisa menata gid efektif untuk runas gid %u" -#: src/sudo.c:1006 +#: src/sudo.c:1029 #, c-format msgid "unable to set gid to runas gid %u" msgstr "tidak bisa menata gid to runas gid %u" -#: src/sudo.c:1037 +#: src/sudo.c:1060 msgid "argv not set by the security policy" msgstr "argv tidak ditata oleh kebijakan keamanan" -#: src/sudo.c:1041 +#: src/sudo.c:1064 msgid "envp not set by the security policy" msgstr "envp tidak ditata oleh kebijakan keamanan" -#: src/sudo.c:1063 +#: src/sudo.c:1086 #, c-format msgid "unexpected child termination condition: %d" msgstr "kondisi terminasi anak yang tidak diharapkan: %d" -#: src/sudo.c:1176 +#: src/sudo.c:1198 msgid "unable to initialize policy plugin" msgstr "tidak bisa menginisialisasi pengaya kebijakan" -#: src/sudo.c:1238 +#: src/sudo.c:1259 #, c-format msgid "policy plugin %s is missing the \"check_policy\" method" msgstr "pengaya kebijakan %s kurang metode \"check_policy\"" -#: src/sudo.c:1284 +#: src/sudo.c:1305 #, c-format msgid "policy plugin %s does not support listing privileges" msgstr "pengaya kebijakan %s tidak mendukung mencantumkan daftar privilese" -#: src/sudo.c:1328 +#: src/sudo.c:1349 #, c-format msgid "policy plugin %s does not support the -v option" msgstr "pengaya kebijakan %s tidak mendukung opsi -v" -#: src/sudo.c:1366 +#: src/sudo.c:1387 #, c-format msgid "policy plugin %s does not support the -k/-K options" msgstr "pengaya kebijakan %s tidak mendukung opsi -k/-K" -#: src/sudo.c:1495 +#: src/sudo.c:1516 #, c-format msgid "error initializing I/O plugin %s" msgstr "galat saat menginisialisasi pengaya I/O %s" -#: src/sudo.c:1498 +#: src/sudo.c:1519 msgid "error initializing I/O plugin" msgstr "galat saat menginisialisasi pengaya I/O" -#: src/sudo.c:1647 +#: src/sudo.c:1668 #, c-format msgid "error initializing audit plugin %s" msgstr "galat saat menginisialisasi pengaya audit %s" -#: src/sudo.c:1726 +#: src/sudo.c:1747 #, c-format msgid "%s: unable to log error event%s%s" msgstr "%s: tidak bisa mencatat galat kejadian%s%s" -#: src/sudo.c:1762 +#: src/sudo.c:1783 #, c-format msgid "%s: unable to log accept event%s%s" msgstr "%s: tidak bisa mencatat setujui kejadian%s%s" -#: src/sudo.c:1767 src/sudo.c:1805 +#: src/sudo.c:1788 src/sudo.c:1826 msgid "audit plugin error" msgstr "galat pengaya audit" -#: src/sudo.c:1800 +#: src/sudo.c:1821 #, c-format msgid "%s: unable to log reject event%s%s" msgstr "%s: tidak bisa mencatat tolak kejadian%s%s" -#: src/sudo.c:1860 +#: src/sudo.c:1881 #, c-format msgid "error initializing approval plugin %s" msgstr "galat saat menginisialisasi pengaya persetujuan %s" -#: src/sudo.c:1930 +#: src/sudo.c:1951 msgid "command rejected by approver" msgstr "perintah ditolak oleh pemberi persetujuan" @@ -1149,7 +1152,7 @@ msgstr "galat pengaya: daftar berkas hilang untuk sudoedit" msgid "unable to read the clock" msgstr "tidak bisa membaca jam" -#: src/sudo_intercept_common.c:365 +#: src/sudo_intercept_common.c:372 msgid "intercept port not set" msgstr "port intersepsi tidak ditata" @@ -1188,6 +1191,12 @@ msgstr "tidak bisa menata uid menjadi %u" msgid "unable to run %s" msgstr "tidak bisa menjalankan %s" +#: src/ttyname.c:139 src/ttyname.c:182 src/ttyname.c:199 src/ttyname.c:284 +#: src/ttyname.c:312 src/ttyname.c:356 +#, c-format +msgid "unable to find terminal name for device %u, %u" +msgstr "tidak bisa menemukan nama terminal untuk perangkat %u, %u" + #: src/utmp.c:283 msgid "unable to save stdin" msgstr "tidak bisa menyimpan stdin" diff --git a/po/ja.mo b/po/ja.mo index 61130e788..a1fd722e5 100644 Binary files a/po/ja.mo and b/po/ja.mo differ diff --git a/po/ja.po b/po/ja.po index e1640a854..115c2321e 100644 --- a/po/ja.po +++ b/po/ja.po @@ -1,24 +1,24 @@ # Japanese messages for sudo # This file is put in the public domain. # Yasuaki Taniguchi , 2011. -# Takeshi Hamasaki , 2012, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023. +# Takeshi Hamasaki , 2012, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024. # msgid "" msgstr "" -"Project-Id-Version: sudo 1.9.14b1\n" +"Project-Id-Version: sudo 1.9.16b1\n" "Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n" -"POT-Creation-Date: 2023-06-07 13:27-0600\n" -"PO-Revision-Date: 2023-06-30 22:30+0900\n" +"POT-Creation-Date: 2024-06-08 09:06-0600\n" +"PO-Revision-Date: 2024-06-22 21:19+0900\n" "Last-Translator: Takeshi Hamasaki \n" "Language-Team: Japanese \n" "Language: ja\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.4.2\n" -"X-Poedit-Basepath: sudo-1.9.12b2\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"X-Generator: Poedit 3.2.2\n" +"X-Poedit-Basepath: sudo-1.9.16b1\n" "X-Poedit-SearchPath-0: .\n" #: lib/util/aix.c:89 lib/util/aix.c:169 @@ -35,78 +35,80 @@ msgid "unable to restore registry" msgstr "レジストリーを復元できません" #: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/gidlist.c:76 -#: lib/util/json.c:55 lib/util/json.c:197 lib/util/sudo_conf.c:215 -#: lib/util/sudo_conf.c:301 lib/util/sudo_conf.c:378 lib/util/sudo_conf.c:647 -#: src/conversation.c:78 src/exec_iolog.c:122 src/exec_iolog.c:133 -#: src/exec_iolog.c:210 src/exec_monitor.c:171 src/exec_monitor.c:418 -#: src/exec_monitor.c:424 src/exec_monitor.c:432 src/exec_monitor.c:440 -#: src/exec_monitor.c:447 src/exec_monitor.c:454 src/exec_monitor.c:461 -#: src/exec_monitor.c:468 src/exec_monitor.c:475 src/exec_monitor.c:482 -#: src/exec_monitor.c:489 src/exec_nopty.c:231 src/exec_nopty.c:240 +#: lib/util/json.c:55 lib/util/json.c:197 lib/util/sudo_conf.c:218 +#: lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381 lib/util/sudo_conf.c:672 +#: src/conversation.c:81 src/exec_iolog.c:122 src/exec_iolog.c:133 +#: src/exec_iolog.c:210 src/exec_monitor.c:173 src/exec_monitor.c:430 +#: src/exec_monitor.c:436 src/exec_monitor.c:444 src/exec_monitor.c:452 +#: src/exec_monitor.c:459 src/exec_monitor.c:466 src/exec_monitor.c:473 +#: src/exec_monitor.c:480 src/exec_monitor.c:487 src/exec_monitor.c:494 +#: src/exec_monitor.c:501 src/exec_nopty.c:231 src/exec_nopty.c:240 #: src/exec_nopty.c:247 src/exec_nopty.c:254 src/exec_nopty.c:261 #: src/exec_nopty.c:268 src/exec_nopty.c:275 src/exec_nopty.c:282 #: src/exec_nopty.c:289 src/exec_nopty.c:296 src/exec_nopty.c:303 #: src/exec_nopty.c:310 src/exec_nopty.c:318 src/exec_nopty.c:326 -#: src/exec_nopty.c:744 src/exec_preload.c:343 src/exec_ptrace.c:475 -#: src/exec_ptrace.c:768 src/exec_ptrace.c:983 src/exec_ptrace.c:1096 -#: src/exec_ptrace.c:1271 src/exec_ptrace.c:1624 src/exec_ptrace.c:1651 -#: src/exec_ptrace.c:1841 src/exec_pty.c:581 src/exec_pty.c:765 -#: src/exec_pty.c:963 src/exec_pty.c:972 src/exec_pty.c:979 src/exec_pty.c:986 -#: src/exec_pty.c:993 src/exec_pty.c:1000 src/exec_pty.c:1007 -#: src/exec_pty.c:1014 src/exec_pty.c:1021 src/exec_pty.c:1028 -#: src/exec_pty.c:1035 src/exec_pty.c:1042 src/exec_pty.c:1050 -#: src/load_plugins.c:100 src/load_plugins.c:125 src/load_plugins.c:161 -#: src/load_plugins.c:394 src/load_plugins.c:400 src/parse_args.c:172 -#: src/parse_args.c:193 src/parse_args.c:269 src/parse_args.c:625 -#: src/parse_args.c:647 src/parse_args.c:672 src/preserve_fds.c:46 -#: src/preserve_fds.c:131 src/selinux.c:89 src/selinux.c:362 src/selinux.c:472 -#: src/selinux.c:489 src/selinux.c:496 src/sesh.c:206 src/sesh.c:240 -#: src/sesh.c:246 src/sesh.c:253 src/sesh.c:259 src/sesh.c:470 src/sudo.c:644 -#: src/sudo.c:709 src/sudo.c:719 src/sudo.c:746 src/sudo.c:769 src/sudo.c:778 -#: src/sudo.c:787 src/sudo.c:805 src/sudo.c:846 src/sudo.c:855 src/sudo.c:865 -#: src/sudo.c:898 src/sudo.c:1127 src/sudo.c:1148 src/sudo.c:1441 -#: src/sudo.c:1610 src/sudo.c:1837 src/sudo.c:2171 src/sudo_edit.c:89 -#: src/sudo_edit.c:149 src/sudo_edit.c:430 src/sudo_edit.c:439 -#: src/sudo_edit.c:540 src/sudo_edit.c:547 src/sudo_edit.c:692 -#: src/sudo_edit.c:712 src/sudo_intercept_common.c:115 -#: src/sudo_intercept_common.c:340 +#: src/exec_nopty.c:748 src/exec_preload.c:347 src/exec_ptrace.c:475 +#: src/exec_ptrace.c:768 src/exec_ptrace.c:985 src/exec_ptrace.c:1098 +#: src/exec_ptrace.c:1273 src/exec_ptrace.c:1626 src/exec_ptrace.c:1653 +#: src/exec_ptrace.c:1845 src/exec_pty.c:599 src/exec_pty.c:783 +#: src/exec_pty.c:990 src/exec_pty.c:999 src/exec_pty.c:1006 +#: src/exec_pty.c:1013 src/exec_pty.c:1020 src/exec_pty.c:1027 +#: src/exec_pty.c:1034 src/exec_pty.c:1041 src/exec_pty.c:1048 +#: src/exec_pty.c:1055 src/exec_pty.c:1062 src/exec_pty.c:1069 +#: src/exec_pty.c:1077 src/load_plugins.c:100 src/load_plugins.c:125 +#: src/load_plugins.c:161 src/load_plugins.c:394 src/load_plugins.c:400 +#: src/parse_args.c:171 src/parse_args.c:192 src/parse_args.c:268 +#: src/parse_args.c:624 src/parse_args.c:646 src/parse_args.c:671 +#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89 +#: src/selinux.c:362 src/selinux.c:472 src/selinux.c:489 src/selinux.c:496 +#: src/sesh.c:206 src/sesh.c:240 src/sesh.c:246 src/sesh.c:253 src/sesh.c:259 +#: src/sesh.c:470 src/sudo.c:581 src/sudo.c:607 src/sudo.c:660 src/sudo.c:726 +#: src/sudo.c:737 src/sudo.c:764 src/sudo.c:787 src/sudo.c:796 src/sudo.c:805 +#: src/sudo.c:818 src/sudo.c:827 src/sudo.c:868 src/sudo.c:878 src/sudo.c:888 +#: src/sudo.c:921 src/sudo.c:923 src/sudo.c:1150 src/sudo.c:1171 +#: src/sudo.c:1462 src/sudo.c:1631 src/sudo.c:1858 src/sudo.c:2191 +#: src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:430 +#: src/sudo_edit.c:439 src/sudo_edit.c:540 src/sudo_edit.c:547 +#: src/sudo_edit.c:692 src/sudo_edit.c:712 src/sudo_intercept_common.c:122 +#: src/sudo_intercept_common.c:347 #, c-format msgid "%s: %s" msgstr "%s: %s" #: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/json.c:56 -#: lib/util/json.c:198 lib/util/regex.c:173 lib/util/sudo_conf.c:216 -#: lib/util/sudo_conf.c:301 lib/util/sudo_conf.c:378 lib/util/sudo_conf.c:647 -#: src/conversation.c:79 src/exec_intercept.c:111 src/exec_intercept.c:350 -#: src/exec_intercept.c:525 src/exec_intercept.c:589 src/exec_intercept.c:713 -#: src/exec_intercept.c:837 src/exec_iolog.c:122 src/exec_iolog.c:133 -#: src/exec_iolog.c:210 src/exec_monitor.c:418 src/exec_monitor.c:424 -#: src/exec_monitor.c:432 src/exec_monitor.c:440 src/exec_monitor.c:447 -#: src/exec_monitor.c:454 src/exec_monitor.c:461 src/exec_monitor.c:468 -#: src/exec_monitor.c:475 src/exec_monitor.c:482 src/exec_monitor.c:489 +#: lib/util/json.c:198 lib/util/regex.c:173 lib/util/sudo_conf.c:219 +#: lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381 lib/util/sudo_conf.c:672 +#: src/conversation.c:82 src/exec_intercept.c:112 src/exec_intercept.c:351 +#: src/exec_intercept.c:527 src/exec_intercept.c:591 src/exec_intercept.c:715 +#: src/exec_intercept.c:839 src/exec_iolog.c:122 src/exec_iolog.c:133 +#: src/exec_iolog.c:210 src/exec_monitor.c:430 src/exec_monitor.c:436 +#: src/exec_monitor.c:444 src/exec_monitor.c:452 src/exec_monitor.c:459 +#: src/exec_monitor.c:466 src/exec_monitor.c:473 src/exec_monitor.c:480 +#: src/exec_monitor.c:487 src/exec_monitor.c:494 src/exec_monitor.c:501 #: src/exec_nopty.c:231 src/exec_nopty.c:240 src/exec_nopty.c:247 #: src/exec_nopty.c:254 src/exec_nopty.c:261 src/exec_nopty.c:268 #: src/exec_nopty.c:275 src/exec_nopty.c:282 src/exec_nopty.c:289 #: src/exec_nopty.c:296 src/exec_nopty.c:303 src/exec_nopty.c:310 -#: src/exec_nopty.c:318 src/exec_nopty.c:326 src/exec_preload.c:343 -#: src/exec_ptrace.c:475 src/exec_ptrace.c:768 src/exec_ptrace.c:983 -#: src/exec_ptrace.c:1651 src/exec_ptrace.c:1842 src/exec_pty.c:581 -#: src/exec_pty.c:963 src/exec_pty.c:972 src/exec_pty.c:979 src/exec_pty.c:986 -#: src/exec_pty.c:993 src/exec_pty.c:1000 src/exec_pty.c:1007 -#: src/exec_pty.c:1014 src/exec_pty.c:1021 src/exec_pty.c:1028 -#: src/exec_pty.c:1035 src/exec_pty.c:1042 src/exec_pty.c:1050 -#: src/load_plugins.c:100 src/load_plugins.c:125 src/load_plugins.c:161 -#: src/load_plugins.c:394 src/load_plugins.c:400 src/parse_args.c:172 -#: src/parse_args.c:194 src/parse_args.c:269 src/parse_args.c:625 -#: src/parse_args.c:647 src/parse_args.c:672 src/preserve_fds.c:46 -#: src/preserve_fds.c:131 src/selinux.c:89 src/selinux.c:362 src/selinux.c:472 -#: src/selinux.c:489 src/selinux.c:496 src/sesh.c:206 src/sesh.c:471 -#: src/sudo.c:228 src/sudo.c:644 src/sudo.c:898 src/sudo.c:1127 -#: src/sudo.c:1148 src/sudo.c:1441 src/sudo.c:1610 src/sudo.c:1837 -#: src/sudo.c:2171 src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:430 +#: src/exec_nopty.c:318 src/exec_nopty.c:326 src/exec_preload.c:347 +#: src/exec_ptrace.c:475 src/exec_ptrace.c:768 src/exec_ptrace.c:985 +#: src/exec_ptrace.c:1653 src/exec_ptrace.c:1846 src/exec_pty.c:599 +#: src/exec_pty.c:990 src/exec_pty.c:999 src/exec_pty.c:1006 +#: src/exec_pty.c:1013 src/exec_pty.c:1020 src/exec_pty.c:1027 +#: src/exec_pty.c:1034 src/exec_pty.c:1041 src/exec_pty.c:1048 +#: src/exec_pty.c:1055 src/exec_pty.c:1062 src/exec_pty.c:1069 +#: src/exec_pty.c:1077 src/load_plugins.c:100 src/load_plugins.c:125 +#: src/load_plugins.c:161 src/load_plugins.c:394 src/load_plugins.c:400 +#: src/parse_args.c:171 src/parse_args.c:193 src/parse_args.c:268 +#: src/parse_args.c:624 src/parse_args.c:646 src/parse_args.c:671 +#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89 +#: src/selinux.c:362 src/selinux.c:472 src/selinux.c:489 src/selinux.c:496 +#: src/sesh.c:206 src/sesh.c:471 src/sudo.c:229 src/sudo.c:581 src/sudo.c:607 +#: src/sudo.c:660 src/sudo.c:819 src/sudo.c:921 src/sudo.c:923 src/sudo.c:1150 +#: src/sudo.c:1171 src/sudo.c:1462 src/sudo.c:1631 src/sudo.c:1858 +#: src/sudo.c:2191 src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:430 #: src/sudo_edit.c:439 src/sudo_edit.c:540 src/sudo_edit.c:547 -#: src/sudo_edit.c:692 src/sudo_edit.c:712 src/sudo_intercept_common.c:115 -#: src/sudo_intercept_common.c:340 +#: src/sudo_edit.c:692 src/sudo_edit.c:712 src/sudo_intercept_common.c:122 +#: src/sudo_intercept_common.c:347 msgid "unable to allocate memory" msgstr "メモリ割り当てを行えませんでした" @@ -120,9 +122,9 @@ msgstr "%.*s の状態取得 (stat) ができません" msgid "%.*s exists but is not a directory (0%o)" msgstr "%.*s は存在しますが、ディレクトリではありません (0%o)" -#: lib/util/mkdir_parents.c:103 lib/util/sudo_conf.c:664 -#: lib/util/sudo_conf.c:683 lib/util/sudo_conf.c:710 src/selinux.c:235 -#: src/selinux.c:265 src/sudo.c:373 src/sudo_edit.c:495 src/sudo_edit.c:559 +#: lib/util/mkdir_parents.c:103 lib/util/sudo_conf.c:689 +#: lib/util/sudo_conf.c:708 lib/util/sudo_conf.c:735 src/selinux.c:235 +#: src/selinux.c:265 src/sudo.c:375 src/sudo_edit.c:495 src/sudo_edit.c:559 #, c-format msgid "unable to open %s" msgstr "%s を開けません" @@ -145,55 +147,55 @@ msgstr "正規表現が長すぎます。" msgid "Unknown signal" msgstr "不明なシグナルです" -#: lib/util/strtoid.c:84 lib/util/strtomode.c:52 lib/util/strtonum.c:148 -#: lib/util/strtonum.c:187 src/sesh.c:240 src/sesh.c:253 +#: lib/util/strtoid.c:84 lib/util/strtomode.c:52 lib/util/strtonum.c:147 +#: lib/util/strtonum.c:186 src/sesh.c:240 src/sesh.c:253 msgid "invalid value" msgstr "無効な値" -#: lib/util/strtomode.c:58 lib/util/strtonum.c:160 +#: lib/util/strtomode.c:58 lib/util/strtonum.c:159 msgid "value too large" msgstr "値が大き過ぎます" -#: lib/util/strtomode.c:58 lib/util/strtonum.c:154 +#: lib/util/strtomode.c:58 lib/util/strtonum.c:153 msgid "value too small" msgstr "値が小さ過ぎます" -#: lib/util/sudo_conf.c:234 +#: lib/util/sudo_conf.c:237 #, c-format msgid "invalid Path value \"%s\" in %s, line %u" msgstr "無効な Path の値 \"%s\" が %s の %u 行目 にあります" -#: lib/util/sudo_conf.c:400 lib/util/sudo_conf.c:453 +#: lib/util/sudo_conf.c:403 lib/util/sudo_conf.c:456 #, c-format msgid "invalid value for %s \"%s\" in %s, line %u" msgstr "無効な %s の値 \"%s\" が %s の %u 行目 にあります" -#: lib/util/sudo_conf.c:421 +#: lib/util/sudo_conf.c:424 #, c-format msgid "unsupported group source \"%s\" in %s, line %u" msgstr "サポートしていないグループソース \"%s\" が %s の %u 行目で指定されています" -#: lib/util/sudo_conf.c:437 +#: lib/util/sudo_conf.c:440 #, c-format msgid "invalid max groups \"%s\" in %s, line %u" msgstr "無効な最大グループの値 \"%s\" が %s の %u 行目 にあります" -#: lib/util/sudo_conf.c:686 +#: lib/util/sudo_conf.c:711 #, c-format msgid "%s is not a regular file" msgstr "%s は通常ファイルではありません" -#: lib/util/sudo_conf.c:689 src/copy_file.c:164 +#: lib/util/sudo_conf.c:714 src/copy_file.c:164 #, c-format msgid "%s is owned by uid %u, should be %u" msgstr "%s はユーザーID %u によって所有されています。これは %u であるべきです" -#: lib/util/sudo_conf.c:693 +#: lib/util/sudo_conf.c:718 #, c-format msgid "%s is world writable" msgstr "%s は誰でも書き込み可能です" -#: lib/util/sudo_conf.c:696 +#: lib/util/sudo_conf.c:721 #, c-format msgid "%s is group writable" msgstr "%s はグループのメンバーによる書き込みが可能です" @@ -287,18 +289,18 @@ msgstr "ディレクトリーを %s に変更できません" msgid "starting from %s" msgstr "%s から始めます" -#: src/exec.c:278 src/exec.c:351 src/exec_monitor.c:552 src/exec_monitor.c:554 -#: src/exec_pty.c:1122 src/exec_pty.c:1124 src/signal.c:144 src/signal.c:151 +#: src/exec.c:278 src/exec.c:351 src/exec_monitor.c:564 src/exec_monitor.c:566 +#: src/exec_pty.c:1148 src/exec_pty.c:1150 src/signal.c:144 src/signal.c:151 #: src/signal.c:165 src/suspend_parent.c:143 #, c-format msgid "unable to set handler for signal %d" msgstr "シグナル %d のハンドラを設定できません" -#: src/exec.c:424 +#: src/exec.c:447 msgid "intercept mode is not supported with SELinux RBAC on this system" msgstr "SELinux RBAC でのインターセプトモードはこのシステムではサポートされていません" -#: src/exec.c:429 +#: src/exec.c:452 msgid "unable to log sub-commands with SELinux RBAC on this system" msgstr "SELinux RBAC でのサブコマンドログはこのシステムではサポートされていません" @@ -306,63 +308,63 @@ msgstr "SELinux RBAC でのサブコマンドログはこのシステムでは msgid "unable to remove PRIV_PROC_EXEC from PRIV_LIMIT" msgstr "PRIV_LIMIT から PRIV_PROC_EXEC を取り除くことができません" -#: src/exec_intercept.c:70 src/exec_iolog.c:163 src/exec_iolog.c:173 +#: src/exec_intercept.c:71 src/exec_iolog.c:163 src/exec_iolog.c:173 #: src/exec_iolog.c:218 src/exec_iolog.c:225 src/exec_iolog.c:252 -#: src/exec_monitor.c:426 src/exec_monitor.c:434 src/exec_monitor.c:442 -#: src/exec_monitor.c:449 src/exec_monitor.c:456 src/exec_monitor.c:463 -#: src/exec_monitor.c:470 src/exec_monitor.c:477 src/exec_monitor.c:484 -#: src/exec_monitor.c:491 src/exec_nopty.c:233 src/exec_nopty.c:242 +#: src/exec_monitor.c:438 src/exec_monitor.c:446 src/exec_monitor.c:454 +#: src/exec_monitor.c:461 src/exec_monitor.c:468 src/exec_monitor.c:475 +#: src/exec_monitor.c:482 src/exec_monitor.c:489 src/exec_monitor.c:496 +#: src/exec_monitor.c:503 src/exec_nopty.c:233 src/exec_nopty.c:242 #: src/exec_nopty.c:249 src/exec_nopty.c:256 src/exec_nopty.c:263 #: src/exec_nopty.c:270 src/exec_nopty.c:277 src/exec_nopty.c:284 #: src/exec_nopty.c:291 src/exec_nopty.c:298 src/exec_nopty.c:305 #: src/exec_nopty.c:312 src/exec_nopty.c:320 src/exec_nopty.c:328 -#: src/exec_nopty.c:387 src/exec_nopty.c:457 src/exec_pty.c:432 -#: src/exec_pty.c:537 src/exec_pty.c:587 src/exec_pty.c:965 src/exec_pty.c:974 -#: src/exec_pty.c:981 src/exec_pty.c:988 src/exec_pty.c:995 -#: src/exec_pty.c:1002 src/exec_pty.c:1009 src/exec_pty.c:1016 -#: src/exec_pty.c:1023 src/exec_pty.c:1030 src/exec_pty.c:1037 -#: src/exec_pty.c:1044 +#: src/exec_nopty.c:387 src/exec_nopty.c:457 src/exec_pty.c:441 +#: src/exec_pty.c:555 src/exec_pty.c:605 src/exec_pty.c:992 src/exec_pty.c:1001 +#: src/exec_pty.c:1008 src/exec_pty.c:1015 src/exec_pty.c:1022 +#: src/exec_pty.c:1029 src/exec_pty.c:1036 src/exec_pty.c:1043 +#: src/exec_pty.c:1050 src/exec_pty.c:1057 src/exec_pty.c:1064 +#: src/exec_pty.c:1071 msgid "unable to add event to queue" msgstr "キューにイベントを追加できません" -#: src/exec_intercept.c:323 src/sudo.c:1033 +#: src/exec_intercept.c:324 src/sudo.c:1056 msgid "command not set by the security policy" msgstr "セキュリティーポリシーによりコマンドが設定されていません" -#: src/exec_intercept.c:401 src/exec_intercept.c:441 src/sudo.c:1253 -#: src/sudo.c:1298 src/sudo.c:1342 +#: src/exec_intercept.c:403 src/exec_intercept.c:443 src/sudo.c:1274 +#: src/sudo.c:1319 src/sudo.c:1363 msgid "command rejected by policy" msgstr "ポリシーによりコマンドが拒否されました" -#: src/exec_intercept.c:512 src/sudo.c:1940 +#: src/exec_intercept.c:514 src/sudo.c:1961 msgid "approval plugin error" msgstr "承認プラグイン エラー" -#: src/exec_intercept.c:537 src/sudo.c:1258 src/sudo.c:1303 src/sudo.c:1347 -#: src/sudo.c:1421 +#: src/exec_intercept.c:539 src/sudo.c:1279 src/sudo.c:1324 src/sudo.c:1368 +#: src/sudo.c:1442 msgid "policy plugin error" msgstr "ポリシープラグインエラー" -#: src/exec_intercept.c:566 +#: src/exec_intercept.c:568 msgid "invalid PolicyCheckRequest" msgstr "無効な PolicyCheckRequest" -#: src/exec_intercept.c:709 +#: src/exec_intercept.c:711 #, c-format msgid "client request too large: %zu" msgstr "クライアントリクエストが大き過ぎます: %zu" -#: src/exec_intercept.c:751 +#: src/exec_intercept.c:753 #, c-format msgid "unable to unpack %s size %zu" msgstr "%s を伸長できません (長さ %zu )" -#: src/exec_intercept.c:799 +#: src/exec_intercept.c:801 #, c-format msgid "unexpected type_case value %d in %s from %s" msgstr "予期しない type_case の値 %d が %s の中にあります、 %s から出てきたものです。" -#: src/exec_intercept.c:825 +#: src/exec_intercept.c:827 #, c-format msgid "server message too large: %zu" msgstr "サーバーメッセージが大き過ぎます: %zu" @@ -385,135 +387,135 @@ msgstr "エラーの記録が一時中断しています" msgid "error changing window size" msgstr "ウィンドウサイズの変更でエラー" -#: src/exec_monitor.c:328 +#: src/exec_monitor.c:330 msgid "error reading from socketpair" msgstr "ソケットペアからの読み込み中にエラーが発生しました" -#: src/exec_monitor.c:340 +#: src/exec_monitor.c:342 #, c-format msgid "unexpected reply type on backchannel: %d" msgstr "バックチャンネルに関する予期しないリプレイタイプです: %d" -#: src/exec_monitor.c:566 +#: src/exec_monitor.c:578 msgid "unable to set controlling tty" msgstr "tty の制御設定ができません" -#: src/exec_monitor.c:574 src/exec_nopty.c:504 src/exec_nopty.c:514 -#: src/exec_nopty.c:524 src/exec_nopty.c:560 src/exec_pty.c:1195 -#: src/exec_pty.c:1222 src/exec_pty.c:1242 src/exec_pty.c:1262 -#: src/tgetpass.c:306 -msgid "unable to create pipe" -msgstr "パイプを作成できません" +#: src/exec_monitor.c:590 src/exec_nopty.c:572 src/exec_pty.c:1126 +#: src/exec_pty.c:1135 +msgid "unable to create sockets" +msgstr "ソケットを作成できません" -#: src/exec_monitor.c:584 +#: src/exec_monitor.c:599 msgid "unable to receive message from parent" msgstr "親からのメッセージを受け取ることができません" -#: src/exec_monitor.c:600 src/exec_nopty.c:603 src/exec_pty.c:1303 +#: src/exec_monitor.c:614 src/exec_nopty.c:606 src/exec_pty.c:1336 #: src/sudo_edit.c:361 src/tgetpass.c:310 msgid "unable to fork" msgstr "fork できません" -#: src/exec_monitor.c:604 src/exec_monitor.c:700 src/exec_nopty.c:708 +#: src/exec_monitor.c:618 src/exec_monitor.c:720 src/exec_nopty.c:712 msgid "unable to restore tty label" msgstr "tty ラベルを復旧できません" -#: src/exec_monitor.c:615 src/sesh.c:217 src/sudo.c:1204 +#: src/exec_monitor.c:629 src/exec_monitor.c:678 src/sesh.c:217 src/sudo.c:1225 #, c-format msgid "unable to execute %s" msgstr "%s を実行できません" -#: src/exec_nopty.c:554 src/exec_pty.c:1131 +#: src/exec_nopty.c:507 src/exec_nopty.c:517 src/exec_nopty.c:527 +#: src/exec_nopty.c:563 src/exec_pty.c:1224 src/exec_pty.c:1251 +#: src/exec_pty.c:1274 src/exec_pty.c:1292 src/tgetpass.c:306 +msgid "unable to create pipe" +msgstr "パイプを作成できません" + +#: src/exec_nopty.c:557 src/exec_pty.c:1157 msgid "policy plugin failed session initialization" msgstr "ポリシープラグインがセッションの初期化に失敗しました" -#: src/exec_nopty.c:569 src/exec_pty.c:1100 src/exec_pty.c:1109 -msgid "unable to create sockets" -msgstr "ソケットを作成できません" - -#: src/exec_nopty.c:696 src/exec_pty.c:1406 +#: src/exec_nopty.c:700 src/exec_pty.c:1437 msgid "error in event loop" msgstr "イベントループでエラーが発生しました" -#: src/exec_preload.c:167 src/net_ifs.c:206 src/net_ifs.c:372 -#: src/net_ifs.c:433 src/net_ifs.c:620 src/net_ifs.c:852 src/sudo.c:488 -#: src/sudo_edit.c:398 src/sudo_edit.c:406 +#: src/exec_preload.c:168 src/net_ifs.c:206 src/net_ifs.c:372 src/net_ifs.c:433 +#: src/net_ifs.c:620 src/net_ifs.c:852 src/sudo.c:494 src/sudo_edit.c:398 +#: src/sudo_edit.c:406 #, c-format msgid "internal error, %s overflow" msgstr "内部エラー、 %s がオーバーフローしました" -#: src/exec_ptrace.c:1080 src/exec_ptrace.c:1105 src/exec_ptrace.c:1925 +#: src/exec_ptrace.c:1082 src/exec_ptrace.c:1107 src/exec_ptrace.c:1930 #, c-format msgid "unable to set registers for process %d" msgstr "プロセス %d のレジスターを設定できません" -#: src/exec_ptrace.c:1100 src/exec_ptrace.c:1275 src/exec_ptrace.c:1628 +#: src/exec_ptrace.c:1102 src/exec_ptrace.c:1277 src/exec_ptrace.c:1630 #, c-format msgid "process %d exited unexpectedly" msgstr "プロセス %d が予期せぬ終了をしました" -#: src/exec_ptrace.c:1209 +#: src/exec_ptrace.c:1211 msgid "unable to set seccomp filter" msgstr "seccomp フィルターを設定できません" -#: src/exec_ptrace.c:1406 +#: src/exec_ptrace.c:1408 #, c-format msgid "interpreter argument , expected \"%s\", got \"%s\"" msgstr "インタープリターの引数は、 \"%s\" のはずですが、\"%s\" です" -#: src/exec_ptrace.c:1505 +#: src/exec_ptrace.c:1506 #, c-format msgid "pathname mismatch, expected \"%s\", got \"%s\"" msgstr "パス名が一致しません、 \"%s\" のはずですが、\"%s\" です" -#: src/exec_ptrace.c:1514 src/exec_ptrace.c:1521 src/exec_ptrace.c:1545 -#: src/exec_ptrace.c:1553 src/exec_ptrace.c:1559 src/exec_ptrace.c:1565 +#: src/exec_ptrace.c:1515 src/exec_ptrace.c:1522 src/exec_ptrace.c:1546 +#: src/exec_ptrace.c:1554 src/exec_ptrace.c:1560 src/exec_ptrace.c:1566 #, c-format msgid "%s[%d] mismatch, expected \"%s\", got \"%s\"" msgstr "%s[%d] が一致しません、 \"%s\" のはずですが、\"%s\" です" -#: src/exec_ptrace.c:1632 +#: src/exec_ptrace.c:1634 #, c-format msgid "process %d unexpected status 0x%x" msgstr "プロセス %d が予期せぬ終了ステータス 0x %x を返しました" -#: src/exec_ptrace.c:1723 +#: src/exec_ptrace.c:1727 #, c-format msgid "unable to get event message for process %d" msgstr "プロセス %d のイベントメッセージを取得できません" -#: src/exec_ptrace.c:1730 +#: src/exec_ptrace.c:1734 #, c-format msgid "unable to get registers for process %d" msgstr "プロセス %d のレジスターを取得できません" -#: src/exec_pty.c:84 +#: src/exec_pty.c:87 msgid "unable to allocate pty" msgstr "pty を割り当てられません" -#: src/exec_pty.c:131 src/exec_pty.c:284 src/tgetpass.c:251 +#: src/exec_pty.c:118 src/exec_pty.c:257 src/tgetpass.c:251 msgid "unable to restore terminal settings" msgstr "端末の設定を復元できません" -#: src/exec_pty.c:243 +#: src/exec_pty.c:218 msgid "unable to set handler for SIGCONT" msgstr "SIGCONT のハンドラを設定できません" -#: src/exec_pty.c:293 +#: src/exec_pty.c:267 #, c-format msgid "unable to set handler for SIG%s" msgstr "SIG%s のハンドラを設定できません" -#: src/exec_pty.c:317 +#: src/exec_pty.c:291 #, c-format msgid "unable to restore handler for SIG%s" msgstr "SIG%s のハンドラを復元できません" -#: src/exec_pty.c:345 +#: src/exec_pty.c:319 msgid "unable to restore handler for SIGCONT" msgstr "SIGCONT のハンドラを復元できません" -#: src/exec_pty.c:1353 +#: src/exec_pty.c:1385 msgid "unable to send message to monitor process" msgstr "監視プロセスへメッセージを送ることができません" @@ -562,40 +564,40 @@ msgstr "不明なプラグインタイプ %d が %s で見つかりました" msgid "policy plugin %s does not include a check_policy method" msgstr "ポリシープラグイン %s には check_policy メソッドが含まれていません" -#: src/parse_args.c:214 +#: src/parse_args.c:213 #, c-format msgid "invalid environment variable name: %s" msgstr "無効な環境変数名です: %s" -#: src/parse_args.c:319 +#: src/parse_args.c:318 msgid "the argument to -C must be a number greater than or equal to 3" msgstr "-C の引数は 3 以上の数値でなければいけません" -#: src/parse_args.c:556 +#: src/parse_args.c:555 msgid "you may not specify both the -i and -s options" msgstr "-i と -s オプションを同時に指定することはできません" -#: src/parse_args.c:561 +#: src/parse_args.c:560 msgid "you may not specify both the -i and -E options" msgstr "-i と -E オプションを同時に指定することはできません" -#: src/parse_args.c:571 +#: src/parse_args.c:570 msgid "the -E option is not valid in edit mode" msgstr "-E オプションは編集モードでは無効です" -#: src/parse_args.c:574 +#: src/parse_args.c:573 msgid "you may not specify environment variables in edit mode" msgstr "編集モードでは環境変数を指定できません" -#: src/parse_args.c:584 +#: src/parse_args.c:583 msgid "the -U option may only be used with the -l option" msgstr "-U オプションを使うには -l オプションも必要です" -#: src/parse_args.c:588 +#: src/parse_args.c:587 msgid "the -A and -S options may not be used together" msgstr "-A と -S オプションは同時に指定できません" -#: src/parse_args.c:686 +#: src/parse_args.c:685 msgid "sudoedit is not supported on this platform" msgstr "sudoedit はこのプラットフォームではサポートされていません" @@ -949,151 +951,151 @@ msgstr "プロジェクト\"%s\" への setproject に失敗しました" msgid "warning, resource control assignment failed for project \"%s\"" msgstr "警告、プロジェクト \"%s\" への資源制御割り当てに失敗しました" -#: src/sudo.c:214 +#: src/sudo.c:215 #, c-format msgid "Sudo version %s\n" msgstr "Sudo バージョン %s\n" -#: src/sudo.c:216 +#: src/sudo.c:217 #, c-format msgid "Configure options: %s\n" msgstr "configure オプション: %s\n" -#: src/sudo.c:224 +#: src/sudo.c:225 msgid "fatal error, unable to load plugins" msgstr "致命的エラー、プラグインをロードできません" -#: src/sudo.c:270 +#: src/sudo.c:271 msgid "plugin did not return a command to execute" msgstr "プラグインが実行するべきコマンドを返しませんでした" -#: src/sudo.c:306 +#: src/sudo.c:307 #, c-format msgid "unexpected sudo mode 0x%x" msgstr "予期しない sudo のモード 0x%x です" -#: src/sudo.c:559 +#: src/sudo.c:567 #, c-format msgid "you do not exist in the %s database" msgstr "あなたは %s データベースに存在しません" -#: src/sudo.c:616 +#: src/sudo.c:632 msgid "unable to determine tty" msgstr "tty を特定できません" -#: src/sudo.c:932 +#: src/sudo.c:955 msgid "The \"no new privileges\" flag is set, which prevents sudo from running as root." msgstr "権限変更不可フラグがセットされていて、sudo を root として実行できません。" -#: src/sudo.c:934 +#: src/sudo.c:957 msgid "If sudo is running in a container, you may need to adjust the container configuration to disable the flag." msgstr "sudo をコンテナーで実行しているなら、コンテナーの構成でフラグを無効にする必要があるかもしれません。" -#: src/sudo.c:968 +#: src/sudo.c:991 #, c-format msgid "%s must be owned by uid %d and have the setuid bit set" msgstr "%s は所有者が uid %d である必要があり、かつ setuid が設定されている必要があります" -#: src/sudo.c:971 +#: src/sudo.c:994 #, c-format msgid "effective uid is not %d, is %s on a file system with the 'nosuid' option set or an NFS file system without root privileges?" msgstr "実効 uid が %d ではありません、%s は 'nosuid' が設定されたファイルシステムにあるか、root 権限のないNFSファイルシステムにあるのでは?" -#: src/sudo.c:977 +#: src/sudo.c:1000 #, c-format msgid "effective uid is not %d, is sudo installed setuid root?" msgstr "実効 uid が %d ではありません、sudo は setuid root を設定してインストールされていますか?" -#: src/sudo.c:993 src/tgetpass.c:332 +#: src/sudo.c:1016 src/tgetpass.c:332 msgid "unable to set supplementary group IDs" msgstr "追加のグループIDを設定できません" -#: src/sudo.c:1000 +#: src/sudo.c:1023 #, c-format msgid "unable to set effective gid to runas gid %u" msgstr "実行時のグループID (gid) %u を実効グループIDに設定できません" -#: src/sudo.c:1006 +#: src/sudo.c:1029 #, c-format msgid "unable to set gid to runas gid %u" msgstr "実行時のグループID (gid) %u をグループIDに設定できません" -#: src/sudo.c:1037 +#: src/sudo.c:1060 msgid "argv not set by the security policy" msgstr "セキュリティーポリシーにより argv が設定されていません" -#: src/sudo.c:1041 +#: src/sudo.c:1064 msgid "envp not set by the security policy" msgstr "セキュリティーポリシーにより envp が設定されていません" -#: src/sudo.c:1063 +#: src/sudo.c:1086 #, c-format msgid "unexpected child termination condition: %d" msgstr "予期しない子プロセスの終了コードです: %d" -#: src/sudo.c:1176 +#: src/sudo.c:1198 msgid "unable to initialize policy plugin" msgstr "ポリシープラグインを初期化できません" -#: src/sudo.c:1238 +#: src/sudo.c:1259 #, c-format msgid "policy plugin %s is missing the \"check_policy\" method" msgstr "ポリシープラグイン %s には check_policy メソッドが含まれていません" -#: src/sudo.c:1284 +#: src/sudo.c:1305 #, c-format msgid "policy plugin %s does not support listing privileges" msgstr "ポリシープラグイン %s は権限の一覧表示をサポートしていません" -#: src/sudo.c:1328 +#: src/sudo.c:1349 #, c-format msgid "policy plugin %s does not support the -v option" msgstr "ポリシープラグイン %s は -v オプションをサポートしません" -#: src/sudo.c:1366 +#: src/sudo.c:1387 #, c-format msgid "policy plugin %s does not support the -k/-K options" msgstr "ポリシープラグイン %s は -k/-K オプションをサポートしません" -#: src/sudo.c:1495 +#: src/sudo.c:1516 #, c-format msgid "error initializing I/O plugin %s" msgstr "I/O プラグイン %s を初期化中にエラーが発生しました" -#: src/sudo.c:1498 +#: src/sudo.c:1519 msgid "error initializing I/O plugin" msgstr "I/O プラグインを初期化中にエラーが発生しました" -#: src/sudo.c:1647 +#: src/sudo.c:1668 #, c-format msgid "error initializing audit plugin %s" msgstr "認証プラグイン %s を初期化中にエラーが発生しました" -#: src/sudo.c:1726 +#: src/sudo.c:1747 #, c-format msgid "%s: unable to log error event%s%s" msgstr "%s: ログにエラーイベントを書き込むことができません%s%s" -#: src/sudo.c:1762 +#: src/sudo.c:1783 #, c-format msgid "%s: unable to log accept event%s%s" msgstr "%s: ログに accept イベントを書き込むことができません%s%s" -#: src/sudo.c:1767 src/sudo.c:1805 +#: src/sudo.c:1788 src/sudo.c:1826 msgid "audit plugin error" msgstr "認証プラグインエラー" -#: src/sudo.c:1800 +#: src/sudo.c:1821 #, c-format msgid "%s: unable to log reject event%s%s" msgstr "%s: ログに reject イベントを書き込むことができません%s%s" -#: src/sudo.c:1860 +#: src/sudo.c:1881 #, c-format msgid "error initializing approval plugin %s" msgstr "承認プラグイン %s を初期化中にエラーが発生しました" -#: src/sudo.c:1930 +#: src/sudo.c:1951 msgid "command rejected by approver" msgstr "承認者によりコマンドが拒否されました" @@ -1153,7 +1155,7 @@ msgstr "プラグインエラー: sudoedit 用のファイル一覧がありま msgid "unable to read the clock" msgstr "時刻を読み込むことができません" -#: src/sudo_intercept_common.c:365 +#: src/sudo_intercept_common.c:372 msgid "intercept port not set" msgstr "傍受ポートが設定されていません" @@ -1192,6 +1194,12 @@ msgstr "ユーザーIDを %u に設定できません" msgid "unable to run %s" msgstr "%s を実行できません" +#: src/ttyname.c:139 src/ttyname.c:182 src/ttyname.c:199 src/ttyname.c:284 +#: src/ttyname.c:312 src/ttyname.c:356 +#, c-format +msgid "unable to find terminal name for device %u, %u" +msgstr "デバイス %u, %u に対応する端末名が見つかりません" + #: src/utmp.c:283 msgid "unable to save stdin" msgstr "標準入力を保存できません" @@ -1258,9 +1266,6 @@ msgstr "標準入力を復元できません" #~ msgid "internal error, tried allocate zero bytes" #~ msgstr "内部エラー、0バイトの確保を試みました" -#~ msgid "unable to set terminal to raw mode" -#~ msgstr "端末を raw モードに設定できません" - #~ msgid "unable to open socket" #~ msgstr "ソケットを開くことができません" diff --git a/po/ko.mo b/po/ko.mo index 4d08cd5bd..6021eb785 100644 Binary files a/po/ko.mo and b/po/ko.mo differ diff --git a/po/ko.po b/po/ko.po index bdca1b211..41c6b476c 100644 --- a/po/ko.po +++ b/po/ko.po @@ -5,10 +5,10 @@ # msgid "" msgstr "" -"Project-Id-Version: sudo 1.9.14b1\n" +"Project-Id-Version: sudo 1.9.16b1\n" "Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n" -"POT-Creation-Date: 2023-06-07 13:27-0600\n" -"PO-Revision-Date: 2023-06-09 11:34+0900\n" +"POT-Creation-Date: 2024-06-08 09:06-0600\n" +"PO-Revision-Date: 2024-06-18 18:28+0900\n" "Last-Translator: Seong-ho Cho \n" "Language-Team: Korean \n" "Language: ko\n" @@ -17,7 +17,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Bugs: Report translation errors to the Language-Team address.\n" -"X-Generator: Poedit 3.0.1\n" +"X-Generator: Poedit 3.4.4\n" #: lib/util/aix.c:89 lib/util/aix.c:169 msgid "unable to open userdb" @@ -33,78 +33,80 @@ msgid "unable to restore registry" msgstr "레지스트리를 복원할 수 없습니다" #: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/gidlist.c:76 -#: lib/util/json.c:55 lib/util/json.c:197 lib/util/sudo_conf.c:215 -#: lib/util/sudo_conf.c:301 lib/util/sudo_conf.c:378 lib/util/sudo_conf.c:647 -#: src/conversation.c:78 src/exec_iolog.c:122 src/exec_iolog.c:133 -#: src/exec_iolog.c:210 src/exec_monitor.c:171 src/exec_monitor.c:418 -#: src/exec_monitor.c:424 src/exec_monitor.c:432 src/exec_monitor.c:440 -#: src/exec_monitor.c:447 src/exec_monitor.c:454 src/exec_monitor.c:461 -#: src/exec_monitor.c:468 src/exec_monitor.c:475 src/exec_monitor.c:482 -#: src/exec_monitor.c:489 src/exec_nopty.c:231 src/exec_nopty.c:240 +#: lib/util/json.c:55 lib/util/json.c:197 lib/util/sudo_conf.c:218 +#: lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381 lib/util/sudo_conf.c:672 +#: src/conversation.c:81 src/exec_iolog.c:122 src/exec_iolog.c:133 +#: src/exec_iolog.c:210 src/exec_monitor.c:173 src/exec_monitor.c:430 +#: src/exec_monitor.c:436 src/exec_monitor.c:444 src/exec_monitor.c:452 +#: src/exec_monitor.c:459 src/exec_monitor.c:466 src/exec_monitor.c:473 +#: src/exec_monitor.c:480 src/exec_monitor.c:487 src/exec_monitor.c:494 +#: src/exec_monitor.c:501 src/exec_nopty.c:231 src/exec_nopty.c:240 #: src/exec_nopty.c:247 src/exec_nopty.c:254 src/exec_nopty.c:261 #: src/exec_nopty.c:268 src/exec_nopty.c:275 src/exec_nopty.c:282 #: src/exec_nopty.c:289 src/exec_nopty.c:296 src/exec_nopty.c:303 #: src/exec_nopty.c:310 src/exec_nopty.c:318 src/exec_nopty.c:326 -#: src/exec_nopty.c:744 src/exec_preload.c:343 src/exec_ptrace.c:475 -#: src/exec_ptrace.c:768 src/exec_ptrace.c:983 src/exec_ptrace.c:1096 -#: src/exec_ptrace.c:1271 src/exec_ptrace.c:1624 src/exec_ptrace.c:1651 -#: src/exec_ptrace.c:1841 src/exec_pty.c:581 src/exec_pty.c:765 -#: src/exec_pty.c:963 src/exec_pty.c:972 src/exec_pty.c:979 src/exec_pty.c:986 -#: src/exec_pty.c:993 src/exec_pty.c:1000 src/exec_pty.c:1007 -#: src/exec_pty.c:1014 src/exec_pty.c:1021 src/exec_pty.c:1028 -#: src/exec_pty.c:1035 src/exec_pty.c:1042 src/exec_pty.c:1050 -#: src/load_plugins.c:100 src/load_plugins.c:125 src/load_plugins.c:161 -#: src/load_plugins.c:394 src/load_plugins.c:400 src/parse_args.c:172 -#: src/parse_args.c:193 src/parse_args.c:269 src/parse_args.c:625 -#: src/parse_args.c:647 src/parse_args.c:672 src/preserve_fds.c:46 -#: src/preserve_fds.c:131 src/selinux.c:89 src/selinux.c:362 src/selinux.c:472 -#: src/selinux.c:489 src/selinux.c:496 src/sesh.c:206 src/sesh.c:240 -#: src/sesh.c:246 src/sesh.c:253 src/sesh.c:259 src/sesh.c:470 src/sudo.c:644 -#: src/sudo.c:709 src/sudo.c:719 src/sudo.c:746 src/sudo.c:769 src/sudo.c:778 -#: src/sudo.c:787 src/sudo.c:805 src/sudo.c:846 src/sudo.c:855 src/sudo.c:865 -#: src/sudo.c:898 src/sudo.c:1127 src/sudo.c:1148 src/sudo.c:1441 -#: src/sudo.c:1610 src/sudo.c:1837 src/sudo.c:2171 src/sudo_edit.c:89 -#: src/sudo_edit.c:149 src/sudo_edit.c:430 src/sudo_edit.c:439 -#: src/sudo_edit.c:540 src/sudo_edit.c:547 src/sudo_edit.c:692 -#: src/sudo_edit.c:712 src/sudo_intercept_common.c:115 -#: src/sudo_intercept_common.c:340 +#: src/exec_nopty.c:748 src/exec_preload.c:347 src/exec_ptrace.c:475 +#: src/exec_ptrace.c:768 src/exec_ptrace.c:985 src/exec_ptrace.c:1098 +#: src/exec_ptrace.c:1273 src/exec_ptrace.c:1626 src/exec_ptrace.c:1653 +#: src/exec_ptrace.c:1845 src/exec_pty.c:599 src/exec_pty.c:783 +#: src/exec_pty.c:990 src/exec_pty.c:999 src/exec_pty.c:1006 +#: src/exec_pty.c:1013 src/exec_pty.c:1020 src/exec_pty.c:1027 +#: src/exec_pty.c:1034 src/exec_pty.c:1041 src/exec_pty.c:1048 +#: src/exec_pty.c:1055 src/exec_pty.c:1062 src/exec_pty.c:1069 +#: src/exec_pty.c:1077 src/load_plugins.c:100 src/load_plugins.c:125 +#: src/load_plugins.c:161 src/load_plugins.c:394 src/load_plugins.c:400 +#: src/parse_args.c:171 src/parse_args.c:192 src/parse_args.c:268 +#: src/parse_args.c:624 src/parse_args.c:646 src/parse_args.c:671 +#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89 +#: src/selinux.c:362 src/selinux.c:472 src/selinux.c:489 src/selinux.c:496 +#: src/sesh.c:206 src/sesh.c:240 src/sesh.c:246 src/sesh.c:253 src/sesh.c:259 +#: src/sesh.c:470 src/sudo.c:581 src/sudo.c:607 src/sudo.c:660 src/sudo.c:726 +#: src/sudo.c:737 src/sudo.c:764 src/sudo.c:787 src/sudo.c:796 src/sudo.c:805 +#: src/sudo.c:818 src/sudo.c:827 src/sudo.c:868 src/sudo.c:878 src/sudo.c:888 +#: src/sudo.c:921 src/sudo.c:923 src/sudo.c:1150 src/sudo.c:1171 +#: src/sudo.c:1462 src/sudo.c:1631 src/sudo.c:1858 src/sudo.c:2191 +#: src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:430 +#: src/sudo_edit.c:439 src/sudo_edit.c:540 src/sudo_edit.c:547 +#: src/sudo_edit.c:692 src/sudo_edit.c:712 src/sudo_intercept_common.c:122 +#: src/sudo_intercept_common.c:347 #, c-format msgid "%s: %s" msgstr "%s: %s" #: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/json.c:56 -#: lib/util/json.c:198 lib/util/regex.c:173 lib/util/sudo_conf.c:216 -#: lib/util/sudo_conf.c:301 lib/util/sudo_conf.c:378 lib/util/sudo_conf.c:647 -#: src/conversation.c:79 src/exec_intercept.c:111 src/exec_intercept.c:350 -#: src/exec_intercept.c:525 src/exec_intercept.c:589 src/exec_intercept.c:713 -#: src/exec_intercept.c:837 src/exec_iolog.c:122 src/exec_iolog.c:133 -#: src/exec_iolog.c:210 src/exec_monitor.c:418 src/exec_monitor.c:424 -#: src/exec_monitor.c:432 src/exec_monitor.c:440 src/exec_monitor.c:447 -#: src/exec_monitor.c:454 src/exec_monitor.c:461 src/exec_monitor.c:468 -#: src/exec_monitor.c:475 src/exec_monitor.c:482 src/exec_monitor.c:489 +#: lib/util/json.c:198 lib/util/regex.c:173 lib/util/sudo_conf.c:219 +#: lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381 lib/util/sudo_conf.c:672 +#: src/conversation.c:82 src/exec_intercept.c:112 src/exec_intercept.c:351 +#: src/exec_intercept.c:527 src/exec_intercept.c:591 src/exec_intercept.c:715 +#: src/exec_intercept.c:839 src/exec_iolog.c:122 src/exec_iolog.c:133 +#: src/exec_iolog.c:210 src/exec_monitor.c:430 src/exec_monitor.c:436 +#: src/exec_monitor.c:444 src/exec_monitor.c:452 src/exec_monitor.c:459 +#: src/exec_monitor.c:466 src/exec_monitor.c:473 src/exec_monitor.c:480 +#: src/exec_monitor.c:487 src/exec_monitor.c:494 src/exec_monitor.c:501 #: src/exec_nopty.c:231 src/exec_nopty.c:240 src/exec_nopty.c:247 #: src/exec_nopty.c:254 src/exec_nopty.c:261 src/exec_nopty.c:268 #: src/exec_nopty.c:275 src/exec_nopty.c:282 src/exec_nopty.c:289 #: src/exec_nopty.c:296 src/exec_nopty.c:303 src/exec_nopty.c:310 -#: src/exec_nopty.c:318 src/exec_nopty.c:326 src/exec_preload.c:343 -#: src/exec_ptrace.c:475 src/exec_ptrace.c:768 src/exec_ptrace.c:983 -#: src/exec_ptrace.c:1651 src/exec_ptrace.c:1842 src/exec_pty.c:581 -#: src/exec_pty.c:963 src/exec_pty.c:972 src/exec_pty.c:979 src/exec_pty.c:986 -#: src/exec_pty.c:993 src/exec_pty.c:1000 src/exec_pty.c:1007 -#: src/exec_pty.c:1014 src/exec_pty.c:1021 src/exec_pty.c:1028 -#: src/exec_pty.c:1035 src/exec_pty.c:1042 src/exec_pty.c:1050 -#: src/load_plugins.c:100 src/load_plugins.c:125 src/load_plugins.c:161 -#: src/load_plugins.c:394 src/load_plugins.c:400 src/parse_args.c:172 -#: src/parse_args.c:194 src/parse_args.c:269 src/parse_args.c:625 -#: src/parse_args.c:647 src/parse_args.c:672 src/preserve_fds.c:46 -#: src/preserve_fds.c:131 src/selinux.c:89 src/selinux.c:362 src/selinux.c:472 -#: src/selinux.c:489 src/selinux.c:496 src/sesh.c:206 src/sesh.c:471 -#: src/sudo.c:228 src/sudo.c:644 src/sudo.c:898 src/sudo.c:1127 -#: src/sudo.c:1148 src/sudo.c:1441 src/sudo.c:1610 src/sudo.c:1837 -#: src/sudo.c:2171 src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:430 +#: src/exec_nopty.c:318 src/exec_nopty.c:326 src/exec_preload.c:347 +#: src/exec_ptrace.c:475 src/exec_ptrace.c:768 src/exec_ptrace.c:985 +#: src/exec_ptrace.c:1653 src/exec_ptrace.c:1846 src/exec_pty.c:599 +#: src/exec_pty.c:990 src/exec_pty.c:999 src/exec_pty.c:1006 +#: src/exec_pty.c:1013 src/exec_pty.c:1020 src/exec_pty.c:1027 +#: src/exec_pty.c:1034 src/exec_pty.c:1041 src/exec_pty.c:1048 +#: src/exec_pty.c:1055 src/exec_pty.c:1062 src/exec_pty.c:1069 +#: src/exec_pty.c:1077 src/load_plugins.c:100 src/load_plugins.c:125 +#: src/load_plugins.c:161 src/load_plugins.c:394 src/load_plugins.c:400 +#: src/parse_args.c:171 src/parse_args.c:193 src/parse_args.c:268 +#: src/parse_args.c:624 src/parse_args.c:646 src/parse_args.c:671 +#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89 +#: src/selinux.c:362 src/selinux.c:472 src/selinux.c:489 src/selinux.c:496 +#: src/sesh.c:206 src/sesh.c:471 src/sudo.c:229 src/sudo.c:581 src/sudo.c:607 +#: src/sudo.c:660 src/sudo.c:819 src/sudo.c:921 src/sudo.c:923 src/sudo.c:1150 +#: src/sudo.c:1171 src/sudo.c:1462 src/sudo.c:1631 src/sudo.c:1858 +#: src/sudo.c:2191 src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:430 #: src/sudo_edit.c:439 src/sudo_edit.c:540 src/sudo_edit.c:547 -#: src/sudo_edit.c:692 src/sudo_edit.c:712 src/sudo_intercept_common.c:115 -#: src/sudo_intercept_common.c:340 +#: src/sudo_edit.c:692 src/sudo_edit.c:712 src/sudo_intercept_common.c:122 +#: src/sudo_intercept_common.c:347 msgid "unable to allocate memory" msgstr "메모리를 할당할 수 없습니다" @@ -118,9 +120,9 @@ msgstr "%.*s의 상태를 가져올 수 없습니다" msgid "%.*s exists but is not a directory (0%o)" msgstr "%.*s(이)가 있지만 디렉터리는 아닙니다 (0%o)" -#: lib/util/mkdir_parents.c:103 lib/util/sudo_conf.c:664 -#: lib/util/sudo_conf.c:683 lib/util/sudo_conf.c:710 src/selinux.c:235 -#: src/selinux.c:265 src/sudo.c:373 src/sudo_edit.c:495 src/sudo_edit.c:559 +#: lib/util/mkdir_parents.c:103 lib/util/sudo_conf.c:689 +#: lib/util/sudo_conf.c:708 lib/util/sudo_conf.c:735 src/selinux.c:235 +#: src/selinux.c:265 src/sudo.c:375 src/sudo_edit.c:495 src/sudo_edit.c:559 #, c-format msgid "unable to open %s" msgstr "%s을(를) 열 수 없습니다" @@ -143,55 +145,55 @@ msgstr "정규 표현식이 너무 깁니다" msgid "Unknown signal" msgstr "알 수 없는 시그널" -#: lib/util/strtoid.c:84 lib/util/strtomode.c:52 lib/util/strtonum.c:148 -#: lib/util/strtonum.c:187 src/sesh.c:240 src/sesh.c:253 +#: lib/util/strtoid.c:84 lib/util/strtomode.c:52 lib/util/strtonum.c:147 +#: lib/util/strtonum.c:186 src/sesh.c:240 src/sesh.c:253 msgid "invalid value" msgstr "부적절한 값" -#: lib/util/strtomode.c:58 lib/util/strtonum.c:160 +#: lib/util/strtomode.c:58 lib/util/strtonum.c:159 msgid "value too large" msgstr "값이 너무 큽니다" -#: lib/util/strtomode.c:58 lib/util/strtonum.c:154 +#: lib/util/strtomode.c:58 lib/util/strtonum.c:153 msgid "value too small" msgstr "값이 너무 작습니다" -#: lib/util/sudo_conf.c:234 +#: lib/util/sudo_conf.c:237 #, c-format msgid "invalid Path value \"%s\" in %s, line %u" msgstr "%2$s의 %3$u번째 줄에 부적절한 경로 값 \"%1$s\"" -#: lib/util/sudo_conf.c:400 lib/util/sudo_conf.c:453 +#: lib/util/sudo_conf.c:403 lib/util/sudo_conf.c:456 #, c-format msgid "invalid value for %s \"%s\" in %s, line %u" msgstr "%3$s의 %4$u번째 줄에 %1$s의 부적절한 값 \"%2$s\"" -#: lib/util/sudo_conf.c:421 +#: lib/util/sudo_conf.c:424 #, c-format msgid "unsupported group source \"%s\" in %s, line %u" msgstr "%2$s의 %3$u번째 줄에 지원하지 않는 그룹 원본 \"%1$s\"" -#: lib/util/sudo_conf.c:437 +#: lib/util/sudo_conf.c:440 #, c-format msgid "invalid max groups \"%s\" in %s, line %u" msgstr "%2$s의 %3$u번째 줄에 부적절한 최대 그룹 값 \"%1$s\"" -#: lib/util/sudo_conf.c:686 +#: lib/util/sudo_conf.c:711 #, c-format msgid "%s is not a regular file" msgstr "%s은(는) 일반 파일이 아닙니다" -#: lib/util/sudo_conf.c:689 src/copy_file.c:164 +#: lib/util/sudo_conf.c:714 src/copy_file.c:164 #, c-format msgid "%s is owned by uid %u, should be %u" msgstr "%s은(는) %u uid에서 소유하고 있지만 %u uid가 소유해야 합니다" -#: lib/util/sudo_conf.c:693 +#: lib/util/sudo_conf.c:718 #, c-format msgid "%s is world writable" msgstr "%s에 모두가 기록할 수 있습니다" -#: lib/util/sudo_conf.c:696 +#: lib/util/sudo_conf.c:721 #, c-format msgid "%s is group writable" msgstr "%s에 그룹 구성원이 기록할 수 있습니다" @@ -285,18 +287,18 @@ msgstr "%s 디렉터리로 바꿀 수 없습니다" msgid "starting from %s" msgstr "%s에서 시작 중" -#: src/exec.c:278 src/exec.c:351 src/exec_monitor.c:552 src/exec_monitor.c:554 -#: src/exec_pty.c:1122 src/exec_pty.c:1124 src/signal.c:144 src/signal.c:151 +#: src/exec.c:278 src/exec.c:351 src/exec_monitor.c:564 src/exec_monitor.c:566 +#: src/exec_pty.c:1148 src/exec_pty.c:1150 src/signal.c:144 src/signal.c:151 #: src/signal.c:165 src/suspend_parent.c:143 #, c-format msgid "unable to set handler for signal %d" msgstr "%d 시그널의 핸들러를 설정할 수 없습니다" -#: src/exec.c:424 +#: src/exec.c:447 msgid "intercept mode is not supported with SELinux RBAC on this system" msgstr "이 시스템의 SELinux RBAC에서는 가로채기 모드를 지원하지 않습니다" -#: src/exec.c:429 +#: src/exec.c:452 msgid "unable to log sub-commands with SELinux RBAC on this system" msgstr "이 시스템의 SELinux RBAC에서는 하위 명령을 기록할 수 없습니다" @@ -304,63 +306,63 @@ msgstr "이 시스템의 SELinux RBAC에서는 하위 명령을 기록할 수 msgid "unable to remove PRIV_PROC_EXEC from PRIV_LIMIT" msgstr "PRIV_LIMIT에서 PRIV_PROC_EXEC를 제거할 수 없습니다" -#: src/exec_intercept.c:70 src/exec_iolog.c:163 src/exec_iolog.c:173 +#: src/exec_intercept.c:71 src/exec_iolog.c:163 src/exec_iolog.c:173 #: src/exec_iolog.c:218 src/exec_iolog.c:225 src/exec_iolog.c:252 -#: src/exec_monitor.c:426 src/exec_monitor.c:434 src/exec_monitor.c:442 -#: src/exec_monitor.c:449 src/exec_monitor.c:456 src/exec_monitor.c:463 -#: src/exec_monitor.c:470 src/exec_monitor.c:477 src/exec_monitor.c:484 -#: src/exec_monitor.c:491 src/exec_nopty.c:233 src/exec_nopty.c:242 +#: src/exec_monitor.c:438 src/exec_monitor.c:446 src/exec_monitor.c:454 +#: src/exec_monitor.c:461 src/exec_monitor.c:468 src/exec_monitor.c:475 +#: src/exec_monitor.c:482 src/exec_monitor.c:489 src/exec_monitor.c:496 +#: src/exec_monitor.c:503 src/exec_nopty.c:233 src/exec_nopty.c:242 #: src/exec_nopty.c:249 src/exec_nopty.c:256 src/exec_nopty.c:263 #: src/exec_nopty.c:270 src/exec_nopty.c:277 src/exec_nopty.c:284 #: src/exec_nopty.c:291 src/exec_nopty.c:298 src/exec_nopty.c:305 #: src/exec_nopty.c:312 src/exec_nopty.c:320 src/exec_nopty.c:328 -#: src/exec_nopty.c:387 src/exec_nopty.c:457 src/exec_pty.c:432 -#: src/exec_pty.c:537 src/exec_pty.c:587 src/exec_pty.c:965 src/exec_pty.c:974 -#: src/exec_pty.c:981 src/exec_pty.c:988 src/exec_pty.c:995 -#: src/exec_pty.c:1002 src/exec_pty.c:1009 src/exec_pty.c:1016 -#: src/exec_pty.c:1023 src/exec_pty.c:1030 src/exec_pty.c:1037 -#: src/exec_pty.c:1044 +#: src/exec_nopty.c:387 src/exec_nopty.c:457 src/exec_pty.c:441 +#: src/exec_pty.c:555 src/exec_pty.c:605 src/exec_pty.c:992 src/exec_pty.c:1001 +#: src/exec_pty.c:1008 src/exec_pty.c:1015 src/exec_pty.c:1022 +#: src/exec_pty.c:1029 src/exec_pty.c:1036 src/exec_pty.c:1043 +#: src/exec_pty.c:1050 src/exec_pty.c:1057 src/exec_pty.c:1064 +#: src/exec_pty.c:1071 msgid "unable to add event to queue" msgstr "큐에 이벤트를 추가할 수 없습니다" -#: src/exec_intercept.c:323 src/sudo.c:1033 +#: src/exec_intercept.c:324 src/sudo.c:1056 msgid "command not set by the security policy" msgstr "보안 정책에 따라 명령을 설정하지 않았습니다" -#: src/exec_intercept.c:401 src/exec_intercept.c:441 src/sudo.c:1253 -#: src/sudo.c:1298 src/sudo.c:1342 +#: src/exec_intercept.c:403 src/exec_intercept.c:443 src/sudo.c:1274 +#: src/sudo.c:1319 src/sudo.c:1363 msgid "command rejected by policy" msgstr "정책을 통해 명령을 거부 했습니다" -#: src/exec_intercept.c:512 src/sudo.c:1940 +#: src/exec_intercept.c:514 src/sudo.c:1961 msgid "approval plugin error" msgstr "승인 플러그인 오류" -#: src/exec_intercept.c:537 src/sudo.c:1258 src/sudo.c:1303 src/sudo.c:1347 -#: src/sudo.c:1421 +#: src/exec_intercept.c:539 src/sudo.c:1279 src/sudo.c:1324 src/sudo.c:1368 +#: src/sudo.c:1442 msgid "policy plugin error" msgstr "정책 플러그인 오류" -#: src/exec_intercept.c:566 +#: src/exec_intercept.c:568 msgid "invalid PolicyCheckRequest" msgstr "부적절한 PolicyCheckRequest" -#: src/exec_intercept.c:709 +#: src/exec_intercept.c:711 #, c-format msgid "client request too large: %zu" msgstr "클라이언트 요청이 너무 깁니다: %zu" -#: src/exec_intercept.c:751 +#: src/exec_intercept.c:753 #, c-format msgid "unable to unpack %s size %zu" msgstr "%2$zu 크기의 %1$s을(를) 언팩할 수 없습니다" -#: src/exec_intercept.c:799 +#: src/exec_intercept.c:801 #, c-format msgid "unexpected type_case value %d in %s from %s" msgstr "%3$s의 %2$s에서 예기치 못한 type_case 값 %1$d번" -#: src/exec_intercept.c:825 +#: src/exec_intercept.c:827 #, c-format msgid "server message too large: %zu" msgstr "서버 메시지 길이가 너무 깁니다: %zu" @@ -383,136 +385,136 @@ msgstr "오류 로깅 대기" msgid "error changing window size" msgstr "윈도우 크기 변경 오류" -#: src/exec_monitor.c:328 +#: src/exec_monitor.c:330 msgid "error reading from socketpair" msgstr "소켓쌍 읽기 오류" -#: src/exec_monitor.c:340 +#: src/exec_monitor.c:342 #, c-format msgid "unexpected reply type on backchannel: %d" msgstr "백 채널에 잘못된 응답 형식: %d" -#: src/exec_monitor.c:566 +#: src/exec_monitor.c:578 msgid "unable to set controlling tty" msgstr "처리 tty를 설정할 수 없습니다" -#: src/exec_monitor.c:574 src/exec_nopty.c:504 src/exec_nopty.c:514 -#: src/exec_nopty.c:524 src/exec_nopty.c:560 src/exec_pty.c:1195 -#: src/exec_pty.c:1222 src/exec_pty.c:1242 src/exec_pty.c:1262 -#: src/tgetpass.c:306 -msgid "unable to create pipe" -msgstr "파이프를 만들 수 없습니다" +#: src/exec_monitor.c:590 src/exec_nopty.c:572 src/exec_pty.c:1126 +#: src/exec_pty.c:1135 +msgid "unable to create sockets" +msgstr "소켓을 만들 수 없습니다" # parent가 정확히 무슨 의미인지 알 수 없음 -#: src/exec_monitor.c:584 +#: src/exec_monitor.c:599 msgid "unable to receive message from parent" msgstr "상위로부터 메시지를 받을 수 없습니다" -#: src/exec_monitor.c:600 src/exec_nopty.c:603 src/exec_pty.c:1303 +#: src/exec_monitor.c:614 src/exec_nopty.c:606 src/exec_pty.c:1336 #: src/sudo_edit.c:361 src/tgetpass.c:310 msgid "unable to fork" msgstr "포킹할 수 없습니다" -#: src/exec_monitor.c:604 src/exec_monitor.c:700 src/exec_nopty.c:708 +#: src/exec_monitor.c:618 src/exec_monitor.c:720 src/exec_nopty.c:712 msgid "unable to restore tty label" msgstr "tty 레이블을 복원할 수 없습니다" -#: src/exec_monitor.c:615 src/sesh.c:217 src/sudo.c:1204 +#: src/exec_monitor.c:629 src/exec_monitor.c:678 src/sesh.c:217 src/sudo.c:1225 #, c-format msgid "unable to execute %s" msgstr "%s을(를) 실행할 수 없습니다" -#: src/exec_nopty.c:554 src/exec_pty.c:1131 +#: src/exec_nopty.c:507 src/exec_nopty.c:517 src/exec_nopty.c:527 +#: src/exec_nopty.c:563 src/exec_pty.c:1224 src/exec_pty.c:1251 +#: src/exec_pty.c:1274 src/exec_pty.c:1292 src/tgetpass.c:306 +msgid "unable to create pipe" +msgstr "파이프를 만들 수 없습니다" + +#: src/exec_nopty.c:557 src/exec_pty.c:1157 msgid "policy plugin failed session initialization" msgstr "정책 플러그인에서 세션 초기화에 실패했습니다" -#: src/exec_nopty.c:569 src/exec_pty.c:1100 src/exec_pty.c:1109 -msgid "unable to create sockets" -msgstr "소켓을 만들 수 없습니다" - -#: src/exec_nopty.c:696 src/exec_pty.c:1406 +#: src/exec_nopty.c:700 src/exec_pty.c:1437 msgid "error in event loop" msgstr "이벤트 루프에 오류" -#: src/exec_preload.c:167 src/net_ifs.c:206 src/net_ifs.c:372 -#: src/net_ifs.c:433 src/net_ifs.c:620 src/net_ifs.c:852 src/sudo.c:488 -#: src/sudo_edit.c:398 src/sudo_edit.c:406 +#: src/exec_preload.c:168 src/net_ifs.c:206 src/net_ifs.c:372 src/net_ifs.c:433 +#: src/net_ifs.c:620 src/net_ifs.c:852 src/sudo.c:494 src/sudo_edit.c:398 +#: src/sudo_edit.c:406 #, c-format msgid "internal error, %s overflow" msgstr "내부 오류, %s 오버플로우" -#: src/exec_ptrace.c:1080 src/exec_ptrace.c:1105 src/exec_ptrace.c:1925 +#: src/exec_ptrace.c:1082 src/exec_ptrace.c:1107 src/exec_ptrace.c:1930 #, c-format msgid "unable to set registers for process %d" msgstr "프로세스 %d번의 레지스터를 설정할 수 없습니다" -#: src/exec_ptrace.c:1100 src/exec_ptrace.c:1275 src/exec_ptrace.c:1628 +#: src/exec_ptrace.c:1102 src/exec_ptrace.c:1277 src/exec_ptrace.c:1630 #, c-format msgid "process %d exited unexpectedly" msgstr "프로세스 %d번이 갑자기 끝났습니다" -#: src/exec_ptrace.c:1209 +#: src/exec_ptrace.c:1211 msgid "unable to set seccomp filter" msgstr "seccomp 필터를 설정할 수 없습니다" -#: src/exec_ptrace.c:1406 +#: src/exec_ptrace.c:1408 #, c-format msgid "interpreter argument , expected \"%s\", got \"%s\"" msgstr "해석기 인자에서 \"%s\"이(가) 필요하지만 \"%s\"을(를) 지정했습니다" -#: src/exec_ptrace.c:1505 +#: src/exec_ptrace.c:1506 #, c-format msgid "pathname mismatch, expected \"%s\", got \"%s\"" msgstr "경로 이름이 일치하지 않습니다. \"%s\"을(를) 예상했지만, \"%s\"이(가) 나왔습니다" -#: src/exec_ptrace.c:1514 src/exec_ptrace.c:1521 src/exec_ptrace.c:1545 -#: src/exec_ptrace.c:1553 src/exec_ptrace.c:1559 src/exec_ptrace.c:1565 +#: src/exec_ptrace.c:1515 src/exec_ptrace.c:1522 src/exec_ptrace.c:1546 +#: src/exec_ptrace.c:1554 src/exec_ptrace.c:1560 src/exec_ptrace.c:1566 #, c-format msgid "%s[%d] mismatch, expected \"%s\", got \"%s\"" msgstr "%s[%d]이(가) 일치하지 않습니다. \"%s\"을(를) 예상했지만, \"%s\"이(가) 나왔습니다" -#: src/exec_ptrace.c:1632 +#: src/exec_ptrace.c:1634 #, c-format msgid "process %d unexpected status 0x%x" msgstr "프로세스 %d번이 갑자기 0x%x 상태를 나타냈습니다" -#: src/exec_ptrace.c:1723 +#: src/exec_ptrace.c:1727 #, c-format msgid "unable to get event message for process %d" msgstr "프로세스 %d번의 이벤트 메시지를 가져올 수 없습니다" -#: src/exec_ptrace.c:1730 +#: src/exec_ptrace.c:1734 #, c-format msgid "unable to get registers for process %d" msgstr "프로세스 %d번의 레지스터를 가져올 수 없습니다" -#: src/exec_pty.c:84 +#: src/exec_pty.c:87 msgid "unable to allocate pty" msgstr "pty를 할당할 수 없습니다" -#: src/exec_pty.c:131 src/exec_pty.c:284 src/tgetpass.c:251 +#: src/exec_pty.c:118 src/exec_pty.c:257 src/tgetpass.c:251 msgid "unable to restore terminal settings" msgstr "터미널 설정을 복원할 수 없습니다" -#: src/exec_pty.c:243 +#: src/exec_pty.c:218 msgid "unable to set handler for SIGCONT" msgstr "SIGCONT 시그널의 핸들러를 설정할 수 없습니다" -#: src/exec_pty.c:293 +#: src/exec_pty.c:267 #, c-format msgid "unable to set handler for SIG%s" msgstr "SIG%s 시그널의 핸들러를 설정할 수 없습니다" -#: src/exec_pty.c:317 +#: src/exec_pty.c:291 #, c-format msgid "unable to restore handler for SIG%s" msgstr "SIG%s 시그널의 핸들러를 복원할 수 없습니다" -#: src/exec_pty.c:345 +#: src/exec_pty.c:319 msgid "unable to restore handler for SIGCONT" msgstr "SIGCONT 시그널의 핸들러를 복원할 수 없습니다" -#: src/exec_pty.c:1353 +#: src/exec_pty.c:1385 msgid "unable to send message to monitor process" msgstr "감사 프로세스에 메시지를 보낼 수 없습니다" @@ -561,40 +563,40 @@ msgstr "%2$s에 알 수 없는 정책 유형 %1$d이(가) 있습니다" msgid "policy plugin %s does not include a check_policy method" msgstr "%s 정책 플러그인에 check_policy 메서드가 없습니다" -#: src/parse_args.c:214 +#: src/parse_args.c:213 #, c-format msgid "invalid environment variable name: %s" msgstr "부적절한 환경 변수 이름: %s" -#: src/parse_args.c:319 +#: src/parse_args.c:318 msgid "the argument to -C must be a number greater than or equal to 3" msgstr "-C의 인자 값은 3보다 크거나 같아야 합니다" -#: src/parse_args.c:556 +#: src/parse_args.c:555 msgid "you may not specify both the -i and -s options" msgstr "-i 옵션과 -s 옵션을 함께 지정할 수 없습니다" -#: src/parse_args.c:561 +#: src/parse_args.c:560 msgid "you may not specify both the -i and -E options" msgstr "-i 옵션과 -E 옵션을 함께 지정할 수 없습니다" -#: src/parse_args.c:571 +#: src/parse_args.c:570 msgid "the -E option is not valid in edit mode" msgstr "-E 옵션은 편집 모드에서 유효하지 않습니다" -#: src/parse_args.c:574 +#: src/parse_args.c:573 msgid "you may not specify environment variables in edit mode" msgstr "편집 모드에서 환경 변수를 지정할 수 없습니다" -#: src/parse_args.c:584 +#: src/parse_args.c:583 msgid "the -U option may only be used with the -l option" msgstr "-U 옵션에는 -l 옵션만 함께 쓸 수 있습니다" -#: src/parse_args.c:588 +#: src/parse_args.c:587 msgid "the -A and -S options may not be used together" msgstr "-A 옵션과 -S 옵션을 함께 쓸 수 없습니다" -#: src/parse_args.c:686 +#: src/parse_args.c:685 msgid "sudoedit is not supported on this platform" msgstr "이 플랫폼에서 sudoedit를 지원하지 않습니다" @@ -948,151 +950,151 @@ msgstr "\"%s\" 프로젝트에서 setproject에 실패했습니다" msgid "warning, resource control assignment failed for project \"%s\"" msgstr "경고! \"%s\" 프로젝트에 자원 처리 할당에 실패했습니다" -#: src/sudo.c:214 +#: src/sudo.c:215 #, c-format msgid "Sudo version %s\n" msgstr "sudo 버전 %s\n" -#: src/sudo.c:216 +#: src/sudo.c:217 #, c-format msgid "Configure options: %s\n" msgstr "설정 옵션: %s\n" -#: src/sudo.c:224 +#: src/sudo.c:225 msgid "fatal error, unable to load plugins" msgstr "치명적인 오류. 플러그인을 불러올 수 없습니다" -#: src/sudo.c:270 +#: src/sudo.c:271 msgid "plugin did not return a command to execute" msgstr "플러그인에서 실행할 명령을 반환하지 않았습니다" -#: src/sudo.c:306 +#: src/sudo.c:307 #, c-format msgid "unexpected sudo mode 0x%x" msgstr "예상치 못한 sudo 모드 0x%x" -#: src/sudo.c:559 +#: src/sudo.c:567 #, c-format msgid "you do not exist in the %s database" msgstr "%s 데이터베이스에 없는 사용자입니다" -#: src/sudo.c:616 +#: src/sudo.c:632 msgid "unable to determine tty" msgstr "tty를 지정할 수 없습니다" -#: src/sudo.c:932 +#: src/sudo.c:955 msgid "The \"no new privileges\" flag is set, which prevents sudo from running as root." msgstr "sudo를 루트 권한으로 실행하지 못하게 하는 \"no new privileges\" 플래그를 설정했습니다." -#: src/sudo.c:934 +#: src/sudo.c:957 msgid "If sudo is running in a container, you may need to adjust the container configuration to disable the flag." msgstr "컨테이너에서 sudo를 실행할 때, 플래그를 끄는 컨테이너 설정이 필요할 수 있습니다." -#: src/sudo.c:968 +#: src/sudo.c:991 #, c-format msgid "%s must be owned by uid %d and have the setuid bit set" msgstr "%s은(는) %d uid를 소유해야 하며 setuid 비트를 설정해야 합니다" -#: src/sudo.c:971 +#: src/sudo.c:994 #, c-format msgid "effective uid is not %d, is %s on a file system with the 'nosuid' option set or an NFS file system without root privileges?" msgstr "%d은(는) 유효한 uid가 아닙니다. %s은(는) 'nosuid' 옵션을 설정한 파일 시스템이거나 루트 권한이 없는 NFS 파일 시스템입니까?" -#: src/sudo.c:977 +#: src/sudo.c:1000 #, c-format msgid "effective uid is not %d, is sudo installed setuid root?" msgstr "%d은(는) 유효한 uid가 아닙니다. sudo에 setuid root를 설치했습니까?" -#: src/sudo.c:993 src/tgetpass.c:332 +#: src/sudo.c:1016 src/tgetpass.c:332 msgid "unable to set supplementary group IDs" msgstr "추가 그룹 ID를 설정할 수 없습니다" -#: src/sudo.c:1000 +#: src/sudo.c:1023 #, c-format msgid "unable to set effective gid to runas gid %u" msgstr "유효한 gid를 %u 실행 gid로 설정할 수 없습니다" -#: src/sudo.c:1006 +#: src/sudo.c:1029 #, c-format msgid "unable to set gid to runas gid %u" msgstr "gid를 실행 gid %u(으)로 설정할 수 없습니다" -#: src/sudo.c:1037 +#: src/sudo.c:1060 msgid "argv not set by the security policy" msgstr "보안 정책에 따라 argv를 설정하지 않았습니다" -#: src/sudo.c:1041 +#: src/sudo.c:1064 msgid "envp not set by the security policy" msgstr "보안 정책에 따라 envp를 설정하지 않았습니다" -#: src/sudo.c:1063 +#: src/sudo.c:1086 #, c-format msgid "unexpected child termination condition: %d" msgstr "예상치 못한 하위 프로세스 중단 상태: %d" -#: src/sudo.c:1176 +#: src/sudo.c:1198 msgid "unable to initialize policy plugin" msgstr "정책 플러그인을 초기화할 수 없습니다" -#: src/sudo.c:1238 +#: src/sudo.c:1259 #, c-format msgid "policy plugin %s is missing the \"check_policy\" method" msgstr "%s 정책 플러그인에 \"check_policy\" 메서드가 빠졌습니다" -#: src/sudo.c:1284 +#: src/sudo.c:1305 #, c-format msgid "policy plugin %s does not support listing privileges" msgstr "%s 정책 플러그인에서 권한 조회를 지원하지 않습니다" -#: src/sudo.c:1328 +#: src/sudo.c:1349 #, c-format msgid "policy plugin %s does not support the -v option" msgstr "%s 정책 플러그인에서 -v 옵션을 지원하지 않습니다" -#: src/sudo.c:1366 +#: src/sudo.c:1387 #, c-format msgid "policy plugin %s does not support the -k/-K options" msgstr "%s 정책 플러그인에서 -k/-K 옵션을 지원하지 않습니다" -#: src/sudo.c:1495 +#: src/sudo.c:1516 #, c-format msgid "error initializing I/O plugin %s" msgstr "%s 입출력 플러그인 초기화 오류" -#: src/sudo.c:1498 +#: src/sudo.c:1519 msgid "error initializing I/O plugin" msgstr "입출력 플러그인 초기화 오류" -#: src/sudo.c:1647 +#: src/sudo.c:1668 #, c-format msgid "error initializing audit plugin %s" msgstr "%s 감사 플러그인 초기화 오류" -#: src/sudo.c:1726 +#: src/sudo.c:1747 #, c-format msgid "%s: unable to log error event%s%s" msgstr "%s: %s%s 오류 이벤트를 기록할 수 없습니다" -#: src/sudo.c:1762 +#: src/sudo.c:1783 #, c-format msgid "%s: unable to log accept event%s%s" msgstr "%s: %s%s 허용 이벤트를 기록할 수 없습니다" -#: src/sudo.c:1767 src/sudo.c:1805 +#: src/sudo.c:1788 src/sudo.c:1826 msgid "audit plugin error" msgstr "감사 플러그인 오류" -#: src/sudo.c:1800 +#: src/sudo.c:1821 #, c-format msgid "%s: unable to log reject event%s%s" msgstr "%s: %s%s 거부 이벤트를 기록할 수 없습니다" -#: src/sudo.c:1860 +#: src/sudo.c:1881 #, c-format msgid "error initializing approval plugin %s" msgstr "%s 승인 플러그인 초기화 오류" -#: src/sudo.c:1930 +#: src/sudo.c:1951 msgid "command rejected by approver" msgstr "승인자가 명령을 거부했습니다" @@ -1152,7 +1154,7 @@ msgstr "플러그인 오류: sudoedit의 파일 목록이 빠짐" msgid "unable to read the clock" msgstr "클록을 읽을 수 없습니다" -#: src/sudo_intercept_common.c:365 +#: src/sudo_intercept_common.c:372 msgid "intercept port not set" msgstr "차단 포트를 설정하지 않았습니다" @@ -1191,6 +1193,12 @@ msgstr "uid를 %u(으)로 설정할 수 없습니다" msgid "unable to run %s" msgstr "%s을(를) 실행할 수 없습니다" +#: src/ttyname.c:139 src/ttyname.c:182 src/ttyname.c:199 src/ttyname.c:284 +#: src/ttyname.c:312 src/ttyname.c:356 +#, c-format +msgid "unable to find terminal name for device %u, %u" +msgstr "%u, %u 장치의 터미널 이름을 찾을 수 없습니다" + #: src/utmp.c:283 msgid "unable to save stdin" msgstr "표준 입력을 저장할 수 없습니다" diff --git a/po/pl.mo b/po/pl.mo index f336f388e..b27541b47 100644 Binary files a/po/pl.mo and b/po/pl.mo differ diff --git a/po/pl.po b/po/pl.po index f4d3cc3c5..95f767ea4 100644 --- a/po/pl.po +++ b/po/pl.po @@ -1,13 +1,13 @@ # Polish translation for sudo. # This file is put in the public domain. -# Jakub Bogusz , 2011-2023. +# Jakub Bogusz , 2011-2024. # msgid "" msgstr "" -"Project-Id-Version: sudo 1.9.14b1\n" +"Project-Id-Version: sudo 1.9.16b1\n" "Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n" -"POT-Creation-Date: 2023-06-07 13:27-0600\n" -"PO-Revision-Date: 2023-06-13 16:45+0200\n" +"POT-Creation-Date: 2024-06-08 09:06-0600\n" +"PO-Revision-Date: 2024-06-16 18:02+0200\n" "Last-Translator: Jakub Bogusz \n" "Language-Team: Polish \n" "Language: pl\n" @@ -30,78 +30,80 @@ msgid "unable to restore registry" msgstr "nie udało się odtworzyć rejestru" #: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/gidlist.c:76 -#: lib/util/json.c:55 lib/util/json.c:197 lib/util/sudo_conf.c:215 -#: lib/util/sudo_conf.c:301 lib/util/sudo_conf.c:378 lib/util/sudo_conf.c:647 -#: src/conversation.c:78 src/exec_iolog.c:122 src/exec_iolog.c:133 -#: src/exec_iolog.c:210 src/exec_monitor.c:171 src/exec_monitor.c:418 -#: src/exec_monitor.c:424 src/exec_monitor.c:432 src/exec_monitor.c:440 -#: src/exec_monitor.c:447 src/exec_monitor.c:454 src/exec_monitor.c:461 -#: src/exec_monitor.c:468 src/exec_monitor.c:475 src/exec_monitor.c:482 -#: src/exec_monitor.c:489 src/exec_nopty.c:231 src/exec_nopty.c:240 +#: lib/util/json.c:55 lib/util/json.c:197 lib/util/sudo_conf.c:218 +#: lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381 lib/util/sudo_conf.c:672 +#: src/conversation.c:81 src/exec_iolog.c:122 src/exec_iolog.c:133 +#: src/exec_iolog.c:210 src/exec_monitor.c:173 src/exec_monitor.c:430 +#: src/exec_monitor.c:436 src/exec_monitor.c:444 src/exec_monitor.c:452 +#: src/exec_monitor.c:459 src/exec_monitor.c:466 src/exec_monitor.c:473 +#: src/exec_monitor.c:480 src/exec_monitor.c:487 src/exec_monitor.c:494 +#: src/exec_monitor.c:501 src/exec_nopty.c:231 src/exec_nopty.c:240 #: src/exec_nopty.c:247 src/exec_nopty.c:254 src/exec_nopty.c:261 #: src/exec_nopty.c:268 src/exec_nopty.c:275 src/exec_nopty.c:282 #: src/exec_nopty.c:289 src/exec_nopty.c:296 src/exec_nopty.c:303 #: src/exec_nopty.c:310 src/exec_nopty.c:318 src/exec_nopty.c:326 -#: src/exec_nopty.c:744 src/exec_preload.c:343 src/exec_ptrace.c:475 -#: src/exec_ptrace.c:768 src/exec_ptrace.c:983 src/exec_ptrace.c:1096 -#: src/exec_ptrace.c:1271 src/exec_ptrace.c:1624 src/exec_ptrace.c:1651 -#: src/exec_ptrace.c:1841 src/exec_pty.c:581 src/exec_pty.c:765 -#: src/exec_pty.c:963 src/exec_pty.c:972 src/exec_pty.c:979 src/exec_pty.c:986 -#: src/exec_pty.c:993 src/exec_pty.c:1000 src/exec_pty.c:1007 -#: src/exec_pty.c:1014 src/exec_pty.c:1021 src/exec_pty.c:1028 -#: src/exec_pty.c:1035 src/exec_pty.c:1042 src/exec_pty.c:1050 -#: src/load_plugins.c:100 src/load_plugins.c:125 src/load_plugins.c:161 -#: src/load_plugins.c:394 src/load_plugins.c:400 src/parse_args.c:172 -#: src/parse_args.c:193 src/parse_args.c:269 src/parse_args.c:625 -#: src/parse_args.c:647 src/parse_args.c:672 src/preserve_fds.c:46 -#: src/preserve_fds.c:131 src/selinux.c:89 src/selinux.c:362 src/selinux.c:472 -#: src/selinux.c:489 src/selinux.c:496 src/sesh.c:206 src/sesh.c:240 -#: src/sesh.c:246 src/sesh.c:253 src/sesh.c:259 src/sesh.c:470 src/sudo.c:644 -#: src/sudo.c:709 src/sudo.c:719 src/sudo.c:746 src/sudo.c:769 src/sudo.c:778 -#: src/sudo.c:787 src/sudo.c:805 src/sudo.c:846 src/sudo.c:855 src/sudo.c:865 -#: src/sudo.c:898 src/sudo.c:1127 src/sudo.c:1148 src/sudo.c:1441 -#: src/sudo.c:1610 src/sudo.c:1837 src/sudo.c:2171 src/sudo_edit.c:89 -#: src/sudo_edit.c:149 src/sudo_edit.c:430 src/sudo_edit.c:439 -#: src/sudo_edit.c:540 src/sudo_edit.c:547 src/sudo_edit.c:692 -#: src/sudo_edit.c:712 src/sudo_intercept_common.c:115 -#: src/sudo_intercept_common.c:340 +#: src/exec_nopty.c:748 src/exec_preload.c:347 src/exec_ptrace.c:475 +#: src/exec_ptrace.c:768 src/exec_ptrace.c:985 src/exec_ptrace.c:1098 +#: src/exec_ptrace.c:1273 src/exec_ptrace.c:1626 src/exec_ptrace.c:1653 +#: src/exec_ptrace.c:1845 src/exec_pty.c:599 src/exec_pty.c:783 +#: src/exec_pty.c:990 src/exec_pty.c:999 src/exec_pty.c:1006 +#: src/exec_pty.c:1013 src/exec_pty.c:1020 src/exec_pty.c:1027 +#: src/exec_pty.c:1034 src/exec_pty.c:1041 src/exec_pty.c:1048 +#: src/exec_pty.c:1055 src/exec_pty.c:1062 src/exec_pty.c:1069 +#: src/exec_pty.c:1077 src/load_plugins.c:100 src/load_plugins.c:125 +#: src/load_plugins.c:161 src/load_plugins.c:394 src/load_plugins.c:400 +#: src/parse_args.c:171 src/parse_args.c:192 src/parse_args.c:268 +#: src/parse_args.c:624 src/parse_args.c:646 src/parse_args.c:671 +#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89 +#: src/selinux.c:362 src/selinux.c:472 src/selinux.c:489 src/selinux.c:496 +#: src/sesh.c:206 src/sesh.c:240 src/sesh.c:246 src/sesh.c:253 src/sesh.c:259 +#: src/sesh.c:470 src/sudo.c:581 src/sudo.c:607 src/sudo.c:660 src/sudo.c:726 +#: src/sudo.c:737 src/sudo.c:764 src/sudo.c:787 src/sudo.c:796 src/sudo.c:805 +#: src/sudo.c:818 src/sudo.c:827 src/sudo.c:868 src/sudo.c:878 src/sudo.c:888 +#: src/sudo.c:921 src/sudo.c:923 src/sudo.c:1150 src/sudo.c:1171 +#: src/sudo.c:1462 src/sudo.c:1631 src/sudo.c:1858 src/sudo.c:2191 +#: src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:430 +#: src/sudo_edit.c:439 src/sudo_edit.c:540 src/sudo_edit.c:547 +#: src/sudo_edit.c:692 src/sudo_edit.c:712 src/sudo_intercept_common.c:122 +#: src/sudo_intercept_common.c:347 #, c-format msgid "%s: %s" msgstr "%s: %s" #: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/json.c:56 -#: lib/util/json.c:198 lib/util/regex.c:173 lib/util/sudo_conf.c:216 -#: lib/util/sudo_conf.c:301 lib/util/sudo_conf.c:378 lib/util/sudo_conf.c:647 -#: src/conversation.c:79 src/exec_intercept.c:111 src/exec_intercept.c:350 -#: src/exec_intercept.c:525 src/exec_intercept.c:589 src/exec_intercept.c:713 -#: src/exec_intercept.c:837 src/exec_iolog.c:122 src/exec_iolog.c:133 -#: src/exec_iolog.c:210 src/exec_monitor.c:418 src/exec_monitor.c:424 -#: src/exec_monitor.c:432 src/exec_monitor.c:440 src/exec_monitor.c:447 -#: src/exec_monitor.c:454 src/exec_monitor.c:461 src/exec_monitor.c:468 -#: src/exec_monitor.c:475 src/exec_monitor.c:482 src/exec_monitor.c:489 +#: lib/util/json.c:198 lib/util/regex.c:173 lib/util/sudo_conf.c:219 +#: lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381 lib/util/sudo_conf.c:672 +#: src/conversation.c:82 src/exec_intercept.c:112 src/exec_intercept.c:351 +#: src/exec_intercept.c:527 src/exec_intercept.c:591 src/exec_intercept.c:715 +#: src/exec_intercept.c:839 src/exec_iolog.c:122 src/exec_iolog.c:133 +#: src/exec_iolog.c:210 src/exec_monitor.c:430 src/exec_monitor.c:436 +#: src/exec_monitor.c:444 src/exec_monitor.c:452 src/exec_monitor.c:459 +#: src/exec_monitor.c:466 src/exec_monitor.c:473 src/exec_monitor.c:480 +#: src/exec_monitor.c:487 src/exec_monitor.c:494 src/exec_monitor.c:501 #: src/exec_nopty.c:231 src/exec_nopty.c:240 src/exec_nopty.c:247 #: src/exec_nopty.c:254 src/exec_nopty.c:261 src/exec_nopty.c:268 #: src/exec_nopty.c:275 src/exec_nopty.c:282 src/exec_nopty.c:289 #: src/exec_nopty.c:296 src/exec_nopty.c:303 src/exec_nopty.c:310 -#: src/exec_nopty.c:318 src/exec_nopty.c:326 src/exec_preload.c:343 -#: src/exec_ptrace.c:475 src/exec_ptrace.c:768 src/exec_ptrace.c:983 -#: src/exec_ptrace.c:1651 src/exec_ptrace.c:1842 src/exec_pty.c:581 -#: src/exec_pty.c:963 src/exec_pty.c:972 src/exec_pty.c:979 src/exec_pty.c:986 -#: src/exec_pty.c:993 src/exec_pty.c:1000 src/exec_pty.c:1007 -#: src/exec_pty.c:1014 src/exec_pty.c:1021 src/exec_pty.c:1028 -#: src/exec_pty.c:1035 src/exec_pty.c:1042 src/exec_pty.c:1050 -#: src/load_plugins.c:100 src/load_plugins.c:125 src/load_plugins.c:161 -#: src/load_plugins.c:394 src/load_plugins.c:400 src/parse_args.c:172 -#: src/parse_args.c:194 src/parse_args.c:269 src/parse_args.c:625 -#: src/parse_args.c:647 src/parse_args.c:672 src/preserve_fds.c:46 -#: src/preserve_fds.c:131 src/selinux.c:89 src/selinux.c:362 src/selinux.c:472 -#: src/selinux.c:489 src/selinux.c:496 src/sesh.c:206 src/sesh.c:471 -#: src/sudo.c:228 src/sudo.c:644 src/sudo.c:898 src/sudo.c:1127 -#: src/sudo.c:1148 src/sudo.c:1441 src/sudo.c:1610 src/sudo.c:1837 -#: src/sudo.c:2171 src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:430 +#: src/exec_nopty.c:318 src/exec_nopty.c:326 src/exec_preload.c:347 +#: src/exec_ptrace.c:475 src/exec_ptrace.c:768 src/exec_ptrace.c:985 +#: src/exec_ptrace.c:1653 src/exec_ptrace.c:1846 src/exec_pty.c:599 +#: src/exec_pty.c:990 src/exec_pty.c:999 src/exec_pty.c:1006 +#: src/exec_pty.c:1013 src/exec_pty.c:1020 src/exec_pty.c:1027 +#: src/exec_pty.c:1034 src/exec_pty.c:1041 src/exec_pty.c:1048 +#: src/exec_pty.c:1055 src/exec_pty.c:1062 src/exec_pty.c:1069 +#: src/exec_pty.c:1077 src/load_plugins.c:100 src/load_plugins.c:125 +#: src/load_plugins.c:161 src/load_plugins.c:394 src/load_plugins.c:400 +#: src/parse_args.c:171 src/parse_args.c:193 src/parse_args.c:268 +#: src/parse_args.c:624 src/parse_args.c:646 src/parse_args.c:671 +#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89 +#: src/selinux.c:362 src/selinux.c:472 src/selinux.c:489 src/selinux.c:496 +#: src/sesh.c:206 src/sesh.c:471 src/sudo.c:229 src/sudo.c:581 src/sudo.c:607 +#: src/sudo.c:660 src/sudo.c:819 src/sudo.c:921 src/sudo.c:923 src/sudo.c:1150 +#: src/sudo.c:1171 src/sudo.c:1462 src/sudo.c:1631 src/sudo.c:1858 +#: src/sudo.c:2191 src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:430 #: src/sudo_edit.c:439 src/sudo_edit.c:540 src/sudo_edit.c:547 -#: src/sudo_edit.c:692 src/sudo_edit.c:712 src/sudo_intercept_common.c:115 -#: src/sudo_intercept_common.c:340 +#: src/sudo_edit.c:692 src/sudo_edit.c:712 src/sudo_intercept_common.c:122 +#: src/sudo_intercept_common.c:347 msgid "unable to allocate memory" msgstr "nie udało się przydzielić pamięci" @@ -115,9 +117,9 @@ msgstr "nie udało się wykonać stat na %.*s" msgid "%.*s exists but is not a directory (0%o)" msgstr "%.*s istnieje, ale nie jest katalogiem (0%o)" -#: lib/util/mkdir_parents.c:103 lib/util/sudo_conf.c:664 -#: lib/util/sudo_conf.c:683 lib/util/sudo_conf.c:710 src/selinux.c:235 -#: src/selinux.c:265 src/sudo.c:373 src/sudo_edit.c:495 src/sudo_edit.c:559 +#: lib/util/mkdir_parents.c:103 lib/util/sudo_conf.c:689 +#: lib/util/sudo_conf.c:708 lib/util/sudo_conf.c:735 src/selinux.c:235 +#: src/selinux.c:265 src/sudo.c:375 src/sudo_edit.c:495 src/sudo_edit.c:559 #, c-format msgid "unable to open %s" msgstr "nie udało się otworzyć %s" @@ -140,55 +142,55 @@ msgstr "wyrażenie regularne zbyt długie" msgid "Unknown signal" msgstr "Nieznany sygnał" -#: lib/util/strtoid.c:84 lib/util/strtomode.c:52 lib/util/strtonum.c:148 -#: lib/util/strtonum.c:187 src/sesh.c:240 src/sesh.c:253 +#: lib/util/strtoid.c:84 lib/util/strtomode.c:52 lib/util/strtonum.c:147 +#: lib/util/strtonum.c:186 src/sesh.c:240 src/sesh.c:253 msgid "invalid value" msgstr "błędna wartość" -#: lib/util/strtomode.c:58 lib/util/strtonum.c:160 +#: lib/util/strtomode.c:58 lib/util/strtonum.c:159 msgid "value too large" msgstr "wartość zbyt duża" -#: lib/util/strtomode.c:58 lib/util/strtonum.c:154 +#: lib/util/strtomode.c:58 lib/util/strtonum.c:153 msgid "value too small" msgstr "wartość zbyt mała" -#: lib/util/sudo_conf.c:234 +#: lib/util/sudo_conf.c:237 #, c-format msgid "invalid Path value \"%s\" in %s, line %u" msgstr "błędna wartość Path \"%s\" w %s, w linii %u" -#: lib/util/sudo_conf.c:400 lib/util/sudo_conf.c:453 +#: lib/util/sudo_conf.c:403 lib/util/sudo_conf.c:456 #, c-format msgid "invalid value for %s \"%s\" in %s, line %u" msgstr "błędna wartość opcji %s \"%s\" w %s, w linii %u" -#: lib/util/sudo_conf.c:421 +#: lib/util/sudo_conf.c:424 #, c-format msgid "unsupported group source \"%s\" in %s, line %u" msgstr "nieobsługiwane źródło grup \"%s\" w %s, w linii %u" -#: lib/util/sudo_conf.c:437 +#: lib/util/sudo_conf.c:440 #, c-format msgid "invalid max groups \"%s\" in %s, line %u" msgstr "błędna maksymalna liczba grup \"%s\" w %s, w linii %u" -#: lib/util/sudo_conf.c:686 +#: lib/util/sudo_conf.c:711 #, c-format msgid "%s is not a regular file" msgstr "%s nie jest zwykłym plikiem" -#: lib/util/sudo_conf.c:689 src/copy_file.c:164 +#: lib/util/sudo_conf.c:714 src/copy_file.c:164 #, c-format msgid "%s is owned by uid %u, should be %u" msgstr "właścicielem %s jest uid %u, powinien być %u" -#: lib/util/sudo_conf.c:693 +#: lib/util/sudo_conf.c:718 #, c-format msgid "%s is world writable" msgstr "%s jest zapisywalny dla świata" -#: lib/util/sudo_conf.c:696 +#: lib/util/sudo_conf.c:721 #, c-format msgid "%s is group writable" msgstr "%s jest zapisywalny dla grupy" @@ -282,18 +284,18 @@ msgstr "nie udało się zmienić katalogu na %s" msgid "starting from %s" msgstr "zaczynając od %s" -#: src/exec.c:278 src/exec.c:351 src/exec_monitor.c:552 src/exec_monitor.c:554 -#: src/exec_pty.c:1122 src/exec_pty.c:1124 src/signal.c:144 src/signal.c:151 +#: src/exec.c:278 src/exec.c:351 src/exec_monitor.c:564 src/exec_monitor.c:566 +#: src/exec_pty.c:1148 src/exec_pty.c:1150 src/signal.c:144 src/signal.c:151 #: src/signal.c:165 src/suspend_parent.c:143 #, c-format msgid "unable to set handler for signal %d" msgstr "nie udało się ustawić procedury obsługi dla sygnału %d" -#: src/exec.c:424 +#: src/exec.c:447 msgid "intercept mode is not supported with SELinux RBAC on this system" msgstr "tryb przechwytywania nie jest obsługiwany z RBAC SELinux na tym systemie" -#: src/exec.c:429 +#: src/exec.c:452 msgid "unable to log sub-commands with SELinux RBAC on this system" msgstr "nie można logować podpoleceń z RBAC SELinux na tym systemie" @@ -301,63 +303,63 @@ msgstr "nie można logować podpoleceń z RBAC SELinux na tym systemie" msgid "unable to remove PRIV_PROC_EXEC from PRIV_LIMIT" msgstr "nie udało się usunąć PRIV_PROC_EXEC z PRIV_LIMIT" -#: src/exec_intercept.c:70 src/exec_iolog.c:163 src/exec_iolog.c:173 +#: src/exec_intercept.c:71 src/exec_iolog.c:163 src/exec_iolog.c:173 #: src/exec_iolog.c:218 src/exec_iolog.c:225 src/exec_iolog.c:252 -#: src/exec_monitor.c:426 src/exec_monitor.c:434 src/exec_monitor.c:442 -#: src/exec_monitor.c:449 src/exec_monitor.c:456 src/exec_monitor.c:463 -#: src/exec_monitor.c:470 src/exec_monitor.c:477 src/exec_monitor.c:484 -#: src/exec_monitor.c:491 src/exec_nopty.c:233 src/exec_nopty.c:242 +#: src/exec_monitor.c:438 src/exec_monitor.c:446 src/exec_monitor.c:454 +#: src/exec_monitor.c:461 src/exec_monitor.c:468 src/exec_monitor.c:475 +#: src/exec_monitor.c:482 src/exec_monitor.c:489 src/exec_monitor.c:496 +#: src/exec_monitor.c:503 src/exec_nopty.c:233 src/exec_nopty.c:242 #: src/exec_nopty.c:249 src/exec_nopty.c:256 src/exec_nopty.c:263 #: src/exec_nopty.c:270 src/exec_nopty.c:277 src/exec_nopty.c:284 #: src/exec_nopty.c:291 src/exec_nopty.c:298 src/exec_nopty.c:305 #: src/exec_nopty.c:312 src/exec_nopty.c:320 src/exec_nopty.c:328 -#: src/exec_nopty.c:387 src/exec_nopty.c:457 src/exec_pty.c:432 -#: src/exec_pty.c:537 src/exec_pty.c:587 src/exec_pty.c:965 src/exec_pty.c:974 -#: src/exec_pty.c:981 src/exec_pty.c:988 src/exec_pty.c:995 -#: src/exec_pty.c:1002 src/exec_pty.c:1009 src/exec_pty.c:1016 -#: src/exec_pty.c:1023 src/exec_pty.c:1030 src/exec_pty.c:1037 -#: src/exec_pty.c:1044 +#: src/exec_nopty.c:387 src/exec_nopty.c:457 src/exec_pty.c:441 +#: src/exec_pty.c:555 src/exec_pty.c:605 src/exec_pty.c:992 src/exec_pty.c:1001 +#: src/exec_pty.c:1008 src/exec_pty.c:1015 src/exec_pty.c:1022 +#: src/exec_pty.c:1029 src/exec_pty.c:1036 src/exec_pty.c:1043 +#: src/exec_pty.c:1050 src/exec_pty.c:1057 src/exec_pty.c:1064 +#: src/exec_pty.c:1071 msgid "unable to add event to queue" msgstr "nie udało się dodać zdarzenia do kolejki" -#: src/exec_intercept.c:323 src/sudo.c:1033 +#: src/exec_intercept.c:324 src/sudo.c:1056 msgid "command not set by the security policy" msgstr "polecenie nie ustawione przez politykę bezpieczeństwa" -#: src/exec_intercept.c:401 src/exec_intercept.c:441 src/sudo.c:1253 -#: src/sudo.c:1298 src/sudo.c:1342 +#: src/exec_intercept.c:403 src/exec_intercept.c:443 src/sudo.c:1274 +#: src/sudo.c:1319 src/sudo.c:1363 msgid "command rejected by policy" msgstr "polecenie odrzucone przez politykę" -#: src/exec_intercept.c:512 src/sudo.c:1940 +#: src/exec_intercept.c:514 src/sudo.c:1961 msgid "approval plugin error" msgstr "błąd wtyczki zgody" -#: src/exec_intercept.c:537 src/sudo.c:1258 src/sudo.c:1303 src/sudo.c:1347 -#: src/sudo.c:1421 +#: src/exec_intercept.c:539 src/sudo.c:1279 src/sudo.c:1324 src/sudo.c:1368 +#: src/sudo.c:1442 msgid "policy plugin error" msgstr "błąd wtyczki polityki" -#: src/exec_intercept.c:566 +#: src/exec_intercept.c:568 msgid "invalid PolicyCheckRequest" msgstr "błędne żądanie PolicyCheckRequest" -#: src/exec_intercept.c:709 +#: src/exec_intercept.c:711 #, c-format msgid "client request too large: %zu" msgstr "żądanie klienta zbyt duże: %zu" -#: src/exec_intercept.c:751 +#: src/exec_intercept.c:753 #, c-format msgid "unable to unpack %s size %zu" msgstr "nie udało się rozpakować %s, rozmiar %zu" -#: src/exec_intercept.c:799 +#: src/exec_intercept.c:801 #, c-format msgid "unexpected type_case value %d in %s from %s" msgstr "nieoczekiwana wartość type_case %d w %s od %s" -#: src/exec_intercept.c:825 +#: src/exec_intercept.c:827 #, c-format msgid "server message too large: %zu" msgstr "komunikat serwera zbyt duży: %zu" @@ -380,135 +382,135 @@ msgstr "błąd logowania odroczenia" msgid "error changing window size" msgstr "błąd zmiany rozmiaru okna" -#: src/exec_monitor.c:328 +#: src/exec_monitor.c:330 msgid "error reading from socketpair" msgstr "błąd odczytu z pary gniazd" -#: src/exec_monitor.c:340 +#: src/exec_monitor.c:342 #, c-format msgid "unexpected reply type on backchannel: %d" msgstr "nieoczekiwany typ odpowiedzi z kanału zwrotnego: %d" -#: src/exec_monitor.c:566 +#: src/exec_monitor.c:578 msgid "unable to set controlling tty" msgstr "nie udało się ustawić sterującego tty" -#: src/exec_monitor.c:574 src/exec_nopty.c:504 src/exec_nopty.c:514 -#: src/exec_nopty.c:524 src/exec_nopty.c:560 src/exec_pty.c:1195 -#: src/exec_pty.c:1222 src/exec_pty.c:1242 src/exec_pty.c:1262 -#: src/tgetpass.c:306 -msgid "unable to create pipe" -msgstr "nie udało się utworzyć potoku" +#: src/exec_monitor.c:590 src/exec_nopty.c:572 src/exec_pty.c:1126 +#: src/exec_pty.c:1135 +msgid "unable to create sockets" +msgstr "nie udało się utworzyć gniazd" -#: src/exec_monitor.c:584 +#: src/exec_monitor.c:599 msgid "unable to receive message from parent" msgstr "nie udało się odebrać komunikatu od rodzica" -#: src/exec_monitor.c:600 src/exec_nopty.c:603 src/exec_pty.c:1303 +#: src/exec_monitor.c:614 src/exec_nopty.c:606 src/exec_pty.c:1336 #: src/sudo_edit.c:361 src/tgetpass.c:310 msgid "unable to fork" msgstr "nie udało się wykonać fork" -#: src/exec_monitor.c:604 src/exec_monitor.c:700 src/exec_nopty.c:708 +#: src/exec_monitor.c:618 src/exec_monitor.c:720 src/exec_nopty.c:712 msgid "unable to restore tty label" msgstr "nie udało się przywrócić etykiety tty" -#: src/exec_monitor.c:615 src/sesh.c:217 src/sudo.c:1204 +#: src/exec_monitor.c:629 src/exec_monitor.c:678 src/sesh.c:217 src/sudo.c:1225 #, c-format msgid "unable to execute %s" msgstr "nie udało się wykonać %s" -#: src/exec_nopty.c:554 src/exec_pty.c:1131 +#: src/exec_nopty.c:507 src/exec_nopty.c:517 src/exec_nopty.c:527 +#: src/exec_nopty.c:563 src/exec_pty.c:1224 src/exec_pty.c:1251 +#: src/exec_pty.c:1274 src/exec_pty.c:1292 src/tgetpass.c:306 +msgid "unable to create pipe" +msgstr "nie udało się utworzyć potoku" + +#: src/exec_nopty.c:557 src/exec_pty.c:1157 msgid "policy plugin failed session initialization" msgstr "nie udało się zainicjować sesji przez wtyczkę polityki" -#: src/exec_nopty.c:569 src/exec_pty.c:1100 src/exec_pty.c:1109 -msgid "unable to create sockets" -msgstr "nie udało się utworzyć gniazd" - -#: src/exec_nopty.c:696 src/exec_pty.c:1406 +#: src/exec_nopty.c:700 src/exec_pty.c:1437 msgid "error in event loop" msgstr "błąd w pętli zdarzeń" -#: src/exec_preload.c:167 src/net_ifs.c:206 src/net_ifs.c:372 -#: src/net_ifs.c:433 src/net_ifs.c:620 src/net_ifs.c:852 src/sudo.c:488 -#: src/sudo_edit.c:398 src/sudo_edit.c:406 +#: src/exec_preload.c:168 src/net_ifs.c:206 src/net_ifs.c:372 src/net_ifs.c:433 +#: src/net_ifs.c:620 src/net_ifs.c:852 src/sudo.c:494 src/sudo_edit.c:398 +#: src/sudo_edit.c:406 #, c-format msgid "internal error, %s overflow" msgstr "błąd wewnętrzny, przepełnienie %s" -#: src/exec_ptrace.c:1080 src/exec_ptrace.c:1105 src/exec_ptrace.c:1925 +#: src/exec_ptrace.c:1082 src/exec_ptrace.c:1107 src/exec_ptrace.c:1930 #, c-format msgid "unable to set registers for process %d" msgstr "nie udało się ustawić rejestrów dla procesu %d" -#: src/exec_ptrace.c:1100 src/exec_ptrace.c:1275 src/exec_ptrace.c:1628 +#: src/exec_ptrace.c:1102 src/exec_ptrace.c:1277 src/exec_ptrace.c:1630 #, c-format msgid "process %d exited unexpectedly" msgstr "proces %d nieoczekiwanie zakończył się" -#: src/exec_ptrace.c:1209 +#: src/exec_ptrace.c:1211 msgid "unable to set seccomp filter" msgstr "nie udało się ustawić filtra seccomp" -#: src/exec_ptrace.c:1406 +#: src/exec_ptrace.c:1408 #, c-format msgid "interpreter argument , expected \"%s\", got \"%s\"" msgstr "argument interpretera - oczekiwano \"%s\", napotkano \"%s\"" -#: src/exec_ptrace.c:1505 +#: src/exec_ptrace.c:1506 #, c-format msgid "pathname mismatch, expected \"%s\", got \"%s\"" msgstr "niezgodność ścieżki, oczekiwano \"%s\", napotkano \"%s\"" -#: src/exec_ptrace.c:1514 src/exec_ptrace.c:1521 src/exec_ptrace.c:1545 -#: src/exec_ptrace.c:1553 src/exec_ptrace.c:1559 src/exec_ptrace.c:1565 +#: src/exec_ptrace.c:1515 src/exec_ptrace.c:1522 src/exec_ptrace.c:1546 +#: src/exec_ptrace.c:1554 src/exec_ptrace.c:1560 src/exec_ptrace.c:1566 #, c-format msgid "%s[%d] mismatch, expected \"%s\", got \"%s\"" msgstr "niezgodność %s[%d], oczekiwano \"%s\", napotkano \"%s\"" -#: src/exec_ptrace.c:1632 +#: src/exec_ptrace.c:1634 #, c-format msgid "process %d unexpected status 0x%x" msgstr "proces %d nieoczekiwany status 0x%x" -#: src/exec_ptrace.c:1723 +#: src/exec_ptrace.c:1727 #, c-format msgid "unable to get event message for process %d" msgstr "nie udało się pobrać komunikatu zdarzenia dla procesu %d" -#: src/exec_ptrace.c:1730 +#: src/exec_ptrace.c:1734 #, c-format msgid "unable to get registers for process %d" msgstr "nie udało się pobrać rejestrów dla procesu %d" -#: src/exec_pty.c:84 +#: src/exec_pty.c:87 msgid "unable to allocate pty" msgstr "nie udało się przydzielić pty" -#: src/exec_pty.c:131 src/exec_pty.c:284 src/tgetpass.c:251 +#: src/exec_pty.c:118 src/exec_pty.c:257 src/tgetpass.c:251 msgid "unable to restore terminal settings" msgstr "nie udało się przywrócić ustawień terminala" -#: src/exec_pty.c:243 +#: src/exec_pty.c:218 msgid "unable to set handler for SIGCONT" msgstr "nie udało się ustawić procedury obsługi dla SIGCONT" -#: src/exec_pty.c:293 +#: src/exec_pty.c:267 #, c-format msgid "unable to set handler for SIG%s" msgstr "nie udało się ustawić procedury obsługi dla SIG%s" -#: src/exec_pty.c:317 +#: src/exec_pty.c:291 #, c-format msgid "unable to restore handler for SIG%s" msgstr "nie udało się przywrócić procedury obsługi dla SIG%s" -#: src/exec_pty.c:345 +#: src/exec_pty.c:319 msgid "unable to restore handler for SIGCONT" msgstr "nie udało się przywrócić procedury obsługi dla SIGCONT" -#: src/exec_pty.c:1353 +#: src/exec_pty.c:1385 msgid "unable to send message to monitor process" msgstr "nie udało się wysłać komunikatu do procesu monitorującego" @@ -557,40 +559,40 @@ msgstr "nieznany typ wtyczki %d napotkany w %s" msgid "policy plugin %s does not include a check_policy method" msgstr "wtyczka polityki %s nie zawiera metody check_policy" -#: src/parse_args.c:214 +#: src/parse_args.c:213 #, c-format msgid "invalid environment variable name: %s" msgstr "błędna nazwa zmiennej środowiskowej: %s" -#: src/parse_args.c:319 +#: src/parse_args.c:318 msgid "the argument to -C must be a number greater than or equal to 3" msgstr "argument opcji -C musi być większy lub równy 3" -#: src/parse_args.c:556 +#: src/parse_args.c:555 msgid "you may not specify both the -i and -s options" msgstr "nie można podać jednocześnie opcji -i oraz -s" -#: src/parse_args.c:561 +#: src/parse_args.c:560 msgid "you may not specify both the -i and -E options" msgstr "nie można podać jednocześnie opcji -i oraz -E" -#: src/parse_args.c:571 +#: src/parse_args.c:570 msgid "the -E option is not valid in edit mode" msgstr "opcja -E nie jest poprawna w trybie edycji" -#: src/parse_args.c:574 +#: src/parse_args.c:573 msgid "you may not specify environment variables in edit mode" msgstr "w trybie edycji nie można przekazywać zmiennych środowiskowych" -#: src/parse_args.c:584 +#: src/parse_args.c:583 msgid "the -U option may only be used with the -l option" msgstr "opcji -U można używać tylko wraz z opcją -l" -#: src/parse_args.c:588 +#: src/parse_args.c:587 msgid "the -A and -S options may not be used together" msgstr "opcji -A oraz -S nie można używać jednocześnie" -#: src/parse_args.c:686 +#: src/parse_args.c:685 msgid "sudoedit is not supported on this platform" msgstr "sudoedit nie jest obsługiwane na tej platformie" @@ -944,151 +946,151 @@ msgstr "setproject dla projektu \"%s\" nie powiodło się" msgid "warning, resource control assignment failed for project \"%s\"" msgstr "uwaga: przypisanie kontroli zasobów dla projektu \"%s\" nie powiodło się" -#: src/sudo.c:214 +#: src/sudo.c:215 #, c-format msgid "Sudo version %s\n" msgstr "Sudo wersja %s\n" -#: src/sudo.c:216 +#: src/sudo.c:217 #, c-format msgid "Configure options: %s\n" msgstr "Opcje konfiguracji: %s\n" -#: src/sudo.c:224 +#: src/sudo.c:225 msgid "fatal error, unable to load plugins" msgstr "błąd krytyczny, nie udało się załadować wtyczek" -#: src/sudo.c:270 +#: src/sudo.c:271 msgid "plugin did not return a command to execute" msgstr "wtyczka nie zwróciła polecenia do wykonania" -#: src/sudo.c:306 +#: src/sudo.c:307 #, c-format msgid "unexpected sudo mode 0x%x" msgstr "nieoczekiwany tryb sudo 0x%x" -#: src/sudo.c:559 +#: src/sudo.c:567 #, c-format msgid "you do not exist in the %s database" msgstr "nie istniejesz w bazie danych %s" -#: src/sudo.c:616 +#: src/sudo.c:632 msgid "unable to determine tty" msgstr "nie udało się określić tty" -#: src/sudo.c:932 +#: src/sudo.c:955 msgid "The \"no new privileges\" flag is set, which prevents sudo from running as root." msgstr "Ustawiona jest flaga \"bez nowych uprawnień\", która nie pozwala na uruchamianie sudo jako root." -#: src/sudo.c:934 +#: src/sudo.c:957 msgid "If sudo is running in a container, you may need to adjust the container configuration to disable the flag." msgstr "Jeśli sudo jest uruchomione w kontenerze, może być potrzebne dostosowanie konfiguracji kontenera w celu wyłączenia flagi." -#: src/sudo.c:968 +#: src/sudo.c:991 #, c-format msgid "%s must be owned by uid %d and have the setuid bit set" msgstr "%s musi mieć uid %d jako właściciela oraz ustawiony bit setuid" -#: src/sudo.c:971 +#: src/sudo.c:994 #, c-format msgid "effective uid is not %d, is %s on a file system with the 'nosuid' option set or an NFS file system without root privileges?" msgstr "efektywny uid nie wynosi %d, czy %s jest na systemie plików z opcją 'nosuid' albo systemie plików NFS bez uprawnień roota?" -#: src/sudo.c:977 +#: src/sudo.c:1000 #, c-format msgid "effective uid is not %d, is sudo installed setuid root?" msgstr "efektywny uid nie wynosi %d, czy sudo jest zainstalowane z setuid root?" -#: src/sudo.c:993 src/tgetpass.c:332 +#: src/sudo.c:1016 src/tgetpass.c:332 msgid "unable to set supplementary group IDs" msgstr "nie udało się ustawić ID dodatkowych grup" -#: src/sudo.c:1000 +#: src/sudo.c:1023 #, c-format msgid "unable to set effective gid to runas gid %u" msgstr "nie udało się ustawić efektywnego gid-a w celu działania jako gid %u" -#: src/sudo.c:1006 +#: src/sudo.c:1029 #, c-format msgid "unable to set gid to runas gid %u" msgstr "nie udało się ustawić gid-a w celu działania jako gid %u" -#: src/sudo.c:1037 +#: src/sudo.c:1060 msgid "argv not set by the security policy" msgstr "argv nie ustawione przez politykę bezpieczeństwa" -#: src/sudo.c:1041 +#: src/sudo.c:1064 msgid "envp not set by the security policy" msgstr "envp nie ustawione przez politykę bezpieczeństwa" -#: src/sudo.c:1063 +#: src/sudo.c:1086 #, c-format msgid "unexpected child termination condition: %d" msgstr "nieoczekiwane zakończenie procesu potomnego: %d" -#: src/sudo.c:1176 +#: src/sudo.c:1198 msgid "unable to initialize policy plugin" msgstr "nie udało się zainicjować wtyczki polityki" -#: src/sudo.c:1238 +#: src/sudo.c:1259 #, c-format msgid "policy plugin %s is missing the \"check_policy\" method" msgstr "wtyczka polityki %s nie zawiera metody \"check_policy\"" -#: src/sudo.c:1284 +#: src/sudo.c:1305 #, c-format msgid "policy plugin %s does not support listing privileges" msgstr "wtyczka polityki %s nie obsługuje wypisywania uprawnień" -#: src/sudo.c:1328 +#: src/sudo.c:1349 #, c-format msgid "policy plugin %s does not support the -v option" msgstr "wtyczka polityki %s nie obsługuje opcji -v" -#: src/sudo.c:1366 +#: src/sudo.c:1387 #, c-format msgid "policy plugin %s does not support the -k/-K options" msgstr "wtyczka polityki %s nie obsługuje opcji -k/-K" -#: src/sudo.c:1495 +#: src/sudo.c:1516 #, c-format msgid "error initializing I/O plugin %s" msgstr "błąd inicjalizacji wtyczki we/wy %s" -#: src/sudo.c:1498 +#: src/sudo.c:1519 msgid "error initializing I/O plugin" msgstr "błąd inicjowania wtyczki we/wy" -#: src/sudo.c:1647 +#: src/sudo.c:1668 #, c-format msgid "error initializing audit plugin %s" msgstr "błąd inicjowania wtyczki audytu %s" -#: src/sudo.c:1726 +#: src/sudo.c:1747 #, c-format msgid "%s: unable to log error event%s%s" msgstr "%s: nie udało się zalogować zdarzenia błędu%s%s" -#: src/sudo.c:1762 +#: src/sudo.c:1783 #, c-format msgid "%s: unable to log accept event%s%s" msgstr "%s: nie udało się zalogować zdarzenia akceptacji%s%s" -#: src/sudo.c:1767 src/sudo.c:1805 +#: src/sudo.c:1788 src/sudo.c:1826 msgid "audit plugin error" msgstr "błąd wtyczki audytu" -#: src/sudo.c:1800 +#: src/sudo.c:1821 #, c-format msgid "%s: unable to log reject event%s%s" msgstr "%s: nie udało się zalogować zdarzenia odrzucenia%s%s" -#: src/sudo.c:1860 +#: src/sudo.c:1881 #, c-format msgid "error initializing approval plugin %s" msgstr "błąd inicjowania wtyczki zgody %s" -#: src/sudo.c:1930 +#: src/sudo.c:1951 msgid "command rejected by approver" msgstr "polecenie odrzucone przez wtyczkę zgody" @@ -1148,7 +1150,7 @@ msgstr "błąd wtyczki: brak listy plików dla sudoedit" msgid "unable to read the clock" msgstr "nie udało się odczytać zegara" -#: src/sudo_intercept_common.c:365 +#: src/sudo_intercept_common.c:372 msgid "intercept port not set" msgstr "port przechwytywania nie ustawiony" @@ -1187,6 +1189,12 @@ msgstr "nie udało się ustawić uid-a na %u" msgid "unable to run %s" msgstr "nie udało się uruchomić %s" +#: src/ttyname.c:139 src/ttyname.c:182 src/ttyname.c:199 src/ttyname.c:284 +#: src/ttyname.c:312 src/ttyname.c:356 +#, c-format +msgid "unable to find terminal name for device %u, %u" +msgstr "nie udało się odnaleźć nazwy terminala dla urządzenia %u, %u" + #: src/utmp.c:283 msgid "unable to save stdin" msgstr "nie udało się zapisać standardowego wejścia" diff --git a/po/ro.mo b/po/ro.mo index a88473d2c..91f044dea 100644 Binary files a/po/ro.mo and b/po/ro.mo differ diff --git a/po/ro.po b/po/ro.po index eac96fac0..85637937e 100644 --- a/po/ro.po +++ b/po/ro.po @@ -4,7 +4,7 @@ # This file is distributed under the same license as the sudo package. # # Florentina Mușat , 2020. -# Remus-Gabriel Chelu , 2022, 2023. +# Remus-Gabriel Chelu , 2022, 2023, 2024. # # Cronologia traducerii fișierului „sudo”: # Traducera inițială, făcută de FM, pentru versiunea sudoers 1.9.2rc1. @@ -15,14 +15,15 @@ # Actualizare a traducerii pentru versiunea 1.9.12b2, făcută de R-GC, oct-2022. # Actualizare a traducerii pentru versiunea 1.9.13b2, făcută de R-GC, ian-2023. # Actualizare a traducerii pentru versiunea 1.9.14b1, făcută de R-GC, iun-2023. +# Actualizare a traducerii pentru versiunea 1.9.16b1, făcută de R-GC, iun-2024. # Actualizare a traducerii pentru versiunea Y, făcută de X, Z(luna-anul). # msgid "" msgstr "" -"Project-Id-Version: sudo 1.9.14b1\n" +"Project-Id-Version: sudo 1.9.16b1\n" "Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n" -"POT-Creation-Date: 2023-06-07 13:27-0600\n" -"PO-Revision-Date: 2023-06-09 13:10+0200\n" +"POT-Creation-Date: 2024-06-08 09:06-0600\n" +"PO-Revision-Date: 2024-06-16 18:34+0200\n" "Last-Translator: Remus-Gabriel Chelu \n" "Language-Team: Romanian \n" "Language: ro\n" @@ -31,7 +32,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < 20)) ? 1 : 2);\n" "X-Bugs: Report translation errors to the Language-Team address.\n" -"X-Generator: Poedit 3.2.2\n" +"X-Generator: Poedit 3.4.3\n" #: lib/util/aix.c:89 lib/util/aix.c:169 msgid "unable to open userdb" @@ -47,78 +48,80 @@ msgid "unable to restore registry" msgstr "nu se poate restaura registrul" #: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/gidlist.c:76 -#: lib/util/json.c:55 lib/util/json.c:197 lib/util/sudo_conf.c:215 -#: lib/util/sudo_conf.c:301 lib/util/sudo_conf.c:378 lib/util/sudo_conf.c:647 -#: src/conversation.c:78 src/exec_iolog.c:122 src/exec_iolog.c:133 -#: src/exec_iolog.c:210 src/exec_monitor.c:171 src/exec_monitor.c:418 -#: src/exec_monitor.c:424 src/exec_monitor.c:432 src/exec_monitor.c:440 -#: src/exec_monitor.c:447 src/exec_monitor.c:454 src/exec_monitor.c:461 -#: src/exec_monitor.c:468 src/exec_monitor.c:475 src/exec_monitor.c:482 -#: src/exec_monitor.c:489 src/exec_nopty.c:231 src/exec_nopty.c:240 +#: lib/util/json.c:55 lib/util/json.c:197 lib/util/sudo_conf.c:218 +#: lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381 lib/util/sudo_conf.c:672 +#: src/conversation.c:81 src/exec_iolog.c:122 src/exec_iolog.c:133 +#: src/exec_iolog.c:210 src/exec_monitor.c:173 src/exec_monitor.c:430 +#: src/exec_monitor.c:436 src/exec_monitor.c:444 src/exec_monitor.c:452 +#: src/exec_monitor.c:459 src/exec_monitor.c:466 src/exec_monitor.c:473 +#: src/exec_monitor.c:480 src/exec_monitor.c:487 src/exec_monitor.c:494 +#: src/exec_monitor.c:501 src/exec_nopty.c:231 src/exec_nopty.c:240 #: src/exec_nopty.c:247 src/exec_nopty.c:254 src/exec_nopty.c:261 #: src/exec_nopty.c:268 src/exec_nopty.c:275 src/exec_nopty.c:282 #: src/exec_nopty.c:289 src/exec_nopty.c:296 src/exec_nopty.c:303 #: src/exec_nopty.c:310 src/exec_nopty.c:318 src/exec_nopty.c:326 -#: src/exec_nopty.c:744 src/exec_preload.c:343 src/exec_ptrace.c:475 -#: src/exec_ptrace.c:768 src/exec_ptrace.c:983 src/exec_ptrace.c:1096 -#: src/exec_ptrace.c:1271 src/exec_ptrace.c:1624 src/exec_ptrace.c:1651 -#: src/exec_ptrace.c:1841 src/exec_pty.c:581 src/exec_pty.c:765 -#: src/exec_pty.c:963 src/exec_pty.c:972 src/exec_pty.c:979 src/exec_pty.c:986 -#: src/exec_pty.c:993 src/exec_pty.c:1000 src/exec_pty.c:1007 -#: src/exec_pty.c:1014 src/exec_pty.c:1021 src/exec_pty.c:1028 -#: src/exec_pty.c:1035 src/exec_pty.c:1042 src/exec_pty.c:1050 -#: src/load_plugins.c:100 src/load_plugins.c:125 src/load_plugins.c:161 -#: src/load_plugins.c:394 src/load_plugins.c:400 src/parse_args.c:172 -#: src/parse_args.c:193 src/parse_args.c:269 src/parse_args.c:625 -#: src/parse_args.c:647 src/parse_args.c:672 src/preserve_fds.c:46 -#: src/preserve_fds.c:131 src/selinux.c:89 src/selinux.c:362 src/selinux.c:472 -#: src/selinux.c:489 src/selinux.c:496 src/sesh.c:206 src/sesh.c:240 -#: src/sesh.c:246 src/sesh.c:253 src/sesh.c:259 src/sesh.c:470 src/sudo.c:644 -#: src/sudo.c:709 src/sudo.c:719 src/sudo.c:746 src/sudo.c:769 src/sudo.c:778 -#: src/sudo.c:787 src/sudo.c:805 src/sudo.c:846 src/sudo.c:855 src/sudo.c:865 -#: src/sudo.c:898 src/sudo.c:1127 src/sudo.c:1148 src/sudo.c:1441 -#: src/sudo.c:1610 src/sudo.c:1837 src/sudo.c:2171 src/sudo_edit.c:89 -#: src/sudo_edit.c:149 src/sudo_edit.c:430 src/sudo_edit.c:439 -#: src/sudo_edit.c:540 src/sudo_edit.c:547 src/sudo_edit.c:692 -#: src/sudo_edit.c:712 src/sudo_intercept_common.c:115 -#: src/sudo_intercept_common.c:340 +#: src/exec_nopty.c:748 src/exec_preload.c:347 src/exec_ptrace.c:475 +#: src/exec_ptrace.c:768 src/exec_ptrace.c:985 src/exec_ptrace.c:1098 +#: src/exec_ptrace.c:1273 src/exec_ptrace.c:1626 src/exec_ptrace.c:1653 +#: src/exec_ptrace.c:1845 src/exec_pty.c:599 src/exec_pty.c:783 +#: src/exec_pty.c:990 src/exec_pty.c:999 src/exec_pty.c:1006 +#: src/exec_pty.c:1013 src/exec_pty.c:1020 src/exec_pty.c:1027 +#: src/exec_pty.c:1034 src/exec_pty.c:1041 src/exec_pty.c:1048 +#: src/exec_pty.c:1055 src/exec_pty.c:1062 src/exec_pty.c:1069 +#: src/exec_pty.c:1077 src/load_plugins.c:100 src/load_plugins.c:125 +#: src/load_plugins.c:161 src/load_plugins.c:394 src/load_plugins.c:400 +#: src/parse_args.c:171 src/parse_args.c:192 src/parse_args.c:268 +#: src/parse_args.c:624 src/parse_args.c:646 src/parse_args.c:671 +#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89 +#: src/selinux.c:362 src/selinux.c:472 src/selinux.c:489 src/selinux.c:496 +#: src/sesh.c:206 src/sesh.c:240 src/sesh.c:246 src/sesh.c:253 src/sesh.c:259 +#: src/sesh.c:470 src/sudo.c:581 src/sudo.c:607 src/sudo.c:660 src/sudo.c:726 +#: src/sudo.c:737 src/sudo.c:764 src/sudo.c:787 src/sudo.c:796 src/sudo.c:805 +#: src/sudo.c:818 src/sudo.c:827 src/sudo.c:868 src/sudo.c:878 src/sudo.c:888 +#: src/sudo.c:921 src/sudo.c:923 src/sudo.c:1150 src/sudo.c:1171 +#: src/sudo.c:1462 src/sudo.c:1631 src/sudo.c:1858 src/sudo.c:2191 +#: src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:430 +#: src/sudo_edit.c:439 src/sudo_edit.c:540 src/sudo_edit.c:547 +#: src/sudo_edit.c:692 src/sudo_edit.c:712 src/sudo_intercept_common.c:122 +#: src/sudo_intercept_common.c:347 #, c-format msgid "%s: %s" msgstr "%s: %s" #: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/json.c:56 -#: lib/util/json.c:198 lib/util/regex.c:173 lib/util/sudo_conf.c:216 -#: lib/util/sudo_conf.c:301 lib/util/sudo_conf.c:378 lib/util/sudo_conf.c:647 -#: src/conversation.c:79 src/exec_intercept.c:111 src/exec_intercept.c:350 -#: src/exec_intercept.c:525 src/exec_intercept.c:589 src/exec_intercept.c:713 -#: src/exec_intercept.c:837 src/exec_iolog.c:122 src/exec_iolog.c:133 -#: src/exec_iolog.c:210 src/exec_monitor.c:418 src/exec_monitor.c:424 -#: src/exec_monitor.c:432 src/exec_monitor.c:440 src/exec_monitor.c:447 -#: src/exec_monitor.c:454 src/exec_monitor.c:461 src/exec_monitor.c:468 -#: src/exec_monitor.c:475 src/exec_monitor.c:482 src/exec_monitor.c:489 +#: lib/util/json.c:198 lib/util/regex.c:173 lib/util/sudo_conf.c:219 +#: lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381 lib/util/sudo_conf.c:672 +#: src/conversation.c:82 src/exec_intercept.c:112 src/exec_intercept.c:351 +#: src/exec_intercept.c:527 src/exec_intercept.c:591 src/exec_intercept.c:715 +#: src/exec_intercept.c:839 src/exec_iolog.c:122 src/exec_iolog.c:133 +#: src/exec_iolog.c:210 src/exec_monitor.c:430 src/exec_monitor.c:436 +#: src/exec_monitor.c:444 src/exec_monitor.c:452 src/exec_monitor.c:459 +#: src/exec_monitor.c:466 src/exec_monitor.c:473 src/exec_monitor.c:480 +#: src/exec_monitor.c:487 src/exec_monitor.c:494 src/exec_monitor.c:501 #: src/exec_nopty.c:231 src/exec_nopty.c:240 src/exec_nopty.c:247 #: src/exec_nopty.c:254 src/exec_nopty.c:261 src/exec_nopty.c:268 #: src/exec_nopty.c:275 src/exec_nopty.c:282 src/exec_nopty.c:289 #: src/exec_nopty.c:296 src/exec_nopty.c:303 src/exec_nopty.c:310 -#: src/exec_nopty.c:318 src/exec_nopty.c:326 src/exec_preload.c:343 -#: src/exec_ptrace.c:475 src/exec_ptrace.c:768 src/exec_ptrace.c:983 -#: src/exec_ptrace.c:1651 src/exec_ptrace.c:1842 src/exec_pty.c:581 -#: src/exec_pty.c:963 src/exec_pty.c:972 src/exec_pty.c:979 src/exec_pty.c:986 -#: src/exec_pty.c:993 src/exec_pty.c:1000 src/exec_pty.c:1007 -#: src/exec_pty.c:1014 src/exec_pty.c:1021 src/exec_pty.c:1028 -#: src/exec_pty.c:1035 src/exec_pty.c:1042 src/exec_pty.c:1050 -#: src/load_plugins.c:100 src/load_plugins.c:125 src/load_plugins.c:161 -#: src/load_plugins.c:394 src/load_plugins.c:400 src/parse_args.c:172 -#: src/parse_args.c:194 src/parse_args.c:269 src/parse_args.c:625 -#: src/parse_args.c:647 src/parse_args.c:672 src/preserve_fds.c:46 -#: src/preserve_fds.c:131 src/selinux.c:89 src/selinux.c:362 src/selinux.c:472 -#: src/selinux.c:489 src/selinux.c:496 src/sesh.c:206 src/sesh.c:471 -#: src/sudo.c:228 src/sudo.c:644 src/sudo.c:898 src/sudo.c:1127 -#: src/sudo.c:1148 src/sudo.c:1441 src/sudo.c:1610 src/sudo.c:1837 -#: src/sudo.c:2171 src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:430 +#: src/exec_nopty.c:318 src/exec_nopty.c:326 src/exec_preload.c:347 +#: src/exec_ptrace.c:475 src/exec_ptrace.c:768 src/exec_ptrace.c:985 +#: src/exec_ptrace.c:1653 src/exec_ptrace.c:1846 src/exec_pty.c:599 +#: src/exec_pty.c:990 src/exec_pty.c:999 src/exec_pty.c:1006 +#: src/exec_pty.c:1013 src/exec_pty.c:1020 src/exec_pty.c:1027 +#: src/exec_pty.c:1034 src/exec_pty.c:1041 src/exec_pty.c:1048 +#: src/exec_pty.c:1055 src/exec_pty.c:1062 src/exec_pty.c:1069 +#: src/exec_pty.c:1077 src/load_plugins.c:100 src/load_plugins.c:125 +#: src/load_plugins.c:161 src/load_plugins.c:394 src/load_plugins.c:400 +#: src/parse_args.c:171 src/parse_args.c:193 src/parse_args.c:268 +#: src/parse_args.c:624 src/parse_args.c:646 src/parse_args.c:671 +#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89 +#: src/selinux.c:362 src/selinux.c:472 src/selinux.c:489 src/selinux.c:496 +#: src/sesh.c:206 src/sesh.c:471 src/sudo.c:229 src/sudo.c:581 src/sudo.c:607 +#: src/sudo.c:660 src/sudo.c:819 src/sudo.c:921 src/sudo.c:923 src/sudo.c:1150 +#: src/sudo.c:1171 src/sudo.c:1462 src/sudo.c:1631 src/sudo.c:1858 +#: src/sudo.c:2191 src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:430 #: src/sudo_edit.c:439 src/sudo_edit.c:540 src/sudo_edit.c:547 -#: src/sudo_edit.c:692 src/sudo_edit.c:712 src/sudo_intercept_common.c:115 -#: src/sudo_intercept_common.c:340 +#: src/sudo_edit.c:692 src/sudo_edit.c:712 src/sudo_intercept_common.c:122 +#: src/sudo_intercept_common.c:347 msgid "unable to allocate memory" msgstr "nu se poate aloca memoria" @@ -132,9 +135,9 @@ msgstr "nu se poate stabili starea lui %.*s" msgid "%.*s exists but is not a directory (0%o)" msgstr "%.*s există, dar nu este un director (0%o)" -#: lib/util/mkdir_parents.c:103 lib/util/sudo_conf.c:664 -#: lib/util/sudo_conf.c:683 lib/util/sudo_conf.c:710 src/selinux.c:235 -#: src/selinux.c:265 src/sudo.c:373 src/sudo_edit.c:495 src/sudo_edit.c:559 +#: lib/util/mkdir_parents.c:103 lib/util/sudo_conf.c:689 +#: lib/util/sudo_conf.c:708 lib/util/sudo_conf.c:735 src/selinux.c:235 +#: src/selinux.c:265 src/sudo.c:375 src/sudo_edit.c:495 src/sudo_edit.c:559 #, c-format msgid "unable to open %s" msgstr "nu se poate deschide %s" @@ -157,45 +160,45 @@ msgstr "expresia regulată este prea lungă" msgid "Unknown signal" msgstr "Semnal necunoscut" -#: lib/util/strtoid.c:84 lib/util/strtomode.c:52 lib/util/strtonum.c:148 -#: lib/util/strtonum.c:187 src/sesh.c:240 src/sesh.c:253 +#: lib/util/strtoid.c:84 lib/util/strtomode.c:52 lib/util/strtonum.c:147 +#: lib/util/strtonum.c:186 src/sesh.c:240 src/sesh.c:253 msgid "invalid value" msgstr "valoare nevalidă" -#: lib/util/strtomode.c:58 lib/util/strtonum.c:160 +#: lib/util/strtomode.c:58 lib/util/strtonum.c:159 msgid "value too large" msgstr "valoare prea mare" -#: lib/util/strtomode.c:58 lib/util/strtonum.c:154 +#: lib/util/strtomode.c:58 lib/util/strtonum.c:153 msgid "value too small" msgstr "valoare prea mică" -#: lib/util/sudo_conf.c:234 +#: lib/util/sudo_conf.c:237 #, c-format msgid "invalid Path value \"%s\" in %s, line %u" msgstr "valoare de rută(path) nevalidă „%s” în %s, linia %u" -#: lib/util/sudo_conf.c:400 lib/util/sudo_conf.c:453 +#: lib/util/sudo_conf.c:403 lib/util/sudo_conf.c:456 #, c-format msgid "invalid value for %s \"%s\" in %s, line %u" msgstr "valoare nevalidă pentru %s „%s” în %s, linia %u" -#: lib/util/sudo_conf.c:421 +#: lib/util/sudo_conf.c:424 #, c-format msgid "unsupported group source \"%s\" in %s, line %u" msgstr "sursă de grup nesuportată „%s” în %s, linia %u" -#: lib/util/sudo_conf.c:437 +#: lib/util/sudo_conf.c:440 #, c-format msgid "invalid max groups \"%s\" in %s, line %u" msgstr "grupuri maxime nevalide „%s” în %s, linia %u" -#: lib/util/sudo_conf.c:686 +#: lib/util/sudo_conf.c:711 #, c-format msgid "%s is not a regular file" msgstr "%s nu este un fișier regulat" -#: lib/util/sudo_conf.c:689 src/copy_file.c:164 +#: lib/util/sudo_conf.c:714 src/copy_file.c:164 #, 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" @@ -205,7 +208,7 @@ msgstr "%s este deținut de uid-ul %u, ar trebui să fie %u" # la „inscriptibil” # - 1. pentru a fi =n consonanță cu celelalte mesaje # - 2. referința este pentru fișier, și nu pentru conținutul său -#: lib/util/sudo_conf.c:693 +#: lib/util/sudo_conf.c:718 #, c-format msgid "%s is world writable" msgstr "%s este inscriptibil global" @@ -213,7 +216,7 @@ msgstr "%s este inscriptibil global" # Modificare: # de la: „este inscriptibil pe grup” # la:„este inscriptibil de către grup” -#: lib/util/sudo_conf.c:696 +#: lib/util/sudo_conf.c:721 #, c-format msgid "%s is group writable" msgstr "%s este inscriptibil de către grup" @@ -327,18 +330,18 @@ msgstr "începând de la %s" # Modificare: # de la: „nu se poate stabili mânerul pentru semnalul” # la: „nu se poate stabili manipulantul pentru semnalul” -#: src/exec.c:278 src/exec.c:351 src/exec_monitor.c:552 src/exec_monitor.c:554 -#: src/exec_pty.c:1122 src/exec_pty.c:1124 src/signal.c:144 src/signal.c:151 +#: src/exec.c:278 src/exec.c:351 src/exec_monitor.c:564 src/exec_monitor.c:566 +#: src/exec_pty.c:1148 src/exec_pty.c:1150 src/signal.c:144 src/signal.c:151 #: src/signal.c:165 src/suspend_parent.c:143 #, c-format msgid "unable to set handler for signal %d" msgstr "nu se poate stabili manipulantul pentru semnalul %d" -#: src/exec.c:424 +#: src/exec.c:447 msgid "intercept mode is not supported with SELinux RBAC on this system" msgstr "modul de interceptare nu este acceptat cu SELinux RBAC pe acest sistem" -#: src/exec.c:429 +#: src/exec.c:452 msgid "unable to log sub-commands with SELinux RBAC on this system" msgstr "nu se pot înregistra sub-comenzi cu SELinux RBAC pe acest sistem" @@ -346,44 +349,44 @@ msgstr "nu se pot înregistra sub-comenzi cu SELinux RBAC pe acest sistem" msgid "unable to remove PRIV_PROC_EXEC from PRIV_LIMIT" msgstr "nu se poate elimina PRIV_PROC_EXEC de la PRIV_LIMIT" -#: src/exec_intercept.c:70 src/exec_iolog.c:163 src/exec_iolog.c:173 +#: src/exec_intercept.c:71 src/exec_iolog.c:163 src/exec_iolog.c:173 #: src/exec_iolog.c:218 src/exec_iolog.c:225 src/exec_iolog.c:252 -#: src/exec_monitor.c:426 src/exec_monitor.c:434 src/exec_monitor.c:442 -#: src/exec_monitor.c:449 src/exec_monitor.c:456 src/exec_monitor.c:463 -#: src/exec_monitor.c:470 src/exec_monitor.c:477 src/exec_monitor.c:484 -#: src/exec_monitor.c:491 src/exec_nopty.c:233 src/exec_nopty.c:242 +#: src/exec_monitor.c:438 src/exec_monitor.c:446 src/exec_monitor.c:454 +#: src/exec_monitor.c:461 src/exec_monitor.c:468 src/exec_monitor.c:475 +#: src/exec_monitor.c:482 src/exec_monitor.c:489 src/exec_monitor.c:496 +#: src/exec_monitor.c:503 src/exec_nopty.c:233 src/exec_nopty.c:242 #: src/exec_nopty.c:249 src/exec_nopty.c:256 src/exec_nopty.c:263 #: src/exec_nopty.c:270 src/exec_nopty.c:277 src/exec_nopty.c:284 #: src/exec_nopty.c:291 src/exec_nopty.c:298 src/exec_nopty.c:305 #: src/exec_nopty.c:312 src/exec_nopty.c:320 src/exec_nopty.c:328 -#: src/exec_nopty.c:387 src/exec_nopty.c:457 src/exec_pty.c:432 -#: src/exec_pty.c:537 src/exec_pty.c:587 src/exec_pty.c:965 src/exec_pty.c:974 -#: src/exec_pty.c:981 src/exec_pty.c:988 src/exec_pty.c:995 -#: src/exec_pty.c:1002 src/exec_pty.c:1009 src/exec_pty.c:1016 -#: src/exec_pty.c:1023 src/exec_pty.c:1030 src/exec_pty.c:1037 -#: src/exec_pty.c:1044 +#: src/exec_nopty.c:387 src/exec_nopty.c:457 src/exec_pty.c:441 +#: src/exec_pty.c:555 src/exec_pty.c:605 src/exec_pty.c:992 src/exec_pty.c:1001 +#: src/exec_pty.c:1008 src/exec_pty.c:1015 src/exec_pty.c:1022 +#: src/exec_pty.c:1029 src/exec_pty.c:1036 src/exec_pty.c:1043 +#: src/exec_pty.c:1050 src/exec_pty.c:1057 src/exec_pty.c:1064 +#: src/exec_pty.c:1071 msgid "unable to add event to queue" msgstr "nu se poate adăuga evenimentul la coadă" -#: src/exec_intercept.c:323 src/sudo.c:1033 +#: src/exec_intercept.c:324 src/sudo.c:1056 msgid "command not set by the security policy" msgstr "comanda nu este stabilită de politica de securitate" -#: src/exec_intercept.c:401 src/exec_intercept.c:441 src/sudo.c:1253 -#: src/sudo.c:1298 src/sudo.c:1342 +#: src/exec_intercept.c:403 src/exec_intercept.c:443 src/sudo.c:1274 +#: src/sudo.c:1319 src/sudo.c:1363 msgid "command rejected by policy" msgstr "comandă respinsă de politică" -#: src/exec_intercept.c:512 src/sudo.c:1940 +#: src/exec_intercept.c:514 src/sudo.c:1961 msgid "approval plugin error" msgstr "eroare la modulul de aprobare" -#: src/exec_intercept.c:537 src/sudo.c:1258 src/sudo.c:1303 src/sudo.c:1347 -#: src/sudo.c:1421 +#: src/exec_intercept.c:539 src/sudo.c:1279 src/sudo.c:1324 src/sudo.c:1368 +#: src/sudo.c:1442 msgid "policy plugin error" msgstr "eroare de modul de politică" -#: src/exec_intercept.c:566 +#: src/exec_intercept.c:568 msgid "invalid PolicyCheckRequest" msgstr "PolicyCheckRequest nevalid" @@ -396,12 +399,12 @@ msgstr "PolicyCheckRequest nevalid" # Eu, unul n-am posibilitatea de-a verifica în practică, toate mesajele... # Acesta pare să fie un mesaj pentru LDAP..., iar # eu nu utilizez LDAP -#: src/exec_intercept.c:709 +#: src/exec_intercept.c:711 #, c-format msgid "client request too large: %zu" msgstr "cererea clientului este prea mare: %zu" -#: src/exec_intercept.c:751 +#: src/exec_intercept.c:753 #, c-format msgid "unable to unpack %s size %zu" msgstr "nu se poate despacheta %s cu dimensiunea %zu" @@ -410,12 +413,12 @@ msgstr "nu se poate despacheta %s cu dimensiunea %zu" # „type_case cu o valoare neașteptată %d în %s de la %s” # poate suna/era mai bine: # „valoare (a) type_case neașteptată %d, în %s de la %s” -#: src/exec_intercept.c:799 +#: src/exec_intercept.c:801 #, c-format msgid "unexpected type_case value %d in %s from %s" msgstr "type_case cu o valoare neașteptată %d în %s de la %s" -#: src/exec_intercept.c:825 +#: src/exec_intercept.c:827 #, c-format msgid "server message too large: %zu" msgstr "mesaj de la server prea mare: %zu" @@ -442,7 +445,7 @@ msgstr "eroare la suspendarea jurnalizării" msgid "error changing window size" msgstr "eroare la schimbarea dimensiunii ferestrei" -#: src/exec_monitor.c:328 +#: src/exec_monitor.c:330 msgid "error reading from socketpair" msgstr "eroare la citirea de la socketpair" @@ -453,130 +456,130 @@ msgstr "eroare la citirea de la socketpair" # canal secundar # canal posterior # canal din spate -#: src/exec_monitor.c:340 +#: src/exec_monitor.c:342 #, c-format msgid "unexpected reply type on backchannel: %d" msgstr "tip de răspuns neașteptat pe backchannel: %d" -#: src/exec_monitor.c:566 +#: src/exec_monitor.c:578 msgid "unable to set controlling tty" msgstr "nu se poate stabili tty de control" -# Schimbat de la: „linia de asamblare” -# la: „tubul conector” -#: src/exec_monitor.c:574 src/exec_nopty.c:504 src/exec_nopty.c:514 -#: src/exec_nopty.c:524 src/exec_nopty.c:560 src/exec_pty.c:1195 -#: src/exec_pty.c:1222 src/exec_pty.c:1242 src/exec_pty.c:1262 -#: src/tgetpass.c:306 -msgid "unable to create pipe" -msgstr "nu se poate crea „tubul conector”(pipe)" +#: src/exec_monitor.c:590 src/exec_nopty.c:572 src/exec_pty.c:1126 +#: src/exec_pty.c:1135 +msgid "unable to create sockets" +msgstr "nu se pot crea socluri" # Modificat de la: „de la superior” # la: „de la procesul părinte” -#: src/exec_monitor.c:584 +#: src/exec_monitor.c:599 msgid "unable to receive message from parent" msgstr "nu se poate primi mesajul de la procesul părinte" # Modificat de la: # „nu se poate da fork” # la: „nu se poate bifurca” -#: src/exec_monitor.c:600 src/exec_nopty.c:603 src/exec_pty.c:1303 +#: src/exec_monitor.c:614 src/exec_nopty.c:606 src/exec_pty.c:1336 #: src/sudo_edit.c:361 src/tgetpass.c:310 msgid "unable to fork" msgstr "nu se poate bifurca" -#: src/exec_monitor.c:604 src/exec_monitor.c:700 src/exec_nopty.c:708 +#: src/exec_monitor.c:618 src/exec_monitor.c:720 src/exec_nopty.c:712 msgid "unable to restore tty label" msgstr "nu se poate restaura eticheta tty" -#: src/exec_monitor.c:615 src/sesh.c:217 src/sudo.c:1204 +#: src/exec_monitor.c:629 src/exec_monitor.c:678 src/sesh.c:217 src/sudo.c:1225 #, c-format msgid "unable to execute %s" msgstr "nu se poate executa %s" -#: src/exec_nopty.c:554 src/exec_pty.c:1131 +# Schimbat de la: „linia de asamblare” +# la: „tubul conector” +#: src/exec_nopty.c:507 src/exec_nopty.c:517 src/exec_nopty.c:527 +#: src/exec_nopty.c:563 src/exec_pty.c:1224 src/exec_pty.c:1251 +#: src/exec_pty.c:1274 src/exec_pty.c:1292 src/tgetpass.c:306 +msgid "unable to create pipe" +msgstr "nu se poate crea „tubul conector”(pipe)" + +#: src/exec_nopty.c:557 src/exec_pty.c:1157 msgid "policy plugin failed session initialization" msgstr "modulul de politică a eșuat la inițializarea sesiunii" -#: src/exec_nopty.c:569 src/exec_pty.c:1100 src/exec_pty.c:1109 -msgid "unable to create sockets" -msgstr "nu se pot crea socluri" - -#: src/exec_nopty.c:696 src/exec_pty.c:1406 +#: src/exec_nopty.c:700 src/exec_pty.c:1437 msgid "error in event loop" msgstr "eroare în bucla de eveniment" -#: src/exec_preload.c:167 src/net_ifs.c:206 src/net_ifs.c:372 -#: src/net_ifs.c:433 src/net_ifs.c:620 src/net_ifs.c:852 src/sudo.c:488 -#: src/sudo_edit.c:398 src/sudo_edit.c:406 +#: src/exec_preload.c:168 src/net_ifs.c:206 src/net_ifs.c:372 src/net_ifs.c:433 +#: src/net_ifs.c:620 src/net_ifs.c:852 src/sudo.c:494 src/sudo_edit.c:398 +#: src/sudo_edit.c:406 #, c-format msgid "internal error, %s overflow" msgstr "eroare internă, supraplin %s" -#: src/exec_ptrace.c:1080 src/exec_ptrace.c:1105 src/exec_ptrace.c:1925 +#: src/exec_ptrace.c:1082 src/exec_ptrace.c:1107 src/exec_ptrace.c:1930 #, c-format msgid "unable to set registers for process %d" msgstr "nu se pot configura registrele pentru procesul %d" -#: src/exec_ptrace.c:1100 src/exec_ptrace.c:1275 src/exec_ptrace.c:1628 +#: src/exec_ptrace.c:1102 src/exec_ptrace.c:1277 src/exec_ptrace.c:1630 #, c-format msgid "process %d exited unexpectedly" msgstr "procesul %d a ieșit în mod neașteptat" -#: src/exec_ptrace.c:1209 +#: src/exec_ptrace.c:1211 msgid "unable to set seccomp filter" msgstr "nu se poate configura filtrul seccomp" -#: src/exec_ptrace.c:1406 +#: src/exec_ptrace.c:1408 #, c-format msgid "interpreter argument , expected \"%s\", got \"%s\"" msgstr "argument interpret, era așteptat „%s”, s-a primit „%s”" -#: src/exec_ptrace.c:1505 +#: src/exec_ptrace.c:1506 #, c-format msgid "pathname mismatch, expected \"%s\", got \"%s\"" msgstr "nepotrivire în numele de rută, era așteptat „%s”, s-a primit „%s”" -#: src/exec_ptrace.c:1514 src/exec_ptrace.c:1521 src/exec_ptrace.c:1545 -#: src/exec_ptrace.c:1553 src/exec_ptrace.c:1559 src/exec_ptrace.c:1565 +#: src/exec_ptrace.c:1515 src/exec_ptrace.c:1522 src/exec_ptrace.c:1546 +#: src/exec_ptrace.c:1554 src/exec_ptrace.c:1560 src/exec_ptrace.c:1566 #, c-format msgid "%s[%d] mismatch, expected \"%s\", got \"%s\"" msgstr "nepotrivire în %s[%d], era așteptat „%s”, s-a primit „%s”" -#: src/exec_ptrace.c:1632 +#: src/exec_ptrace.c:1634 #, c-format msgid "process %d unexpected status 0x%x" msgstr "stare neașteptată a procesului %d: 0x%x" -#: src/exec_ptrace.c:1723 +#: src/exec_ptrace.c:1727 #, c-format msgid "unable to get event message for process %d" msgstr "nu s-a putut obține mesajul de eveniment pentru procesul %d" -#: src/exec_ptrace.c:1730 +#: src/exec_ptrace.c:1734 #, c-format msgid "unable to get registers for process %d" msgstr "nu se pot obține registrele pentru procesul %d" -#: src/exec_pty.c:84 +#: src/exec_pty.c:87 msgid "unable to allocate pty" msgstr "nu se poate aloca pty" -#: src/exec_pty.c:131 src/exec_pty.c:284 src/tgetpass.c:251 +#: src/exec_pty.c:118 src/exec_pty.c:257 src/tgetpass.c:251 msgid "unable to restore terminal settings" msgstr "nu se pot restaura configurările terminalului" # Modificare: # de la: „nu se poate stabili mânerul pentru semnalul” # la: „nu se poate stabili manipulantul pentru semnalul” -#: src/exec_pty.c:243 +#: src/exec_pty.c:218 msgid "unable to set handler for SIGCONT" msgstr "nu se poate stabili gestionarul pentru semnalul SIGCONT" # Modificare: # de la: „nu se poate stabili mânerul pentru semnalul” # la: „nu se poate stabili manipulantul pentru semnalul” -#: src/exec_pty.c:293 +#: src/exec_pty.c:267 #, c-format msgid "unable to set handler for SIG%s" msgstr "nu se poate stabili gestionarul pentru semnalul SIG%s" @@ -584,7 +587,7 @@ msgstr "nu se poate stabili gestionarul pentru semnalul SIG%s" # Modificare: # de la: „nu se poate stabili mânerul pentru semnalul” # la: „nu se poate stabili manipulantul pentru semnalul” -#: src/exec_pty.c:317 +#: src/exec_pty.c:291 #, c-format msgid "unable to restore handler for SIG%s" msgstr "nu se poate restaura gestionarul pentru semnalul SIG%s" @@ -592,11 +595,11 @@ msgstr "nu se poate restaura gestionarul pentru semnalul SIG%s" # Modificare: # de la: „nu se poate stabili mânerul pentru semnalul” # la: „nu se poate stabili manipulantul pentru semnalul” -#: src/exec_pty.c:345 +#: src/exec_pty.c:319 msgid "unable to restore handler for SIGCONT" msgstr "nu se poate restaura gestionarul pentru semnalul SIGCONT" -#: src/exec_pty.c:1353 +#: src/exec_pty.c:1385 msgid "unable to send message to monitor process" msgstr "nu se poate trimite mesajul la procesul de monitorizare" @@ -652,45 +655,45 @@ msgstr "tip de modul necunoscut %d găsit în %s" msgid "policy plugin %s does not include a check_policy method" msgstr "modulul de politică %s nu include o metodă check_policy" -#: src/parse_args.c:214 +#: src/parse_args.c:213 #, c-format msgid "invalid environment variable name: %s" msgstr "nume de variabilă de mediu nevalid: %s" # Modificat de la: „mai mare decît sau egal cu 3” # la: „mai mare sau egal cu 3” -#: src/parse_args.c:319 +#: src/parse_args.c:318 msgid "the argument to -C must be a number greater than or equal to 3" msgstr "argumentul la -C trebuie să fie un număr mai mare sau egal cu 3" # Modificat de la: „trebuie să specificați amândouă opțiunile -i și -s” # la: „nu puteți specifica ambele opțiuni, -i și -s” # ATENȚIE, și la traducerea următoare, mesajul de tradus este aproape identic acestuia, traducerea nu chiar... -#: src/parse_args.c:556 +#: src/parse_args.c:555 msgid "you may not specify both the -i and -s options" msgstr "nu puteți specifica ambele opțiuni, -i și -s" -#: src/parse_args.c:561 +#: src/parse_args.c:560 msgid "you may not specify both the -i and -E options" msgstr "nu puteți specifica amândouă opțiunile -i și -E" -#: src/parse_args.c:571 +#: src/parse_args.c:570 msgid "the -E option is not valid in edit mode" msgstr "opțiunea -E nu este validă în modul editare" -#: src/parse_args.c:574 +#: src/parse_args.c:573 msgid "you may not specify environment variables in edit mode" msgstr "nu puteți specifica variabile de mediu în modul editare" -#: src/parse_args.c:584 +#: src/parse_args.c:583 msgid "the -U option may only be used with the -l option" msgstr "opțiunea -U poate fi utilizată doar cu opțiunea -l" -#: src/parse_args.c:588 +#: src/parse_args.c:587 msgid "the -A and -S options may not be used together" msgstr "opțiunile -A și -S nu pot fi utilizate împreună" -#: src/parse_args.c:686 +#: src/parse_args.c:685 msgid "sudoedit is not supported on this platform" msgstr "sudoedit nu este suportat pe această platformă" @@ -1067,153 +1070,153 @@ msgstr "setproject a eșuat pentru proiectul „%s”" msgid "warning, resource control assignment failed for project \"%s\"" msgstr "avertizare, alocarea controlului de resurse a eșuat pentru proiectul „%s”" -#: src/sudo.c:214 +#: src/sudo.c:215 #, c-format msgid "Sudo version %s\n" msgstr "Versiune sudo %s\n" -#: src/sudo.c:216 +#: src/sudo.c:217 #, c-format msgid "Configure options: %s\n" msgstr "Configurează opțiunile: %s\n" -#: src/sudo.c:224 +#: src/sudo.c:225 msgid "fatal error, unable to load plugins" msgstr "eroare fatală, nu se pot încărca modulele" -#: src/sudo.c:270 +#: src/sudo.c:271 msgid "plugin did not return a command to execute" msgstr "modulul nu a întors o comandă de executat" -#: src/sudo.c:306 +#: src/sudo.c:307 #, c-format msgid "unexpected sudo mode 0x%x" msgstr "mod sudo neașteptat 0x%x" -#: src/sudo.c:559 +#: src/sudo.c:567 #, c-format msgid "you do not exist in the %s database" msgstr "nu existați în baza de date %s" -#: src/sudo.c:616 +#: src/sudo.c:632 msgid "unable to determine tty" msgstr "nu se poate determina tty" -#: src/sudo.c:932 +#: src/sudo.c:955 msgid "The \"no new privileges\" flag is set, which prevents sudo from running as root." msgstr "Este setat indicatorul „fără privilegii noi”, ceea ce împiedică rularea «sudo» ca root." -#: src/sudo.c:934 +#: src/sudo.c:957 msgid "If sudo is running in a container, you may need to adjust the container configuration to disable the flag." msgstr "Dacă «sudo» rulează într-un container, poate fi necesar să ajustați configurația containerului pentru a dezactiva indicatorul." -#: src/sudo.c:968 +#: src/sudo.c:991 #, c-format msgid "%s must be owned by uid %d and have the setuid bit set" msgstr "%s trebuie să fie deținut de uid-ul %d și să aibă bitul setuid stabilit" # Notă: eficient -> efectiv -#: src/sudo.c:971 +#: src/sudo.c:994 #, c-format msgid "effective uid is not %d, is %s on a file system with the 'nosuid' option set or an NFS file system without root privileges?" msgstr "uid-ul efectiv nu este %d, este %s pe un sistem de fișiere cu opțiunea „nosuid” stabilită sau un sistem de fișiere NFS fără privilegii de root?" -#: src/sudo.c:977 +#: src/sudo.c:1000 #, c-format msgid "effective uid is not %d, is sudo installed setuid root?" msgstr "uid-ul efectiv nu este %d, este sudo instalat root setuid?" -#: src/sudo.c:993 src/tgetpass.c:332 +#: src/sudo.c:1016 src/tgetpass.c:332 msgid "unable to set supplementary group IDs" msgstr "nu se pot stabili ID-urile de grup suplimentare" # Notă: eficiente -> efective -#: src/sudo.c:1000 +#: src/sudo.c:1023 #, c-format msgid "unable to set effective gid to runas gid %u" msgstr "nu se pot stabili gid-uri efective către gid-uri run_as %u" -#: src/sudo.c:1006 +#: src/sudo.c:1029 #, c-format msgid "unable to set gid to runas gid %u" msgstr "nu se poate stabili gid-ul către gid-ul run_as %u" -#: src/sudo.c:1037 +#: src/sudo.c:1060 msgid "argv not set by the security policy" msgstr "argv nu este stabilit de politica de securitate" -#: src/sudo.c:1041 +#: src/sudo.c:1064 msgid "envp not set by the security policy" msgstr "envp nu este stabilit de politica de securitate" -#: src/sudo.c:1063 +#: src/sudo.c:1086 #, c-format msgid "unexpected child termination condition: %d" msgstr "condiție de terminare a procesului copil neașteptată: %d" -#: src/sudo.c:1176 +#: src/sudo.c:1198 msgid "unable to initialize policy plugin" msgstr "nu se poate inițializa modulul de politică" -#: src/sudo.c:1238 +#: src/sudo.c:1259 #, c-format msgid "policy plugin %s is missing the \"check_policy\" method" msgstr "modulului de politică %s îi lipsește metoda „check_policy”" -#: src/sudo.c:1284 +#: src/sudo.c:1305 #, c-format msgid "policy plugin %s does not support listing privileges" msgstr "modulul de politică %s nu suportă listarea privilegiilor" -#: src/sudo.c:1328 +#: src/sudo.c:1349 #, c-format msgid "policy plugin %s does not support the -v option" msgstr "modulul de politică %s nu suportă opțiunea -v" -#: src/sudo.c:1366 +#: src/sudo.c:1387 #, c-format msgid "policy plugin %s does not support the -k/-K options" msgstr "modulul de politică %s nu suportă opțiunile -k/-K" -#: src/sudo.c:1495 +#: src/sudo.c:1516 #, c-format msgid "error initializing I/O plugin %s" msgstr "eroare la inițializarea modulului In/Ieș(I/O) %s" -#: src/sudo.c:1498 +#: src/sudo.c:1519 msgid "error initializing I/O plugin" msgstr "eroare la inițializarea modulului In/Ieș(I/O)" -#: src/sudo.c:1647 +#: src/sudo.c:1668 #, c-format msgid "error initializing audit plugin %s" msgstr "eroare la inițializarea modulului auditare %s" -#: src/sudo.c:1726 +#: src/sudo.c:1747 #, c-format msgid "%s: unable to log error event%s%s" msgstr "%s: nu se poate înregistra evenimentul de eroare%s%s" -#: src/sudo.c:1762 +#: src/sudo.c:1783 #, c-format msgid "%s: unable to log accept event%s%s" msgstr "%s: nu se poate înregistra evenimentul de acceptare%s%s" -#: src/sudo.c:1767 src/sudo.c:1805 +#: src/sudo.c:1788 src/sudo.c:1826 msgid "audit plugin error" msgstr "eroare a modulului de auditare" -#: src/sudo.c:1800 +#: src/sudo.c:1821 #, c-format msgid "%s: unable to log reject event%s%s" msgstr "%s: nu se poate înregistra evenimentul de respingere%s%s" -#: src/sudo.c:1860 +#: src/sudo.c:1881 #, c-format msgid "error initializing approval plugin %s" msgstr "eroare la inițializarea modulului de aprobare %s" -#: src/sudo.c:1930 +#: src/sudo.c:1951 msgid "command rejected by approver" msgstr "comandă respinsă de aprobator" @@ -1273,7 +1276,7 @@ msgstr "eroare de modul: lipsește lista de fișiere pentru sudoedit" msgid "unable to read the clock" msgstr "nu se poate citi ceasul" -#: src/sudo_intercept_common.c:365 +#: src/sudo_intercept_common.c:372 msgid "intercept port not set" msgstr "portul de interceptare nu este definit" @@ -1312,6 +1315,12 @@ msgstr "nu se poate stabili uid-ul la %u" msgid "unable to run %s" msgstr "nu se poate rula %s" +#: src/ttyname.c:139 src/ttyname.c:182 src/ttyname.c:199 src/ttyname.c:284 +#: src/ttyname.c:312 src/ttyname.c:356 +#, c-format +msgid "unable to find terminal name for device %u, %u" +msgstr "nu se poate găsi numele terminalului pentru dispozitivul %u, %u" + #: src/utmp.c:283 msgid "unable to save stdin" msgstr "nu se poate salva stdin" diff --git a/po/ru.mo b/po/ru.mo index e337ab8f2..665a66e43 100644 Binary files a/po/ru.mo and b/po/ru.mo differ diff --git a/po/ru.po b/po/ru.po index a1f2db454..cc67712fc 100644 --- a/po/ru.po +++ b/po/ru.po @@ -4,13 +4,13 @@ # # Pavel Maryanov , 2011. # Yuri Kozlov , 2011, 2012, 2013, 2014, 2016. -# Kirill Isakov , 2023. +# Kirill Isakov , 2023, 2024. msgid "" msgstr "" -"Project-Id-Version: sudo 1.9.14b1\n" +"Project-Id-Version: sudo 1.9.16b1\n" "Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n" -"POT-Creation-Date: 2023-06-07 13:27-0600\n" -"PO-Revision-Date: 2023-06-09 00:22+0600\n" +"POT-Creation-Date: 2024-06-08 09:06-0600\n" +"PO-Revision-Date: 2024-06-16 20:59+0500\n" "Last-Translator: Kirill Isakov \n" "Language-Team: Russian \n" "Language: ru\n" @@ -18,7 +18,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "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-Generator: Poedit 3.3.1\n" +"X-Generator: Poedit 3.4.2\n" "X-Bugs: Report translation errors to the Language-Team address.\n" #: lib/util/aix.c:89 lib/util/aix.c:169 @@ -35,78 +35,80 @@ msgid "unable to restore registry" msgstr "не удаётся восстановить реестр" #: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/gidlist.c:76 -#: lib/util/json.c:55 lib/util/json.c:197 lib/util/sudo_conf.c:215 -#: lib/util/sudo_conf.c:301 lib/util/sudo_conf.c:378 lib/util/sudo_conf.c:647 -#: src/conversation.c:78 src/exec_iolog.c:122 src/exec_iolog.c:133 -#: src/exec_iolog.c:210 src/exec_monitor.c:171 src/exec_monitor.c:418 -#: src/exec_monitor.c:424 src/exec_monitor.c:432 src/exec_monitor.c:440 -#: src/exec_monitor.c:447 src/exec_monitor.c:454 src/exec_monitor.c:461 -#: src/exec_monitor.c:468 src/exec_monitor.c:475 src/exec_monitor.c:482 -#: src/exec_monitor.c:489 src/exec_nopty.c:231 src/exec_nopty.c:240 +#: lib/util/json.c:55 lib/util/json.c:197 lib/util/sudo_conf.c:218 +#: lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381 lib/util/sudo_conf.c:672 +#: src/conversation.c:81 src/exec_iolog.c:122 src/exec_iolog.c:133 +#: src/exec_iolog.c:210 src/exec_monitor.c:173 src/exec_monitor.c:430 +#: src/exec_monitor.c:436 src/exec_monitor.c:444 src/exec_monitor.c:452 +#: src/exec_monitor.c:459 src/exec_monitor.c:466 src/exec_monitor.c:473 +#: src/exec_monitor.c:480 src/exec_monitor.c:487 src/exec_monitor.c:494 +#: src/exec_monitor.c:501 src/exec_nopty.c:231 src/exec_nopty.c:240 #: src/exec_nopty.c:247 src/exec_nopty.c:254 src/exec_nopty.c:261 #: src/exec_nopty.c:268 src/exec_nopty.c:275 src/exec_nopty.c:282 #: src/exec_nopty.c:289 src/exec_nopty.c:296 src/exec_nopty.c:303 #: src/exec_nopty.c:310 src/exec_nopty.c:318 src/exec_nopty.c:326 -#: src/exec_nopty.c:744 src/exec_preload.c:343 src/exec_ptrace.c:475 -#: src/exec_ptrace.c:768 src/exec_ptrace.c:983 src/exec_ptrace.c:1096 -#: src/exec_ptrace.c:1271 src/exec_ptrace.c:1624 src/exec_ptrace.c:1651 -#: src/exec_ptrace.c:1841 src/exec_pty.c:581 src/exec_pty.c:765 -#: src/exec_pty.c:963 src/exec_pty.c:972 src/exec_pty.c:979 src/exec_pty.c:986 -#: src/exec_pty.c:993 src/exec_pty.c:1000 src/exec_pty.c:1007 -#: src/exec_pty.c:1014 src/exec_pty.c:1021 src/exec_pty.c:1028 -#: src/exec_pty.c:1035 src/exec_pty.c:1042 src/exec_pty.c:1050 -#: src/load_plugins.c:100 src/load_plugins.c:125 src/load_plugins.c:161 -#: src/load_plugins.c:394 src/load_plugins.c:400 src/parse_args.c:172 -#: src/parse_args.c:193 src/parse_args.c:269 src/parse_args.c:625 -#: src/parse_args.c:647 src/parse_args.c:672 src/preserve_fds.c:46 -#: src/preserve_fds.c:131 src/selinux.c:89 src/selinux.c:362 src/selinux.c:472 -#: src/selinux.c:489 src/selinux.c:496 src/sesh.c:206 src/sesh.c:240 -#: src/sesh.c:246 src/sesh.c:253 src/sesh.c:259 src/sesh.c:470 src/sudo.c:644 -#: src/sudo.c:709 src/sudo.c:719 src/sudo.c:746 src/sudo.c:769 src/sudo.c:778 -#: src/sudo.c:787 src/sudo.c:805 src/sudo.c:846 src/sudo.c:855 src/sudo.c:865 -#: src/sudo.c:898 src/sudo.c:1127 src/sudo.c:1148 src/sudo.c:1441 -#: src/sudo.c:1610 src/sudo.c:1837 src/sudo.c:2171 src/sudo_edit.c:89 -#: src/sudo_edit.c:149 src/sudo_edit.c:430 src/sudo_edit.c:439 -#: src/sudo_edit.c:540 src/sudo_edit.c:547 src/sudo_edit.c:692 -#: src/sudo_edit.c:712 src/sudo_intercept_common.c:115 -#: src/sudo_intercept_common.c:340 +#: src/exec_nopty.c:748 src/exec_preload.c:347 src/exec_ptrace.c:475 +#: src/exec_ptrace.c:768 src/exec_ptrace.c:985 src/exec_ptrace.c:1098 +#: src/exec_ptrace.c:1273 src/exec_ptrace.c:1626 src/exec_ptrace.c:1653 +#: src/exec_ptrace.c:1845 src/exec_pty.c:599 src/exec_pty.c:783 +#: src/exec_pty.c:990 src/exec_pty.c:999 src/exec_pty.c:1006 +#: src/exec_pty.c:1013 src/exec_pty.c:1020 src/exec_pty.c:1027 +#: src/exec_pty.c:1034 src/exec_pty.c:1041 src/exec_pty.c:1048 +#: src/exec_pty.c:1055 src/exec_pty.c:1062 src/exec_pty.c:1069 +#: src/exec_pty.c:1077 src/load_plugins.c:100 src/load_plugins.c:125 +#: src/load_plugins.c:161 src/load_plugins.c:394 src/load_plugins.c:400 +#: src/parse_args.c:171 src/parse_args.c:192 src/parse_args.c:268 +#: src/parse_args.c:624 src/parse_args.c:646 src/parse_args.c:671 +#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89 +#: src/selinux.c:362 src/selinux.c:472 src/selinux.c:489 src/selinux.c:496 +#: src/sesh.c:206 src/sesh.c:240 src/sesh.c:246 src/sesh.c:253 src/sesh.c:259 +#: src/sesh.c:470 src/sudo.c:581 src/sudo.c:607 src/sudo.c:660 src/sudo.c:726 +#: src/sudo.c:737 src/sudo.c:764 src/sudo.c:787 src/sudo.c:796 src/sudo.c:805 +#: src/sudo.c:818 src/sudo.c:827 src/sudo.c:868 src/sudo.c:878 src/sudo.c:888 +#: src/sudo.c:921 src/sudo.c:923 src/sudo.c:1150 src/sudo.c:1171 +#: src/sudo.c:1462 src/sudo.c:1631 src/sudo.c:1858 src/sudo.c:2191 +#: src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:430 +#: src/sudo_edit.c:439 src/sudo_edit.c:540 src/sudo_edit.c:547 +#: src/sudo_edit.c:692 src/sudo_edit.c:712 src/sudo_intercept_common.c:122 +#: src/sudo_intercept_common.c:347 #, c-format msgid "%s: %s" msgstr "%s: %s" #: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/json.c:56 -#: lib/util/json.c:198 lib/util/regex.c:173 lib/util/sudo_conf.c:216 -#: lib/util/sudo_conf.c:301 lib/util/sudo_conf.c:378 lib/util/sudo_conf.c:647 -#: src/conversation.c:79 src/exec_intercept.c:111 src/exec_intercept.c:350 -#: src/exec_intercept.c:525 src/exec_intercept.c:589 src/exec_intercept.c:713 -#: src/exec_intercept.c:837 src/exec_iolog.c:122 src/exec_iolog.c:133 -#: src/exec_iolog.c:210 src/exec_monitor.c:418 src/exec_monitor.c:424 -#: src/exec_monitor.c:432 src/exec_monitor.c:440 src/exec_monitor.c:447 -#: src/exec_monitor.c:454 src/exec_monitor.c:461 src/exec_monitor.c:468 -#: src/exec_monitor.c:475 src/exec_monitor.c:482 src/exec_monitor.c:489 +#: lib/util/json.c:198 lib/util/regex.c:173 lib/util/sudo_conf.c:219 +#: lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381 lib/util/sudo_conf.c:672 +#: src/conversation.c:82 src/exec_intercept.c:112 src/exec_intercept.c:351 +#: src/exec_intercept.c:527 src/exec_intercept.c:591 src/exec_intercept.c:715 +#: src/exec_intercept.c:839 src/exec_iolog.c:122 src/exec_iolog.c:133 +#: src/exec_iolog.c:210 src/exec_monitor.c:430 src/exec_monitor.c:436 +#: src/exec_monitor.c:444 src/exec_monitor.c:452 src/exec_monitor.c:459 +#: src/exec_monitor.c:466 src/exec_monitor.c:473 src/exec_monitor.c:480 +#: src/exec_monitor.c:487 src/exec_monitor.c:494 src/exec_monitor.c:501 #: src/exec_nopty.c:231 src/exec_nopty.c:240 src/exec_nopty.c:247 #: src/exec_nopty.c:254 src/exec_nopty.c:261 src/exec_nopty.c:268 #: src/exec_nopty.c:275 src/exec_nopty.c:282 src/exec_nopty.c:289 #: src/exec_nopty.c:296 src/exec_nopty.c:303 src/exec_nopty.c:310 -#: src/exec_nopty.c:318 src/exec_nopty.c:326 src/exec_preload.c:343 -#: src/exec_ptrace.c:475 src/exec_ptrace.c:768 src/exec_ptrace.c:983 -#: src/exec_ptrace.c:1651 src/exec_ptrace.c:1842 src/exec_pty.c:581 -#: src/exec_pty.c:963 src/exec_pty.c:972 src/exec_pty.c:979 src/exec_pty.c:986 -#: src/exec_pty.c:993 src/exec_pty.c:1000 src/exec_pty.c:1007 -#: src/exec_pty.c:1014 src/exec_pty.c:1021 src/exec_pty.c:1028 -#: src/exec_pty.c:1035 src/exec_pty.c:1042 src/exec_pty.c:1050 -#: src/load_plugins.c:100 src/load_plugins.c:125 src/load_plugins.c:161 -#: src/load_plugins.c:394 src/load_plugins.c:400 src/parse_args.c:172 -#: src/parse_args.c:194 src/parse_args.c:269 src/parse_args.c:625 -#: src/parse_args.c:647 src/parse_args.c:672 src/preserve_fds.c:46 -#: src/preserve_fds.c:131 src/selinux.c:89 src/selinux.c:362 src/selinux.c:472 -#: src/selinux.c:489 src/selinux.c:496 src/sesh.c:206 src/sesh.c:471 -#: src/sudo.c:228 src/sudo.c:644 src/sudo.c:898 src/sudo.c:1127 -#: src/sudo.c:1148 src/sudo.c:1441 src/sudo.c:1610 src/sudo.c:1837 -#: src/sudo.c:2171 src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:430 +#: src/exec_nopty.c:318 src/exec_nopty.c:326 src/exec_preload.c:347 +#: src/exec_ptrace.c:475 src/exec_ptrace.c:768 src/exec_ptrace.c:985 +#: src/exec_ptrace.c:1653 src/exec_ptrace.c:1846 src/exec_pty.c:599 +#: src/exec_pty.c:990 src/exec_pty.c:999 src/exec_pty.c:1006 +#: src/exec_pty.c:1013 src/exec_pty.c:1020 src/exec_pty.c:1027 +#: src/exec_pty.c:1034 src/exec_pty.c:1041 src/exec_pty.c:1048 +#: src/exec_pty.c:1055 src/exec_pty.c:1062 src/exec_pty.c:1069 +#: src/exec_pty.c:1077 src/load_plugins.c:100 src/load_plugins.c:125 +#: src/load_plugins.c:161 src/load_plugins.c:394 src/load_plugins.c:400 +#: src/parse_args.c:171 src/parse_args.c:193 src/parse_args.c:268 +#: src/parse_args.c:624 src/parse_args.c:646 src/parse_args.c:671 +#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89 +#: src/selinux.c:362 src/selinux.c:472 src/selinux.c:489 src/selinux.c:496 +#: src/sesh.c:206 src/sesh.c:471 src/sudo.c:229 src/sudo.c:581 src/sudo.c:607 +#: src/sudo.c:660 src/sudo.c:819 src/sudo.c:921 src/sudo.c:923 src/sudo.c:1150 +#: src/sudo.c:1171 src/sudo.c:1462 src/sudo.c:1631 src/sudo.c:1858 +#: src/sudo.c:2191 src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:430 #: src/sudo_edit.c:439 src/sudo_edit.c:540 src/sudo_edit.c:547 -#: src/sudo_edit.c:692 src/sudo_edit.c:712 src/sudo_intercept_common.c:115 -#: src/sudo_intercept_common.c:340 +#: src/sudo_edit.c:692 src/sudo_edit.c:712 src/sudo_intercept_common.c:122 +#: src/sudo_intercept_common.c:347 msgid "unable to allocate memory" msgstr "не удаётся выделить память" @@ -120,9 +122,9 @@ msgstr "не удаётся выполнить вызов stat %.*s" msgid "%.*s exists but is not a directory (0%o)" msgstr "%.*s существует, но не является каталогом (0%o)" -#: lib/util/mkdir_parents.c:103 lib/util/sudo_conf.c:664 -#: lib/util/sudo_conf.c:683 lib/util/sudo_conf.c:710 src/selinux.c:235 -#: src/selinux.c:265 src/sudo.c:373 src/sudo_edit.c:495 src/sudo_edit.c:559 +#: lib/util/mkdir_parents.c:103 lib/util/sudo_conf.c:689 +#: lib/util/sudo_conf.c:708 lib/util/sudo_conf.c:735 src/selinux.c:235 +#: src/selinux.c:265 src/sudo.c:375 src/sudo_edit.c:495 src/sudo_edit.c:559 #, c-format msgid "unable to open %s" msgstr "не удаётся открыть %s" @@ -145,55 +147,55 @@ msgstr "регулярное выражение слишком велико" msgid "Unknown signal" msgstr "Неизвестный сигнал" -#: lib/util/strtoid.c:84 lib/util/strtomode.c:52 lib/util/strtonum.c:148 -#: lib/util/strtonum.c:187 src/sesh.c:240 src/sesh.c:253 +#: lib/util/strtoid.c:84 lib/util/strtomode.c:52 lib/util/strtonum.c:147 +#: lib/util/strtonum.c:186 src/sesh.c:240 src/sesh.c:253 msgid "invalid value" msgstr "недопустимое значение" -#: lib/util/strtomode.c:58 lib/util/strtonum.c:160 +#: lib/util/strtomode.c:58 lib/util/strtonum.c:159 msgid "value too large" msgstr "значение слишком велико" -#: lib/util/strtomode.c:58 lib/util/strtonum.c:154 +#: lib/util/strtomode.c:58 lib/util/strtonum.c:153 msgid "value too small" msgstr "значение слишком мало" -#: lib/util/sudo_conf.c:234 +#: lib/util/sudo_conf.c:237 #, c-format msgid "invalid Path value \"%s\" in %s, line %u" msgstr "некорректное значение Path «%s» в %s, строка %u" -#: lib/util/sudo_conf.c:400 lib/util/sudo_conf.c:453 +#: lib/util/sudo_conf.c:403 lib/util/sudo_conf.c:456 #, c-format msgid "invalid value for %s \"%s\" in %s, line %u" msgstr "некорректное значение для %s «%s» в %s, строка %u" -#: lib/util/sudo_conf.c:421 +#: lib/util/sudo_conf.c:424 #, c-format msgid "unsupported group source \"%s\" in %s, line %u" msgstr "неподдерживаемый групповой источник «%s» в %s, строка %u" -#: lib/util/sudo_conf.c:437 +#: lib/util/sudo_conf.c:440 #, c-format msgid "invalid max groups \"%s\" in %s, line %u" msgstr "некорректное максимальное значение для групп «%s» в %s, строка %u" -#: lib/util/sudo_conf.c:686 +#: lib/util/sudo_conf.c:711 #, c-format msgid "%s is not a regular file" msgstr "%s не является обычным файлом" -#: lib/util/sudo_conf.c:689 src/copy_file.c:164 +#: lib/util/sudo_conf.c:714 src/copy_file.c:164 #, c-format msgid "%s is owned by uid %u, should be %u" msgstr "%s принадлежит uid %u, должно быть %u" -#: lib/util/sudo_conf.c:693 +#: lib/util/sudo_conf.c:718 #, c-format msgid "%s is world writable" msgstr "доступ на запись в %s разрешена всем" -#: lib/util/sudo_conf.c:696 +#: lib/util/sudo_conf.c:721 #, c-format msgid "%s is group writable" msgstr "доступ на запись в %s разрешена группе" @@ -287,18 +289,18 @@ msgstr "не удаётся сменить каталог на %s" msgid "starting from %s" msgstr "начинаю с %s" -#: src/exec.c:278 src/exec.c:351 src/exec_monitor.c:552 src/exec_monitor.c:554 -#: src/exec_pty.c:1122 src/exec_pty.c:1124 src/signal.c:144 src/signal.c:151 +#: src/exec.c:278 src/exec.c:351 src/exec_monitor.c:564 src/exec_monitor.c:566 +#: src/exec_pty.c:1148 src/exec_pty.c:1150 src/signal.c:144 src/signal.c:151 #: src/signal.c:165 src/suspend_parent.c:143 #, c-format msgid "unable to set handler for signal %d" msgstr "не удаётся установить обработчик сигнала %d" -#: src/exec.c:424 +#: src/exec.c:447 msgid "intercept mode is not supported with SELinux RBAC on this system" msgstr "режим перехвата не поддерживается SELinux на этой системе" -#: src/exec.c:429 +#: src/exec.c:452 msgid "unable to log sub-commands with SELinux RBAC on this system" msgstr "не удаётся записать в журнал подкоманды SELinux на этой системе" @@ -306,63 +308,63 @@ msgstr "не удаётся записать в журнал подкоманд msgid "unable to remove PRIV_PROC_EXEC from PRIV_LIMIT" msgstr "не удаётся удалить PRIV_PROC_EXEC из PRIV_LIMIT" -#: src/exec_intercept.c:70 src/exec_iolog.c:163 src/exec_iolog.c:173 +#: src/exec_intercept.c:71 src/exec_iolog.c:163 src/exec_iolog.c:173 #: src/exec_iolog.c:218 src/exec_iolog.c:225 src/exec_iolog.c:252 -#: src/exec_monitor.c:426 src/exec_monitor.c:434 src/exec_monitor.c:442 -#: src/exec_monitor.c:449 src/exec_monitor.c:456 src/exec_monitor.c:463 -#: src/exec_monitor.c:470 src/exec_monitor.c:477 src/exec_monitor.c:484 -#: src/exec_monitor.c:491 src/exec_nopty.c:233 src/exec_nopty.c:242 +#: src/exec_monitor.c:438 src/exec_monitor.c:446 src/exec_monitor.c:454 +#: src/exec_monitor.c:461 src/exec_monitor.c:468 src/exec_monitor.c:475 +#: src/exec_monitor.c:482 src/exec_monitor.c:489 src/exec_monitor.c:496 +#: src/exec_monitor.c:503 src/exec_nopty.c:233 src/exec_nopty.c:242 #: src/exec_nopty.c:249 src/exec_nopty.c:256 src/exec_nopty.c:263 #: src/exec_nopty.c:270 src/exec_nopty.c:277 src/exec_nopty.c:284 #: src/exec_nopty.c:291 src/exec_nopty.c:298 src/exec_nopty.c:305 #: src/exec_nopty.c:312 src/exec_nopty.c:320 src/exec_nopty.c:328 -#: src/exec_nopty.c:387 src/exec_nopty.c:457 src/exec_pty.c:432 -#: src/exec_pty.c:537 src/exec_pty.c:587 src/exec_pty.c:965 src/exec_pty.c:974 -#: src/exec_pty.c:981 src/exec_pty.c:988 src/exec_pty.c:995 -#: src/exec_pty.c:1002 src/exec_pty.c:1009 src/exec_pty.c:1016 -#: src/exec_pty.c:1023 src/exec_pty.c:1030 src/exec_pty.c:1037 -#: src/exec_pty.c:1044 +#: src/exec_nopty.c:387 src/exec_nopty.c:457 src/exec_pty.c:441 +#: src/exec_pty.c:555 src/exec_pty.c:605 src/exec_pty.c:992 src/exec_pty.c:1001 +#: src/exec_pty.c:1008 src/exec_pty.c:1015 src/exec_pty.c:1022 +#: src/exec_pty.c:1029 src/exec_pty.c:1036 src/exec_pty.c:1043 +#: src/exec_pty.c:1050 src/exec_pty.c:1057 src/exec_pty.c:1064 +#: src/exec_pty.c:1071 msgid "unable to add event to queue" msgstr "не удаётся добавить событие в очередь" -#: src/exec_intercept.c:323 src/sudo.c:1033 +#: src/exec_intercept.c:324 src/sudo.c:1056 msgid "command not set by the security policy" msgstr "команда не назначена политикой безопасности" -#: src/exec_intercept.c:401 src/exec_intercept.c:441 src/sudo.c:1253 -#: src/sudo.c:1298 src/sudo.c:1342 +#: src/exec_intercept.c:403 src/exec_intercept.c:443 src/sudo.c:1274 +#: src/sudo.c:1319 src/sudo.c:1363 msgid "command rejected by policy" msgstr "команда отклонена политикой" -#: src/exec_intercept.c:512 src/sudo.c:1940 +#: src/exec_intercept.c:514 src/sudo.c:1961 msgid "approval plugin error" msgstr "ошибка в модуле подтверждения" -#: src/exec_intercept.c:537 src/sudo.c:1258 src/sudo.c:1303 src/sudo.c:1347 -#: src/sudo.c:1421 +#: src/exec_intercept.c:539 src/sudo.c:1279 src/sudo.c:1324 src/sudo.c:1368 +#: src/sudo.c:1442 msgid "policy plugin error" msgstr "ошибка в модуле политики" -#: src/exec_intercept.c:566 +#: src/exec_intercept.c:568 msgid "invalid PolicyCheckRequest" msgstr "некорректный PolicyCheckRequest" -#: src/exec_intercept.c:709 +#: src/exec_intercept.c:711 #, c-format msgid "client request too large: %zu" msgstr "запрос клиента слишком велик: %zu" -#: src/exec_intercept.c:751 +#: src/exec_intercept.c:753 #, c-format msgid "unable to unpack %s size %zu" msgstr "не удаётся распаковать %s, размер %zu" -#: src/exec_intercept.c:799 +#: src/exec_intercept.c:801 #, c-format msgid "unexpected type_case value %d in %s from %s" msgstr "неожиданное значение type_case %d в %s из %s" -#: src/exec_intercept.c:825 +#: src/exec_intercept.c:827 #, c-format msgid "server message too large: %zu" msgstr "сообщение сервера слишком велико: %zu" @@ -385,135 +387,135 @@ msgstr "ошибка при приостановке записи в журна msgid "error changing window size" msgstr "ошибка изменения размера окна" -#: src/exec_monitor.c:328 +#: src/exec_monitor.c:330 msgid "error reading from socketpair" msgstr "ошибка чтения из пары сокетов" -#: src/exec_monitor.c:340 +#: src/exec_monitor.c:342 #, c-format msgid "unexpected reply type on backchannel: %d" msgstr "неожиданный тип ответа в резервном канале: %d" -#: src/exec_monitor.c:566 +#: src/exec_monitor.c:578 msgid "unable to set controlling tty" msgstr "не удаётся установить управляющий tty" -#: src/exec_monitor.c:574 src/exec_nopty.c:504 src/exec_nopty.c:514 -#: src/exec_nopty.c:524 src/exec_nopty.c:560 src/exec_pty.c:1195 -#: src/exec_pty.c:1222 src/exec_pty.c:1242 src/exec_pty.c:1262 -#: src/tgetpass.c:306 -msgid "unable to create pipe" -msgstr "не удаётся создать канал" +#: src/exec_monitor.c:590 src/exec_nopty.c:572 src/exec_pty.c:1126 +#: src/exec_pty.c:1135 +msgid "unable to create sockets" +msgstr "не удаётся создать сокеты" -#: src/exec_monitor.c:584 +#: src/exec_monitor.c:599 msgid "unable to receive message from parent" msgstr "не удаётся получить сообщение от родительского процесса" -#: src/exec_monitor.c:600 src/exec_nopty.c:603 src/exec_pty.c:1303 +#: src/exec_monitor.c:614 src/exec_nopty.c:606 src/exec_pty.c:1336 #: src/sudo_edit.c:361 src/tgetpass.c:310 msgid "unable to fork" msgstr "не удаётся создать дочерний процесс" -#: src/exec_monitor.c:604 src/exec_monitor.c:700 src/exec_nopty.c:708 +#: src/exec_monitor.c:618 src/exec_monitor.c:720 src/exec_nopty.c:712 msgid "unable to restore tty label" msgstr "не удаётся создать восстановить метку tty" -#: src/exec_monitor.c:615 src/sesh.c:217 src/sudo.c:1204 +#: src/exec_monitor.c:629 src/exec_monitor.c:678 src/sesh.c:217 src/sudo.c:1225 #, c-format msgid "unable to execute %s" msgstr "не удаётся выполнить %s" -#: src/exec_nopty.c:554 src/exec_pty.c:1131 +#: src/exec_nopty.c:507 src/exec_nopty.c:517 src/exec_nopty.c:527 +#: src/exec_nopty.c:563 src/exec_pty.c:1224 src/exec_pty.c:1251 +#: src/exec_pty.c:1274 src/exec_pty.c:1292 src/tgetpass.c:306 +msgid "unable to create pipe" +msgstr "не удаётся создать канал" + +#: src/exec_nopty.c:557 src/exec_pty.c:1157 msgid "policy plugin failed session initialization" msgstr "модулю политик не удаётся инициализировать сеанс" -#: src/exec_nopty.c:569 src/exec_pty.c:1100 src/exec_pty.c:1109 -msgid "unable to create sockets" -msgstr "не удаётся создать сокеты" - -#: src/exec_nopty.c:696 src/exec_pty.c:1406 +#: src/exec_nopty.c:700 src/exec_pty.c:1437 msgid "error in event loop" msgstr "ошибка в событийном цикле" -#: src/exec_preload.c:167 src/net_ifs.c:206 src/net_ifs.c:372 -#: src/net_ifs.c:433 src/net_ifs.c:620 src/net_ifs.c:852 src/sudo.c:488 -#: src/sudo_edit.c:398 src/sudo_edit.c:406 +#: src/exec_preload.c:168 src/net_ifs.c:206 src/net_ifs.c:372 src/net_ifs.c:433 +#: src/net_ifs.c:620 src/net_ifs.c:852 src/sudo.c:494 src/sudo_edit.c:398 +#: src/sudo_edit.c:406 #, c-format msgid "internal error, %s overflow" msgstr "внутренняя ошибка, переполнение %s" -#: src/exec_ptrace.c:1080 src/exec_ptrace.c:1105 src/exec_ptrace.c:1925 +#: src/exec_ptrace.c:1082 src/exec_ptrace.c:1107 src/exec_ptrace.c:1930 #, c-format msgid "unable to set registers for process %d" msgstr "не удаётся назначить реестры для процесса %d" -#: src/exec_ptrace.c:1100 src/exec_ptrace.c:1275 src/exec_ptrace.c:1628 +#: src/exec_ptrace.c:1102 src/exec_ptrace.c:1277 src/exec_ptrace.c:1630 #, c-format msgid "process %d exited unexpectedly" msgstr "процесс %d неожиданно завершился" -#: src/exec_ptrace.c:1209 +#: src/exec_ptrace.c:1211 msgid "unable to set seccomp filter" msgstr "не удаётся установить фильтр seccomp" -#: src/exec_ptrace.c:1406 +#: src/exec_ptrace.c:1408 #, c-format msgid "interpreter argument , expected \"%s\", got \"%s\"" msgstr "аргумент интерпретатора , ожидалось \"%s\", получено \"%s\"" -#: src/exec_ptrace.c:1505 +#: src/exec_ptrace.c:1506 #, c-format msgid "pathname mismatch, expected \"%s\", got \"%s\"" msgstr "несоответствие путей, ожидалось \"%s\", получено \"%s\"" -#: src/exec_ptrace.c:1514 src/exec_ptrace.c:1521 src/exec_ptrace.c:1545 -#: src/exec_ptrace.c:1553 src/exec_ptrace.c:1559 src/exec_ptrace.c:1565 +#: src/exec_ptrace.c:1515 src/exec_ptrace.c:1522 src/exec_ptrace.c:1546 +#: src/exec_ptrace.c:1554 src/exec_ptrace.c:1560 src/exec_ptrace.c:1566 #, c-format msgid "%s[%d] mismatch, expected \"%s\", got \"%s\"" msgstr "несоответствие %s[%d], ожидалось \"%s\", получено \"%s\"" -#: src/exec_ptrace.c:1632 +#: src/exec_ptrace.c:1634 #, c-format msgid "process %d unexpected status 0x%x" msgstr "неожиданный статус процесса %d: 0x%x" -#: src/exec_ptrace.c:1723 +#: src/exec_ptrace.c:1727 #, c-format msgid "unable to get event message for process %d" msgstr "не удаётся получить сообщение события для процесса %d" -#: src/exec_ptrace.c:1730 +#: src/exec_ptrace.c:1734 #, c-format msgid "unable to get registers for process %d" msgstr "не удаётся получить реестры для процесса %d" -#: src/exec_pty.c:84 +#: src/exec_pty.c:87 msgid "unable to allocate pty" msgstr "не удаётся выделить pty" -#: src/exec_pty.c:131 src/exec_pty.c:284 src/tgetpass.c:251 +#: src/exec_pty.c:118 src/exec_pty.c:257 src/tgetpass.c:251 msgid "unable to restore terminal settings" msgstr "не удаётся восстановить настройки терминала" -#: src/exec_pty.c:243 +#: src/exec_pty.c:218 msgid "unable to set handler for SIGCONT" msgstr "не удаётся установить обработчик сигнала SIGCONT" -#: src/exec_pty.c:293 +#: src/exec_pty.c:267 #, c-format msgid "unable to set handler for SIG%s" msgstr "не удаётся установить обработчик сигнала SIG%s" -#: src/exec_pty.c:317 +#: src/exec_pty.c:291 #, c-format msgid "unable to restore handler for SIG%s" msgstr "не удаётся восстановить обработчик сигнала SIG%s" -#: src/exec_pty.c:345 +#: src/exec_pty.c:319 msgid "unable to restore handler for SIGCONT" msgstr "не удаётся восстановить обработчик сигнала SIGCONT" -#: src/exec_pty.c:1353 +#: src/exec_pty.c:1385 msgid "unable to send message to monitor process" msgstr "не удаётся отправить сообщение процессу аудита" @@ -562,40 +564,40 @@ msgstr "найден неизвестный тип модуля %d в %s" msgid "policy plugin %s does not include a check_policy method" msgstr "модуль политики %s не содержит метод check_policy" -#: src/parse_args.c:214 +#: src/parse_args.c:213 #, c-format msgid "invalid environment variable name: %s" msgstr "некорректное имя переменной окружения: %s" -#: src/parse_args.c:319 +#: src/parse_args.c:318 msgid "the argument to -C must be a number greater than or equal to 3" msgstr "аргумент для -C должен быть числом, которое больше или равно 3" -#: src/parse_args.c:556 +#: src/parse_args.c:555 msgid "you may not specify both the -i and -s options" msgstr "параметры -i и -s являются взаимоисключающими" -#: src/parse_args.c:561 +#: src/parse_args.c:560 msgid "you may not specify both the -i and -E options" msgstr "параметры -i и -E являются взаимоисключающими" -#: src/parse_args.c:571 +#: src/parse_args.c:570 msgid "the -E option is not valid in edit mode" msgstr "параметр -E не действует в режиме редактирования" -#: src/parse_args.c:574 +#: src/parse_args.c:573 msgid "you may not specify environment variables in edit mode" msgstr "переменные окружения нельзя определять в режиме редактирования" -#: src/parse_args.c:584 +#: src/parse_args.c:583 msgid "the -U option may only be used with the -l option" msgstr "параметр -U можно использовать только с параметром -l" -#: src/parse_args.c:588 +#: src/parse_args.c:587 msgid "the -A and -S options may not be used together" msgstr "параметры -A и -S являются взаимоисключающими" -#: src/parse_args.c:686 +#: src/parse_args.c:685 msgid "sudoedit is not supported on this platform" msgstr "sudoedit не поддерживается на этой платформе" @@ -949,151 +951,151 @@ msgstr "setproject завершилась с ошибкой для проект msgid "warning, resource control assignment failed for project \"%s\"" msgstr "предупреждение: назначение контроля за ресурсами завершилось с ошибкой для проекта «%s»" -#: src/sudo.c:214 +#: src/sudo.c:215 #, c-format msgid "Sudo version %s\n" msgstr "Sudo версии %s\n" -#: src/sudo.c:216 +#: src/sudo.c:217 #, c-format msgid "Configure options: %s\n" msgstr "Параметры настройки: %s\n" -#: src/sudo.c:224 +#: src/sudo.c:225 msgid "fatal error, unable to load plugins" msgstr "фатальная ошибка, не удаётся загрузить модули" -#: src/sudo.c:270 +#: src/sudo.c:271 msgid "plugin did not return a command to execute" msgstr "модуль не вернул команду для выполнения" -#: src/sudo.c:306 +#: src/sudo.c:307 #, c-format msgid "unexpected sudo mode 0x%x" msgstr "неожиданный режим sudo: 0x%x" -#: src/sudo.c:559 +#: src/sudo.c:567 #, c-format msgid "you do not exist in the %s database" msgstr "вы не существуете в базе данных %s" -#: src/sudo.c:616 +#: src/sudo.c:632 msgid "unable to determine tty" msgstr "не удаётся установить tty" -#: src/sudo.c:932 +#: src/sudo.c:955 msgid "The \"no new privileges\" flag is set, which prevents sudo from running as root." msgstr "Установлен флаг «без новых привилегий», блокирующий запуск sudo от имени root." -#: src/sudo.c:934 +#: src/sudo.c:957 msgid "If sudo is running in a container, you may need to adjust the container configuration to disable the flag." msgstr "Если sudo запущен внутри контейнера, может понадобиться изменение настроек контейнера для отключения флага." -#: src/sudo.c:968 +#: src/sudo.c:991 #, c-format msgid "%s must be owned by uid %d and have the setuid bit set" msgstr "%s должен принадлежать пользователю с uid %d и иметь бит setuid" -#: src/sudo.c:971 +#: src/sudo.c:994 #, c-format msgid "effective uid is not %d, is %s on a file system with the 'nosuid' option set or an NFS file system without root privileges?" msgstr "эффективный uid не равен %d, возможно, %s находится в файловой системе, смонтированной с битом «nosuid» или в файловой системе NFS без прав суперпользователя?" -#: src/sudo.c:977 +#: src/sudo.c:1000 #, c-format msgid "effective uid is not %d, is sudo installed setuid root?" msgstr "эффективный uid не равен %d, программа sudo установлена с битом setuid и принадлежит root?" -#: src/sudo.c:993 src/tgetpass.c:332 +#: src/sudo.c:1016 src/tgetpass.c:332 msgid "unable to set supplementary group IDs" msgstr "не удаётся назначить дополнительные идентификаторы групп" -#: src/sudo.c:1000 +#: src/sudo.c:1023 #, c-format msgid "unable to set effective gid to runas gid %u" msgstr "не удаётся назначить эффективный gid на runas gid %u" -#: src/sudo.c:1006 +#: src/sudo.c:1029 #, c-format msgid "unable to set gid to runas gid %u" msgstr "не удаётся назначить gid на runas gid %u" -#: src/sudo.c:1037 +#: src/sudo.c:1060 msgid "argv not set by the security policy" msgstr "argv не установлен политикой безопасности" -#: src/sudo.c:1041 +#: src/sudo.c:1064 msgid "envp not set by the security policy" msgstr "envp не установлен политикой безопасности" -#: src/sudo.c:1063 +#: src/sudo.c:1086 #, c-format msgid "unexpected child termination condition: %d" msgstr "неожиданное условие завершения потомка: %d" -#: src/sudo.c:1176 +#: src/sudo.c:1198 msgid "unable to initialize policy plugin" msgstr "не удаётся инициализировать модуль политики" -#: src/sudo.c:1238 +#: src/sudo.c:1259 #, c-format msgid "policy plugin %s is missing the \"check_policy\" method" msgstr "модуль политики %s не содержит метод «check_policy»" -#: src/sudo.c:1284 +#: src/sudo.c:1305 #, c-format msgid "policy plugin %s does not support listing privileges" msgstr "модуль политики %s не поддерживает списка прав" -#: src/sudo.c:1328 +#: src/sudo.c:1349 #, c-format msgid "policy plugin %s does not support the -v option" msgstr "модуль политики %s не поддерживает параметр -v" -#: src/sudo.c:1366 +#: src/sudo.c:1387 #, c-format msgid "policy plugin %s does not support the -k/-K options" msgstr "модуль политики %s не поддерживает параметры -k/-K" -#: src/sudo.c:1495 +#: src/sudo.c:1516 #, c-format msgid "error initializing I/O plugin %s" msgstr "ошибка инициализации модуля ввода-вывода %s" -#: src/sudo.c:1498 +#: src/sudo.c:1519 msgid "error initializing I/O plugin" msgstr "ошибка инициализации модуля ввода-вывода" -#: src/sudo.c:1647 +#: src/sudo.c:1668 #, c-format msgid "error initializing audit plugin %s" msgstr "ошибка инициализации модуля аудита %s" -#: src/sudo.c:1726 +#: src/sudo.c:1747 #, c-format msgid "%s: unable to log error event%s%s" msgstr "%s: не удаётся записать в журнал событие ошибки%s%s" -#: src/sudo.c:1762 +#: src/sudo.c:1783 #, c-format msgid "%s: unable to log accept event%s%s" msgstr "%s: не удаётся записать в журнал событие принятия%s%s" -#: src/sudo.c:1767 src/sudo.c:1805 +#: src/sudo.c:1788 src/sudo.c:1826 msgid "audit plugin error" msgstr "ошибка модуля аудита" -#: src/sudo.c:1800 +#: src/sudo.c:1821 #, c-format msgid "%s: unable to log reject event%s%s" msgstr "%s: не удаётся записать в журнал событие отказа%s%s" -#: src/sudo.c:1860 +#: src/sudo.c:1881 #, c-format msgid "error initializing approval plugin %s" msgstr "ошибка инициализации модуля подтверждения %s" -#: src/sudo.c:1930 +#: src/sudo.c:1951 msgid "command rejected by approver" msgstr "команда отклонена средством подтверждения" @@ -1153,7 +1155,7 @@ msgstr "ошибка модуля: отсутствует список файл msgid "unable to read the clock" msgstr "не удаётся прочитать время" -#: src/sudo_intercept_common.c:365 +#: src/sudo_intercept_common.c:372 msgid "intercept port not set" msgstr "порт перехвата не назначен" @@ -1192,6 +1194,12 @@ msgstr "не удаётся назначить uid равным %u" msgid "unable to run %s" msgstr "не удаётся запустить %s" +#: src/ttyname.c:139 src/ttyname.c:182 src/ttyname.c:199 src/ttyname.c:284 +#: src/ttyname.c:312 src/ttyname.c:356 +#, c-format +msgid "unable to find terminal name for device %u, %u" +msgstr "не удаётся найти имя терминала для устройства %u, %u" + #: src/utmp.c:283 msgid "unable to save stdin" msgstr "не удаётся сохранить стандартный ввод" @@ -1243,9 +1251,6 @@ msgstr "не удаётся восстановить стандартный вв #~ msgid "internal error, tried allocate zero bytes" #~ msgstr "внутренняя ошибка, попытка выделить 0 байт" -#~ msgid "unable to set terminal to raw mode" -#~ msgstr "не удаётся перевести терминал в «сырой» режим" - #~ msgid "unable to open socket" #~ msgstr "не удаётся открыть сокет" diff --git a/po/sudo.pot b/po/sudo.pot index 5e1e03ed8..9fbec9093 100644 --- a/po/sudo.pot +++ b/po/sudo.pot @@ -5,9 +5,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: sudo 1.9.15\n" +"Project-Id-Version: sudo 1.9.16\n" "Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n" -"POT-Creation-Date: 2023-10-19 10:02-0600\n" +"POT-Creation-Date: 2024-06-08 09:06-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -30,38 +30,39 @@ msgid "unable to restore registry" msgstr "" #: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/gidlist.c:76 -#: lib/util/json.c:55 lib/util/json.c:197 lib/util/sudo_conf.c:215 -#: lib/util/sudo_conf.c:301 lib/util/sudo_conf.c:378 lib/util/sudo_conf.c:647 +#: lib/util/json.c:55 lib/util/json.c:197 lib/util/sudo_conf.c:218 +#: lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381 lib/util/sudo_conf.c:672 #: src/conversation.c:81 src/exec_iolog.c:122 src/exec_iolog.c:133 -#: src/exec_iolog.c:210 src/exec_monitor.c:171 src/exec_monitor.c:428 -#: src/exec_monitor.c:434 src/exec_monitor.c:442 src/exec_monitor.c:450 -#: src/exec_monitor.c:457 src/exec_monitor.c:464 src/exec_monitor.c:471 -#: src/exec_monitor.c:478 src/exec_monitor.c:485 src/exec_monitor.c:492 -#: src/exec_monitor.c:499 src/exec_nopty.c:231 src/exec_nopty.c:240 +#: src/exec_iolog.c:210 src/exec_monitor.c:173 src/exec_monitor.c:430 +#: src/exec_monitor.c:436 src/exec_monitor.c:444 src/exec_monitor.c:452 +#: src/exec_monitor.c:459 src/exec_monitor.c:466 src/exec_monitor.c:473 +#: src/exec_monitor.c:480 src/exec_monitor.c:487 src/exec_monitor.c:494 +#: src/exec_monitor.c:501 src/exec_nopty.c:231 src/exec_nopty.c:240 #: src/exec_nopty.c:247 src/exec_nopty.c:254 src/exec_nopty.c:261 #: src/exec_nopty.c:268 src/exec_nopty.c:275 src/exec_nopty.c:282 #: src/exec_nopty.c:289 src/exec_nopty.c:296 src/exec_nopty.c:303 #: src/exec_nopty.c:310 src/exec_nopty.c:318 src/exec_nopty.c:326 #: src/exec_nopty.c:748 src/exec_preload.c:347 src/exec_ptrace.c:475 -#: src/exec_ptrace.c:768 src/exec_ptrace.c:984 src/exec_ptrace.c:1097 -#: src/exec_ptrace.c:1272 src/exec_ptrace.c:1625 src/exec_ptrace.c:1652 -#: src/exec_ptrace.c:1844 src/exec_pty.c:554 src/exec_pty.c:738 -#: src/exec_pty.c:936 src/exec_pty.c:945 src/exec_pty.c:952 src/exec_pty.c:959 -#: src/exec_pty.c:966 src/exec_pty.c:973 src/exec_pty.c:980 src/exec_pty.c:987 -#: src/exec_pty.c:994 src/exec_pty.c:1001 src/exec_pty.c:1008 -#: src/exec_pty.c:1015 src/exec_pty.c:1023 src/load_plugins.c:100 -#: src/load_plugins.c:125 src/load_plugins.c:161 src/load_plugins.c:394 -#: src/load_plugins.c:400 src/parse_args.c:172 src/parse_args.c:193 -#: src/parse_args.c:269 src/parse_args.c:625 src/parse_args.c:647 -#: src/parse_args.c:672 src/preserve_fds.c:46 src/preserve_fds.c:131 -#: src/selinux.c:89 src/selinux.c:362 src/selinux.c:472 src/selinux.c:489 -#: src/selinux.c:496 src/sesh.c:206 src/sesh.c:240 src/sesh.c:246 -#: src/sesh.c:253 src/sesh.c:259 src/sesh.c:470 src/sudo.c:579 src/sudo.c:605 -#: src/sudo.c:655 src/sudo.c:721 src/sudo.c:732 src/sudo.c:759 src/sudo.c:782 -#: src/sudo.c:791 src/sudo.c:800 src/sudo.c:813 src/sudo.c:822 src/sudo.c:863 -#: src/sudo.c:873 src/sudo.c:883 src/sudo.c:916 src/sudo.c:918 src/sudo.c:1145 -#: src/sudo.c:1166 src/sudo.c:1457 src/sudo.c:1626 src/sudo.c:1853 -#: src/sudo.c:2186 src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:430 +#: src/exec_ptrace.c:768 src/exec_ptrace.c:985 src/exec_ptrace.c:1098 +#: src/exec_ptrace.c:1273 src/exec_ptrace.c:1626 src/exec_ptrace.c:1653 +#: src/exec_ptrace.c:1845 src/exec_pty.c:599 src/exec_pty.c:783 +#: src/exec_pty.c:990 src/exec_pty.c:999 src/exec_pty.c:1006 +#: src/exec_pty.c:1013 src/exec_pty.c:1020 src/exec_pty.c:1027 +#: src/exec_pty.c:1034 src/exec_pty.c:1041 src/exec_pty.c:1048 +#: src/exec_pty.c:1055 src/exec_pty.c:1062 src/exec_pty.c:1069 +#: src/exec_pty.c:1077 src/load_plugins.c:100 src/load_plugins.c:125 +#: src/load_plugins.c:161 src/load_plugins.c:394 src/load_plugins.c:400 +#: src/parse_args.c:171 src/parse_args.c:192 src/parse_args.c:268 +#: src/parse_args.c:624 src/parse_args.c:646 src/parse_args.c:671 +#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89 +#: src/selinux.c:362 src/selinux.c:472 src/selinux.c:489 src/selinux.c:496 +#: src/sesh.c:206 src/sesh.c:240 src/sesh.c:246 src/sesh.c:253 src/sesh.c:259 +#: src/sesh.c:470 src/sudo.c:581 src/sudo.c:607 src/sudo.c:660 src/sudo.c:726 +#: src/sudo.c:737 src/sudo.c:764 src/sudo.c:787 src/sudo.c:796 src/sudo.c:805 +#: src/sudo.c:818 src/sudo.c:827 src/sudo.c:868 src/sudo.c:878 src/sudo.c:888 +#: src/sudo.c:921 src/sudo.c:923 src/sudo.c:1150 src/sudo.c:1171 +#: src/sudo.c:1462 src/sudo.c:1631 src/sudo.c:1858 src/sudo.c:2191 +#: src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:430 #: src/sudo_edit.c:439 src/sudo_edit.c:540 src/sudo_edit.c:547 #: src/sudo_edit.c:692 src/sudo_edit.c:712 src/sudo_intercept_common.c:122 #: src/sudo_intercept_common.c:347 @@ -70,38 +71,38 @@ msgid "%s: %s" msgstr "" #: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/json.c:56 -#: lib/util/json.c:198 lib/util/regex.c:173 lib/util/sudo_conf.c:216 -#: lib/util/sudo_conf.c:301 lib/util/sudo_conf.c:378 lib/util/sudo_conf.c:647 +#: lib/util/json.c:198 lib/util/regex.c:173 lib/util/sudo_conf.c:219 +#: lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381 lib/util/sudo_conf.c:672 #: src/conversation.c:82 src/exec_intercept.c:112 src/exec_intercept.c:351 #: src/exec_intercept.c:527 src/exec_intercept.c:591 src/exec_intercept.c:715 #: src/exec_intercept.c:839 src/exec_iolog.c:122 src/exec_iolog.c:133 -#: src/exec_iolog.c:210 src/exec_monitor.c:428 src/exec_monitor.c:434 -#: src/exec_monitor.c:442 src/exec_monitor.c:450 src/exec_monitor.c:457 -#: src/exec_monitor.c:464 src/exec_monitor.c:471 src/exec_monitor.c:478 -#: src/exec_monitor.c:485 src/exec_monitor.c:492 src/exec_monitor.c:499 +#: src/exec_iolog.c:210 src/exec_monitor.c:430 src/exec_monitor.c:436 +#: src/exec_monitor.c:444 src/exec_monitor.c:452 src/exec_monitor.c:459 +#: src/exec_monitor.c:466 src/exec_monitor.c:473 src/exec_monitor.c:480 +#: src/exec_monitor.c:487 src/exec_monitor.c:494 src/exec_monitor.c:501 #: src/exec_nopty.c:231 src/exec_nopty.c:240 src/exec_nopty.c:247 #: src/exec_nopty.c:254 src/exec_nopty.c:261 src/exec_nopty.c:268 #: src/exec_nopty.c:275 src/exec_nopty.c:282 src/exec_nopty.c:289 #: src/exec_nopty.c:296 src/exec_nopty.c:303 src/exec_nopty.c:310 #: src/exec_nopty.c:318 src/exec_nopty.c:326 src/exec_preload.c:347 -#: src/exec_ptrace.c:475 src/exec_ptrace.c:768 src/exec_ptrace.c:984 -#: src/exec_ptrace.c:1652 src/exec_ptrace.c:1845 src/exec_pty.c:554 -#: src/exec_pty.c:936 src/exec_pty.c:945 src/exec_pty.c:952 src/exec_pty.c:959 -#: src/exec_pty.c:966 src/exec_pty.c:973 src/exec_pty.c:980 src/exec_pty.c:987 -#: src/exec_pty.c:994 src/exec_pty.c:1001 src/exec_pty.c:1008 -#: src/exec_pty.c:1015 src/exec_pty.c:1023 src/load_plugins.c:100 -#: src/load_plugins.c:125 src/load_plugins.c:161 src/load_plugins.c:394 -#: src/load_plugins.c:400 src/parse_args.c:172 src/parse_args.c:194 -#: src/parse_args.c:269 src/parse_args.c:625 src/parse_args.c:647 -#: src/parse_args.c:672 src/preserve_fds.c:46 src/preserve_fds.c:131 -#: src/selinux.c:89 src/selinux.c:362 src/selinux.c:472 src/selinux.c:489 -#: src/selinux.c:496 src/sesh.c:206 src/sesh.c:471 src/sudo.c:229 -#: src/sudo.c:579 src/sudo.c:605 src/sudo.c:655 src/sudo.c:814 src/sudo.c:916 -#: src/sudo.c:918 src/sudo.c:1145 src/sudo.c:1166 src/sudo.c:1457 -#: src/sudo.c:1626 src/sudo.c:1853 src/sudo.c:2186 src/sudo_edit.c:89 -#: src/sudo_edit.c:149 src/sudo_edit.c:430 src/sudo_edit.c:439 -#: src/sudo_edit.c:540 src/sudo_edit.c:547 src/sudo_edit.c:692 -#: src/sudo_edit.c:712 src/sudo_intercept_common.c:122 +#: src/exec_ptrace.c:475 src/exec_ptrace.c:768 src/exec_ptrace.c:985 +#: src/exec_ptrace.c:1653 src/exec_ptrace.c:1846 src/exec_pty.c:599 +#: src/exec_pty.c:990 src/exec_pty.c:999 src/exec_pty.c:1006 +#: src/exec_pty.c:1013 src/exec_pty.c:1020 src/exec_pty.c:1027 +#: src/exec_pty.c:1034 src/exec_pty.c:1041 src/exec_pty.c:1048 +#: src/exec_pty.c:1055 src/exec_pty.c:1062 src/exec_pty.c:1069 +#: src/exec_pty.c:1077 src/load_plugins.c:100 src/load_plugins.c:125 +#: src/load_plugins.c:161 src/load_plugins.c:394 src/load_plugins.c:400 +#: src/parse_args.c:171 src/parse_args.c:193 src/parse_args.c:268 +#: src/parse_args.c:624 src/parse_args.c:646 src/parse_args.c:671 +#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89 +#: src/selinux.c:362 src/selinux.c:472 src/selinux.c:489 src/selinux.c:496 +#: src/sesh.c:206 src/sesh.c:471 src/sudo.c:229 src/sudo.c:581 src/sudo.c:607 +#: src/sudo.c:660 src/sudo.c:819 src/sudo.c:921 src/sudo.c:923 src/sudo.c:1150 +#: src/sudo.c:1171 src/sudo.c:1462 src/sudo.c:1631 src/sudo.c:1858 +#: src/sudo.c:2191 src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:430 +#: src/sudo_edit.c:439 src/sudo_edit.c:540 src/sudo_edit.c:547 +#: src/sudo_edit.c:692 src/sudo_edit.c:712 src/sudo_intercept_common.c:122 #: src/sudo_intercept_common.c:347 msgid "unable to allocate memory" msgstr "" @@ -116,9 +117,9 @@ msgstr "" msgid "%.*s exists but is not a directory (0%o)" msgstr "" -#: lib/util/mkdir_parents.c:103 lib/util/sudo_conf.c:664 -#: lib/util/sudo_conf.c:683 lib/util/sudo_conf.c:710 src/selinux.c:235 -#: src/selinux.c:265 src/sudo.c:374 src/sudo_edit.c:495 src/sudo_edit.c:559 +#: lib/util/mkdir_parents.c:103 lib/util/sudo_conf.c:689 +#: lib/util/sudo_conf.c:708 lib/util/sudo_conf.c:735 src/selinux.c:235 +#: src/selinux.c:265 src/sudo.c:375 src/sudo_edit.c:495 src/sudo_edit.c:559 #, c-format msgid "unable to open %s" msgstr "" @@ -154,42 +155,42 @@ msgstr "" msgid "value too small" msgstr "" -#: lib/util/sudo_conf.c:234 +#: lib/util/sudo_conf.c:237 #, c-format msgid "invalid Path value \"%s\" in %s, line %u" msgstr "" -#: lib/util/sudo_conf.c:400 lib/util/sudo_conf.c:453 +#: lib/util/sudo_conf.c:403 lib/util/sudo_conf.c:456 #, c-format msgid "invalid value for %s \"%s\" in %s, line %u" msgstr "" -#: lib/util/sudo_conf.c:421 +#: lib/util/sudo_conf.c:424 #, c-format msgid "unsupported group source \"%s\" in %s, line %u" msgstr "" -#: lib/util/sudo_conf.c:437 +#: lib/util/sudo_conf.c:440 #, c-format msgid "invalid max groups \"%s\" in %s, line %u" msgstr "" -#: lib/util/sudo_conf.c:686 +#: lib/util/sudo_conf.c:711 #, c-format msgid "%s is not a regular file" msgstr "" -#: lib/util/sudo_conf.c:689 src/copy_file.c:164 +#: lib/util/sudo_conf.c:714 src/copy_file.c:164 #, c-format msgid "%s is owned by uid %u, should be %u" msgstr "" -#: lib/util/sudo_conf.c:693 +#: lib/util/sudo_conf.c:718 #, c-format msgid "%s is world writable" msgstr "" -#: lib/util/sudo_conf.c:696 +#: lib/util/sudo_conf.c:721 #, c-format msgid "%s is group writable" msgstr "" @@ -283,8 +284,8 @@ msgstr "" msgid "starting from %s" msgstr "" -#: src/exec.c:278 src/exec.c:351 src/exec_monitor.c:562 src/exec_monitor.c:564 -#: src/exec_pty.c:1094 src/exec_pty.c:1096 src/signal.c:144 src/signal.c:151 +#: src/exec.c:278 src/exec.c:351 src/exec_monitor.c:564 src/exec_monitor.c:566 +#: src/exec_pty.c:1148 src/exec_pty.c:1150 src/signal.c:144 src/signal.c:151 #: src/signal.c:165 src/suspend_parent.c:143 #, c-format msgid "unable to set handler for signal %d" @@ -304,37 +305,38 @@ msgstr "" #: src/exec_intercept.c:71 src/exec_iolog.c:163 src/exec_iolog.c:173 #: src/exec_iolog.c:218 src/exec_iolog.c:225 src/exec_iolog.c:252 -#: src/exec_monitor.c:436 src/exec_monitor.c:444 src/exec_monitor.c:452 -#: src/exec_monitor.c:459 src/exec_monitor.c:466 src/exec_monitor.c:473 -#: src/exec_monitor.c:480 src/exec_monitor.c:487 src/exec_monitor.c:494 -#: src/exec_monitor.c:501 src/exec_nopty.c:233 src/exec_nopty.c:242 +#: src/exec_monitor.c:438 src/exec_monitor.c:446 src/exec_monitor.c:454 +#: src/exec_monitor.c:461 src/exec_monitor.c:468 src/exec_monitor.c:475 +#: src/exec_monitor.c:482 src/exec_monitor.c:489 src/exec_monitor.c:496 +#: src/exec_monitor.c:503 src/exec_nopty.c:233 src/exec_nopty.c:242 #: src/exec_nopty.c:249 src/exec_nopty.c:256 src/exec_nopty.c:263 #: src/exec_nopty.c:270 src/exec_nopty.c:277 src/exec_nopty.c:284 #: src/exec_nopty.c:291 src/exec_nopty.c:298 src/exec_nopty.c:305 #: src/exec_nopty.c:312 src/exec_nopty.c:320 src/exec_nopty.c:328 -#: src/exec_nopty.c:387 src/exec_nopty.c:457 src/exec_pty.c:405 -#: src/exec_pty.c:510 src/exec_pty.c:560 src/exec_pty.c:938 src/exec_pty.c:947 -#: src/exec_pty.c:954 src/exec_pty.c:961 src/exec_pty.c:968 src/exec_pty.c:975 -#: src/exec_pty.c:982 src/exec_pty.c:989 src/exec_pty.c:996 src/exec_pty.c:1003 -#: src/exec_pty.c:1010 src/exec_pty.c:1017 +#: src/exec_nopty.c:387 src/exec_nopty.c:457 src/exec_pty.c:441 +#: src/exec_pty.c:555 src/exec_pty.c:605 src/exec_pty.c:992 src/exec_pty.c:1001 +#: src/exec_pty.c:1008 src/exec_pty.c:1015 src/exec_pty.c:1022 +#: src/exec_pty.c:1029 src/exec_pty.c:1036 src/exec_pty.c:1043 +#: src/exec_pty.c:1050 src/exec_pty.c:1057 src/exec_pty.c:1064 +#: src/exec_pty.c:1071 msgid "unable to add event to queue" msgstr "" -#: src/exec_intercept.c:324 src/sudo.c:1051 +#: src/exec_intercept.c:324 src/sudo.c:1056 msgid "command not set by the security policy" msgstr "" -#: src/exec_intercept.c:403 src/exec_intercept.c:443 src/sudo.c:1269 -#: src/sudo.c:1314 src/sudo.c:1358 +#: src/exec_intercept.c:403 src/exec_intercept.c:443 src/sudo.c:1274 +#: src/sudo.c:1319 src/sudo.c:1363 msgid "command rejected by policy" msgstr "" -#: src/exec_intercept.c:514 src/sudo.c:1956 +#: src/exec_intercept.c:514 src/sudo.c:1961 msgid "approval plugin error" msgstr "" -#: src/exec_intercept.c:539 src/sudo.c:1274 src/sudo.c:1319 src/sudo.c:1363 -#: src/sudo.c:1437 +#: src/exec_intercept.c:539 src/sudo.c:1279 src/sudo.c:1324 src/sudo.c:1368 +#: src/sudo.c:1442 msgid "policy plugin error" msgstr "" @@ -380,135 +382,135 @@ msgstr "" msgid "error changing window size" msgstr "" -#: src/exec_monitor.c:328 +#: src/exec_monitor.c:330 msgid "error reading from socketpair" msgstr "" -#: src/exec_monitor.c:340 +#: src/exec_monitor.c:342 #, c-format msgid "unexpected reply type on backchannel: %d" msgstr "" -#: src/exec_monitor.c:576 +#: src/exec_monitor.c:578 msgid "unable to set controlling tty" msgstr "" -#: src/exec_monitor.c:588 src/exec_nopty.c:572 src/exec_pty.c:1072 -#: src/exec_pty.c:1081 +#: src/exec_monitor.c:590 src/exec_nopty.c:572 src/exec_pty.c:1126 +#: src/exec_pty.c:1135 msgid "unable to create sockets" msgstr "" -#: src/exec_monitor.c:597 +#: src/exec_monitor.c:599 msgid "unable to receive message from parent" msgstr "" -#: src/exec_monitor.c:612 src/exec_nopty.c:606 src/exec_pty.c:1282 +#: src/exec_monitor.c:614 src/exec_nopty.c:606 src/exec_pty.c:1336 #: src/sudo_edit.c:361 src/tgetpass.c:310 msgid "unable to fork" msgstr "" -#: src/exec_monitor.c:616 src/exec_monitor.c:718 src/exec_nopty.c:712 +#: src/exec_monitor.c:618 src/exec_monitor.c:720 src/exec_nopty.c:712 msgid "unable to restore tty label" msgstr "" -#: src/exec_monitor.c:627 src/exec_monitor.c:676 src/sesh.c:217 src/sudo.c:1220 +#: src/exec_monitor.c:629 src/exec_monitor.c:678 src/sesh.c:217 src/sudo.c:1225 #, c-format msgid "unable to execute %s" msgstr "" #: src/exec_nopty.c:507 src/exec_nopty.c:517 src/exec_nopty.c:527 -#: src/exec_nopty.c:563 src/exec_pty.c:1170 src/exec_pty.c:1197 -#: src/exec_pty.c:1220 src/exec_pty.c:1238 src/tgetpass.c:306 +#: src/exec_nopty.c:563 src/exec_pty.c:1224 src/exec_pty.c:1251 +#: src/exec_pty.c:1274 src/exec_pty.c:1292 src/tgetpass.c:306 msgid "unable to create pipe" msgstr "" -#: src/exec_nopty.c:557 src/exec_pty.c:1103 +#: src/exec_nopty.c:557 src/exec_pty.c:1157 msgid "policy plugin failed session initialization" msgstr "" -#: src/exec_nopty.c:700 src/exec_pty.c:1383 +#: src/exec_nopty.c:700 src/exec_pty.c:1437 msgid "error in event loop" msgstr "" #: src/exec_preload.c:168 src/net_ifs.c:206 src/net_ifs.c:372 src/net_ifs.c:433 -#: src/net_ifs.c:620 src/net_ifs.c:852 src/sudo.c:493 src/sudo_edit.c:398 +#: src/net_ifs.c:620 src/net_ifs.c:852 src/sudo.c:494 src/sudo_edit.c:398 #: src/sudo_edit.c:406 #, c-format msgid "internal error, %s overflow" msgstr "" -#: src/exec_ptrace.c:1081 src/exec_ptrace.c:1106 src/exec_ptrace.c:1929 +#: src/exec_ptrace.c:1082 src/exec_ptrace.c:1107 src/exec_ptrace.c:1930 #, c-format msgid "unable to set registers for process %d" msgstr "" -#: src/exec_ptrace.c:1101 src/exec_ptrace.c:1276 src/exec_ptrace.c:1629 +#: src/exec_ptrace.c:1102 src/exec_ptrace.c:1277 src/exec_ptrace.c:1630 #, c-format msgid "process %d exited unexpectedly" msgstr "" -#: src/exec_ptrace.c:1210 +#: src/exec_ptrace.c:1211 msgid "unable to set seccomp filter" msgstr "" -#: src/exec_ptrace.c:1407 +#: src/exec_ptrace.c:1408 #, c-format msgid "interpreter argument , expected \"%s\", got \"%s\"" msgstr "" -#: src/exec_ptrace.c:1505 +#: src/exec_ptrace.c:1506 #, c-format msgid "pathname mismatch, expected \"%s\", got \"%s\"" msgstr "" -#: src/exec_ptrace.c:1514 src/exec_ptrace.c:1521 src/exec_ptrace.c:1545 -#: src/exec_ptrace.c:1553 src/exec_ptrace.c:1559 src/exec_ptrace.c:1565 +#: src/exec_ptrace.c:1515 src/exec_ptrace.c:1522 src/exec_ptrace.c:1546 +#: src/exec_ptrace.c:1554 src/exec_ptrace.c:1560 src/exec_ptrace.c:1566 #, c-format msgid "%s[%d] mismatch, expected \"%s\", got \"%s\"" msgstr "" -#: src/exec_ptrace.c:1633 +#: src/exec_ptrace.c:1634 #, c-format msgid "process %d unexpected status 0x%x" msgstr "" -#: src/exec_ptrace.c:1726 +#: src/exec_ptrace.c:1727 #, c-format msgid "unable to get event message for process %d" msgstr "" -#: src/exec_ptrace.c:1733 +#: src/exec_ptrace.c:1734 #, c-format msgid "unable to get registers for process %d" msgstr "" -#: src/exec_pty.c:86 +#: src/exec_pty.c:87 msgid "unable to allocate pty" msgstr "" -#: src/exec_pty.c:117 src/exec_pty.c:256 src/tgetpass.c:251 +#: src/exec_pty.c:118 src/exec_pty.c:257 src/tgetpass.c:251 msgid "unable to restore terminal settings" msgstr "" -#: src/exec_pty.c:217 +#: src/exec_pty.c:218 msgid "unable to set handler for SIGCONT" msgstr "" -#: src/exec_pty.c:266 +#: src/exec_pty.c:267 #, c-format msgid "unable to set handler for SIG%s" msgstr "" -#: src/exec_pty.c:290 +#: src/exec_pty.c:291 #, c-format msgid "unable to restore handler for SIG%s" msgstr "" -#: src/exec_pty.c:318 +#: src/exec_pty.c:319 msgid "unable to restore handler for SIGCONT" msgstr "" -#: src/exec_pty.c:1331 +#: src/exec_pty.c:1385 msgid "unable to send message to monitor process" msgstr "" @@ -557,199 +559,199 @@ msgstr "" msgid "policy plugin %s does not include a check_policy method" msgstr "" -#: src/parse_args.c:214 +#: src/parse_args.c:213 #, c-format msgid "invalid environment variable name: %s" msgstr "" -#: src/parse_args.c:319 +#: src/parse_args.c:318 msgid "the argument to -C must be a number greater than or equal to 3" msgstr "" -#: src/parse_args.c:556 +#: src/parse_args.c:555 msgid "you may not specify both the -i and -s options" msgstr "" -#: src/parse_args.c:561 +#: src/parse_args.c:560 msgid "you may not specify both the -i and -E options" msgstr "" -#: src/parse_args.c:571 +#: src/parse_args.c:570 msgid "the -E option is not valid in edit mode" msgstr "" -#: src/parse_args.c:574 +#: src/parse_args.c:573 msgid "you may not specify environment variables in edit mode" msgstr "" -#: src/parse_args.c:584 +#: src/parse_args.c:583 msgid "the -U option may only be used with the -l option" msgstr "" -#: src/parse_args.c:588 +#: src/parse_args.c:587 msgid "the -A and -S options may not be used together" msgstr "" -#: src/parse_args.c:686 +#: src/parse_args.c:685 msgid "sudoedit is not supported on this platform" msgstr "" -#: src/parse_args.c:745 +#: src/parse_args.c:744 msgid "" "Only one of the -e, -h, -i, -K, -l, -s, -v or -V options may be specified" msgstr "" -#: src/parse_args.c:758 +#: src/parse_args.c:757 msgid "Only one of the -K, -k or -N options may be specified" msgstr "" -#: src/parse_args.c:779 +#: src/parse_args.c:778 #, c-format msgid "" "%s - edit files as another user\n" "\n" msgstr "" -#: src/parse_args.c:781 +#: src/parse_args.c:780 #, c-format msgid "" "%s - execute a command as another user\n" "\n" msgstr "" -#: src/parse_args.c:786 +#: src/parse_args.c:785 msgid "" "\n" "Options:\n" msgstr "" -#: src/parse_args.c:788 +#: src/parse_args.c:787 msgid "use a helper program for password prompting" msgstr "" -#: src/parse_args.c:791 +#: src/parse_args.c:790 msgid "use specified BSD authentication type" msgstr "" -#: src/parse_args.c:795 +#: src/parse_args.c:794 msgid "run command in the background" msgstr "" -#: src/parse_args.c:798 +#: src/parse_args.c:797 msgid "ring bell when prompting" msgstr "" -#: src/parse_args.c:800 +#: src/parse_args.c:799 msgid "close all file descriptors >= num" msgstr "" -#: src/parse_args.c:803 +#: src/parse_args.c:802 msgid "run command with the specified BSD login class" msgstr "" -#: src/parse_args.c:806 +#: src/parse_args.c:805 msgid "change the working directory before running command" msgstr "" -#: src/parse_args.c:809 +#: src/parse_args.c:808 msgid "preserve user environment when running command" msgstr "" -#: src/parse_args.c:811 +#: src/parse_args.c:810 msgid "preserve specific environment variables" msgstr "" -#: src/parse_args.c:813 +#: src/parse_args.c:812 msgid "edit files instead of running a command" msgstr "" -#: src/parse_args.c:816 +#: src/parse_args.c:815 msgid "run command as the specified group name or ID" msgstr "" -#: src/parse_args.c:819 +#: src/parse_args.c:818 msgid "set HOME variable to target user's home dir" msgstr "" -#: src/parse_args.c:822 +#: src/parse_args.c:821 msgid "display help message and exit" msgstr "" -#: src/parse_args.c:824 +#: src/parse_args.c:823 msgid "run command on host (if supported by plugin)" msgstr "" -#: src/parse_args.c:827 +#: src/parse_args.c:826 msgid "run login shell as the target user; a command may also be specified" msgstr "" -#: src/parse_args.c:829 +#: src/parse_args.c:828 msgid "remove timestamp file completely" msgstr "" -#: src/parse_args.c:832 +#: src/parse_args.c:831 msgid "invalidate timestamp file" msgstr "" -#: src/parse_args.c:835 +#: src/parse_args.c:834 msgid "" "list user's privileges or check a specific command; use twice for longer " "format" msgstr "" -#: src/parse_args.c:838 +#: src/parse_args.c:837 msgid "non-interactive mode, no prompts are used" msgstr "" -#: src/parse_args.c:841 +#: src/parse_args.c:840 msgid "preserve group vector instead of setting to target's" msgstr "" -#: src/parse_args.c:844 +#: src/parse_args.c:843 msgid "use the specified password prompt" msgstr "" -#: src/parse_args.c:846 +#: src/parse_args.c:845 msgid "change the root directory before running command" msgstr "" -#: src/parse_args.c:849 +#: src/parse_args.c:848 msgid "create SELinux security context with specified role" msgstr "" -#: src/parse_args.c:852 +#: src/parse_args.c:851 msgid "read password from standard input" msgstr "" -#: src/parse_args.c:855 +#: src/parse_args.c:854 msgid "run shell as the target user; a command may also be specified" msgstr "" -#: src/parse_args.c:859 +#: src/parse_args.c:858 msgid "create SELinux security context with specified type" msgstr "" -#: src/parse_args.c:862 +#: src/parse_args.c:861 msgid "terminate command after the specified time limit" msgstr "" -#: src/parse_args.c:865 +#: src/parse_args.c:864 msgid "in list mode, display privileges for user" msgstr "" -#: src/parse_args.c:868 +#: src/parse_args.c:867 msgid "run command (or edit file) as specified user name or ID" msgstr "" -#: src/parse_args.c:870 +#: src/parse_args.c:869 msgid "display version information and exit" msgstr "" -#: src/parse_args.c:873 +#: src/parse_args.c:872 msgid "update user's timestamp without running a command" msgstr "" -#: src/parse_args.c:876 +#: src/parse_args.c:875 msgid "stop processing command line arguments" msgstr "" @@ -964,134 +966,134 @@ msgstr "" msgid "unexpected sudo mode 0x%x" msgstr "" -#: src/sudo.c:565 +#: src/sudo.c:567 #, c-format msgid "you do not exist in the %s database" msgstr "" -#: src/sudo.c:627 +#: src/sudo.c:632 msgid "unable to determine tty" msgstr "" -#: src/sudo.c:950 +#: src/sudo.c:955 msgid "" "The \"no new privileges\" flag is set, which prevents sudo from running as " "root." msgstr "" -#: src/sudo.c:952 +#: src/sudo.c:957 msgid "" "If sudo is running in a container, you may need to adjust the container " "configuration to disable the flag." msgstr "" -#: src/sudo.c:986 +#: src/sudo.c:991 #, c-format msgid "%s must be owned by uid %d and have the setuid bit set" msgstr "" -#: src/sudo.c:989 +#: src/sudo.c:994 #, c-format msgid "" "effective uid is not %d, is %s on a file system with the 'nosuid' option set " "or an NFS file system without root privileges?" msgstr "" -#: src/sudo.c:995 +#: src/sudo.c:1000 #, c-format msgid "effective uid is not %d, is sudo installed setuid root?" msgstr "" -#: src/sudo.c:1011 src/tgetpass.c:332 +#: src/sudo.c:1016 src/tgetpass.c:332 msgid "unable to set supplementary group IDs" msgstr "" -#: src/sudo.c:1018 +#: src/sudo.c:1023 #, c-format msgid "unable to set effective gid to runas gid %u" msgstr "" -#: src/sudo.c:1024 +#: src/sudo.c:1029 #, c-format msgid "unable to set gid to runas gid %u" msgstr "" -#: src/sudo.c:1055 +#: src/sudo.c:1060 msgid "argv not set by the security policy" msgstr "" -#: src/sudo.c:1059 +#: src/sudo.c:1064 msgid "envp not set by the security policy" msgstr "" -#: src/sudo.c:1081 +#: src/sudo.c:1086 #, c-format msgid "unexpected child termination condition: %d" msgstr "" -#: src/sudo.c:1193 +#: src/sudo.c:1198 msgid "unable to initialize policy plugin" msgstr "" -#: src/sudo.c:1254 +#: src/sudo.c:1259 #, c-format msgid "policy plugin %s is missing the \"check_policy\" method" msgstr "" -#: src/sudo.c:1300 +#: src/sudo.c:1305 #, c-format msgid "policy plugin %s does not support listing privileges" msgstr "" -#: src/sudo.c:1344 +#: src/sudo.c:1349 #, c-format msgid "policy plugin %s does not support the -v option" msgstr "" -#: src/sudo.c:1382 +#: src/sudo.c:1387 #, c-format msgid "policy plugin %s does not support the -k/-K options" msgstr "" -#: src/sudo.c:1511 +#: src/sudo.c:1516 #, c-format msgid "error initializing I/O plugin %s" msgstr "" -#: src/sudo.c:1514 +#: src/sudo.c:1519 msgid "error initializing I/O plugin" msgstr "" -#: src/sudo.c:1663 +#: src/sudo.c:1668 #, c-format msgid "error initializing audit plugin %s" msgstr "" -#: src/sudo.c:1742 +#: src/sudo.c:1747 #, c-format msgid "%s: unable to log error event%s%s" msgstr "" -#: src/sudo.c:1778 +#: src/sudo.c:1783 #, c-format msgid "%s: unable to log accept event%s%s" msgstr "" -#: src/sudo.c:1783 src/sudo.c:1821 +#: src/sudo.c:1788 src/sudo.c:1826 msgid "audit plugin error" msgstr "" -#: src/sudo.c:1816 +#: src/sudo.c:1821 #, c-format msgid "%s: unable to log reject event%s%s" msgstr "" -#: src/sudo.c:1876 +#: src/sudo.c:1881 #, c-format msgid "error initializing approval plugin %s" msgstr "" -#: src/sudo.c:1946 +#: src/sudo.c:1951 msgid "command rejected by approver" msgstr "" @@ -1193,6 +1195,12 @@ msgstr "" msgid "unable to run %s" msgstr "" +#: src/ttyname.c:139 src/ttyname.c:182 src/ttyname.c:199 src/ttyname.c:284 +#: src/ttyname.c:312 src/ttyname.c:356 +#, c-format +msgid "unable to find terminal name for device %u, %u" +msgstr "" + #: src/utmp.c:283 msgid "unable to save stdin" msgstr "" diff --git a/po/sv.mo b/po/sv.mo index d8e011c76..7ece9fa6a 100644 Binary files a/po/sv.mo and b/po/sv.mo differ diff --git a/po/sv.po b/po/sv.po index 79c230dc6..57b02d907 100644 --- a/po/sv.po +++ b/po/sv.po @@ -1,15 +1,15 @@ # Swedish translation for sudo. -# Copyright © 2012, 2016, 2017, 2018, 2019, 2020, 2022, 2023 Free Software Foundation, Inc. +# Copyright © 2012, 2016, 2017, 2018, 2019, 2020, 2022, 2023, 2024 Free Software Foundation, Inc. # This file is put in the public domain. # Daniel Nylander , 2012. -# Sebastian Rasmussen , 2016, 2017, 2018, 2019, 2020, 2022, 2023. +# Sebastian Rasmussen , 2016, 2017, 2018, 2019, 2020, 2022, 2023, 2024. # msgid "" msgstr "" -"Project-Id-Version: sudo 1.9.13b2\n" +"Project-Id-Version: sudo 1.9.14b1\n" "Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n" -"POT-Creation-Date: 2023-01-24 13:11-0700\n" -"PO-Revision-Date: 2023-01-26 13:18+0100\n" +"POT-Creation-Date: 2023-06-07 13:27-0600\n" +"PO-Revision-Date: 2024-01-17 08:44+0100\n" "Last-Translator: Sebastian Rasmussen \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -18,7 +18,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Bugs: Report translation errors to the Language-Team address.\n" -"X-Generator: Poedit 3.2.2\n" +"X-Generator: Poedit 3.4.2\n" "X-Poedit-Bookmarks: -1,0,-1,-1,-1,-1,-1,-1,-1,-1\n" #: lib/util/aix.c:89 lib/util/aix.c:169 @@ -36,73 +36,76 @@ msgstr "kunde inte återställa registret" #: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/gidlist.c:76 #: lib/util/json.c:55 lib/util/json.c:197 lib/util/sudo_conf.c:215 -#: lib/util/sudo_conf.c:301 lib/util/sudo_conf.c:378 lib/util/sudo_conf.c:646 -#: src/conversation.c:80 src/exec_iolog.c:124 src/exec_iolog.c:135 -#: src/exec_iolog.c:212 src/exec_monitor.c:205 src/exec_monitor.c:460 -#: src/exec_monitor.c:466 src/exec_monitor.c:474 src/exec_monitor.c:482 -#: src/exec_monitor.c:489 src/exec_monitor.c:496 src/exec_monitor.c:503 -#: src/exec_monitor.c:510 src/exec_monitor.c:517 src/exec_monitor.c:524 -#: src/exec_monitor.c:531 src/exec_nopty.c:231 src/exec_nopty.c:240 +#: lib/util/sudo_conf.c:301 lib/util/sudo_conf.c:378 lib/util/sudo_conf.c:647 +#: src/conversation.c:78 src/exec_iolog.c:122 src/exec_iolog.c:133 +#: src/exec_iolog.c:210 src/exec_monitor.c:171 src/exec_monitor.c:418 +#: src/exec_monitor.c:424 src/exec_monitor.c:432 src/exec_monitor.c:440 +#: src/exec_monitor.c:447 src/exec_monitor.c:454 src/exec_monitor.c:461 +#: src/exec_monitor.c:468 src/exec_monitor.c:475 src/exec_monitor.c:482 +#: src/exec_monitor.c:489 src/exec_nopty.c:231 src/exec_nopty.c:240 #: src/exec_nopty.c:247 src/exec_nopty.c:254 src/exec_nopty.c:261 #: src/exec_nopty.c:268 src/exec_nopty.c:275 src/exec_nopty.c:282 #: src/exec_nopty.c:289 src/exec_nopty.c:296 src/exec_nopty.c:303 #: src/exec_nopty.c:310 src/exec_nopty.c:318 src/exec_nopty.c:326 -#: src/exec_nopty.c:736 src/exec_preload.c:343 src/exec_ptrace.c:475 -#: src/exec_ptrace.c:768 src/exec_ptrace.c:983 src/exec_ptrace.c:1095 -#: src/exec_ptrace.c:1270 src/exec_ptrace.c:1612 src/exec_ptrace.c:1639 -#: src/exec_pty.c:511 src/exec_pty.c:692 src/exec_pty.c:882 src/exec_pty.c:891 -#: src/exec_pty.c:898 src/exec_pty.c:905 src/exec_pty.c:912 src/exec_pty.c:919 -#: src/exec_pty.c:926 src/exec_pty.c:933 src/exec_pty.c:940 src/exec_pty.c:947 -#: src/exec_pty.c:954 src/exec_pty.c:962 src/load_plugins.c:98 -#: src/load_plugins.c:123 src/load_plugins.c:159 src/load_plugins.c:392 -#: src/load_plugins.c:398 src/parse_args.c:172 src/parse_args.c:193 -#: src/parse_args.c:267 src/parse_args.c:623 src/parse_args.c:645 -#: src/parse_args.c:670 src/preserve_fds.c:46 src/preserve_fds.c:131 -#: src/selinux.c:89 src/selinux.c:362 src/selinux.c:472 src/selinux.c:489 -#: src/selinux.c:496 src/sesh.c:206 src/sesh.c:240 src/sesh.c:246 -#: src/sesh.c:253 src/sesh.c:259 src/sesh.c:470 src/sudo.c:641 src/sudo.c:706 -#: src/sudo.c:716 src/sudo.c:743 src/sudo.c:766 src/sudo.c:775 src/sudo.c:784 -#: src/sudo.c:801 src/sudo.c:842 src/sudo.c:851 src/sudo.c:861 src/sudo.c:894 -#: src/sudo.c:1122 src/sudo.c:1143 src/sudo.c:1436 src/sudo.c:1605 -#: src/sudo.c:1832 src/sudo.c:2166 src/sudo_edit.c:89 src/sudo_edit.c:149 -#: src/sudo_edit.c:429 src/sudo_edit.c:438 src/sudo_edit.c:538 -#: src/sudo_edit.c:545 src/sudo_edit.c:688 src/sudo_edit.c:708 -#: src/sudo_intercept_common.c:115 src/sudo_intercept_common.c:340 +#: src/exec_nopty.c:744 src/exec_preload.c:343 src/exec_ptrace.c:475 +#: src/exec_ptrace.c:768 src/exec_ptrace.c:983 src/exec_ptrace.c:1096 +#: src/exec_ptrace.c:1271 src/exec_ptrace.c:1624 src/exec_ptrace.c:1651 +#: src/exec_ptrace.c:1841 src/exec_pty.c:581 src/exec_pty.c:765 +#: src/exec_pty.c:963 src/exec_pty.c:972 src/exec_pty.c:979 src/exec_pty.c:986 +#: src/exec_pty.c:993 src/exec_pty.c:1000 src/exec_pty.c:1007 +#: src/exec_pty.c:1014 src/exec_pty.c:1021 src/exec_pty.c:1028 +#: src/exec_pty.c:1035 src/exec_pty.c:1042 src/exec_pty.c:1050 +#: src/load_plugins.c:100 src/load_plugins.c:125 src/load_plugins.c:161 +#: src/load_plugins.c:394 src/load_plugins.c:400 src/parse_args.c:172 +#: src/parse_args.c:193 src/parse_args.c:269 src/parse_args.c:625 +#: src/parse_args.c:647 src/parse_args.c:672 src/preserve_fds.c:46 +#: src/preserve_fds.c:131 src/selinux.c:89 src/selinux.c:362 src/selinux.c:472 +#: src/selinux.c:489 src/selinux.c:496 src/sesh.c:206 src/sesh.c:240 +#: src/sesh.c:246 src/sesh.c:253 src/sesh.c:259 src/sesh.c:470 src/sudo.c:644 +#: src/sudo.c:709 src/sudo.c:719 src/sudo.c:746 src/sudo.c:769 src/sudo.c:778 +#: src/sudo.c:787 src/sudo.c:805 src/sudo.c:846 src/sudo.c:855 src/sudo.c:865 +#: src/sudo.c:898 src/sudo.c:1127 src/sudo.c:1148 src/sudo.c:1441 +#: src/sudo.c:1610 src/sudo.c:1837 src/sudo.c:2171 src/sudo_edit.c:89 +#: src/sudo_edit.c:149 src/sudo_edit.c:430 src/sudo_edit.c:439 +#: src/sudo_edit.c:540 src/sudo_edit.c:547 src/sudo_edit.c:692 +#: src/sudo_edit.c:712 src/sudo_intercept_common.c:115 +#: src/sudo_intercept_common.c:340 #, c-format msgid "%s: %s" msgstr "%s: %s" #: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/json.c:56 #: lib/util/json.c:198 lib/util/regex.c:173 lib/util/sudo_conf.c:216 -#: lib/util/sudo_conf.c:301 lib/util/sudo_conf.c:378 lib/util/sudo_conf.c:646 -#: src/conversation.c:81 src/exec_intercept.c:111 src/exec_intercept.c:344 -#: src/exec_intercept.c:518 src/exec_intercept.c:582 src/exec_intercept.c:706 -#: src/exec_intercept.c:830 src/exec_iolog.c:124 src/exec_iolog.c:135 -#: src/exec_iolog.c:212 src/exec_monitor.c:460 src/exec_monitor.c:466 -#: src/exec_monitor.c:474 src/exec_monitor.c:482 src/exec_monitor.c:489 -#: src/exec_monitor.c:496 src/exec_monitor.c:503 src/exec_monitor.c:510 -#: src/exec_monitor.c:517 src/exec_monitor.c:524 src/exec_monitor.c:531 +#: lib/util/sudo_conf.c:301 lib/util/sudo_conf.c:378 lib/util/sudo_conf.c:647 +#: src/conversation.c:79 src/exec_intercept.c:111 src/exec_intercept.c:350 +#: src/exec_intercept.c:525 src/exec_intercept.c:589 src/exec_intercept.c:713 +#: src/exec_intercept.c:837 src/exec_iolog.c:122 src/exec_iolog.c:133 +#: src/exec_iolog.c:210 src/exec_monitor.c:418 src/exec_monitor.c:424 +#: src/exec_monitor.c:432 src/exec_monitor.c:440 src/exec_monitor.c:447 +#: src/exec_monitor.c:454 src/exec_monitor.c:461 src/exec_monitor.c:468 +#: src/exec_monitor.c:475 src/exec_monitor.c:482 src/exec_monitor.c:489 #: src/exec_nopty.c:231 src/exec_nopty.c:240 src/exec_nopty.c:247 #: src/exec_nopty.c:254 src/exec_nopty.c:261 src/exec_nopty.c:268 #: src/exec_nopty.c:275 src/exec_nopty.c:282 src/exec_nopty.c:289 #: src/exec_nopty.c:296 src/exec_nopty.c:303 src/exec_nopty.c:310 #: src/exec_nopty.c:318 src/exec_nopty.c:326 src/exec_preload.c:343 #: src/exec_ptrace.c:475 src/exec_ptrace.c:768 src/exec_ptrace.c:983 -#: src/exec_ptrace.c:1639 src/exec_pty.c:511 src/exec_pty.c:882 -#: src/exec_pty.c:891 src/exec_pty.c:898 src/exec_pty.c:905 src/exec_pty.c:912 -#: src/exec_pty.c:919 src/exec_pty.c:926 src/exec_pty.c:933 src/exec_pty.c:940 -#: src/exec_pty.c:947 src/exec_pty.c:954 src/exec_pty.c:962 -#: src/load_plugins.c:98 src/load_plugins.c:123 src/load_plugins.c:159 -#: src/load_plugins.c:392 src/load_plugins.c:398 src/parse_args.c:172 -#: src/parse_args.c:194 src/parse_args.c:267 src/parse_args.c:623 -#: src/parse_args.c:645 src/parse_args.c:670 src/preserve_fds.c:46 +#: src/exec_ptrace.c:1651 src/exec_ptrace.c:1842 src/exec_pty.c:581 +#: src/exec_pty.c:963 src/exec_pty.c:972 src/exec_pty.c:979 src/exec_pty.c:986 +#: src/exec_pty.c:993 src/exec_pty.c:1000 src/exec_pty.c:1007 +#: src/exec_pty.c:1014 src/exec_pty.c:1021 src/exec_pty.c:1028 +#: src/exec_pty.c:1035 src/exec_pty.c:1042 src/exec_pty.c:1050 +#: src/load_plugins.c:100 src/load_plugins.c:125 src/load_plugins.c:161 +#: src/load_plugins.c:394 src/load_plugins.c:400 src/parse_args.c:172 +#: src/parse_args.c:194 src/parse_args.c:269 src/parse_args.c:625 +#: src/parse_args.c:647 src/parse_args.c:672 src/preserve_fds.c:46 #: src/preserve_fds.c:131 src/selinux.c:89 src/selinux.c:362 src/selinux.c:472 #: src/selinux.c:489 src/selinux.c:496 src/sesh.c:206 src/sesh.c:471 -#: src/sudo.c:230 src/sudo.c:641 src/sudo.c:894 src/sudo.c:1122 -#: src/sudo.c:1143 src/sudo.c:1436 src/sudo.c:1605 src/sudo.c:1832 -#: src/sudo.c:2166 src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:429 -#: src/sudo_edit.c:438 src/sudo_edit.c:538 src/sudo_edit.c:545 -#: src/sudo_edit.c:688 src/sudo_edit.c:708 src/sudo_intercept_common.c:115 +#: src/sudo.c:228 src/sudo.c:644 src/sudo.c:898 src/sudo.c:1127 src/sudo.c:1148 +#: src/sudo.c:1441 src/sudo.c:1610 src/sudo.c:1837 src/sudo.c:2171 +#: src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:430 +#: src/sudo_edit.c:439 src/sudo_edit.c:540 src/sudo_edit.c:547 +#: src/sudo_edit.c:692 src/sudo_edit.c:712 src/sudo_intercept_common.c:115 #: src/sudo_intercept_common.c:340 msgid "unable to allocate memory" msgstr "kunde inte allokera minne" @@ -117,9 +120,9 @@ msgstr "kunde inte ta status på %.*s" msgid "%.*s exists but is not a directory (0%o)" msgstr "%.*s existerar men är inte en katalog (0%o)" -#: lib/util/mkdir_parents.c:103 lib/util/sudo_conf.c:666 -#: lib/util/sudo_conf.c:696 lib/util/sudo_conf.c:703 src/selinux.c:235 -#: src/selinux.c:265 src/sudo.c:373 src/sudo_edit.c:494 src/sudo_edit.c:557 +#: lib/util/mkdir_parents.c:103 lib/util/sudo_conf.c:664 +#: lib/util/sudo_conf.c:683 lib/util/sudo_conf.c:710 src/selinux.c:235 +#: src/selinux.c:265 src/sudo.c:373 src/sudo_edit.c:495 src/sudo_edit.c:559 #, c-format msgid "unable to open %s" msgstr "kunde inte öppna %s" @@ -175,29 +178,29 @@ msgstr "gruppkälla ”%s” stöds ej i %s, rad %u" msgid "invalid max groups \"%s\" in %s, line %u" msgstr "ogiltigt största antal grupper ”%s” i %s, rad %u" -#: lib/util/sudo_conf.c:669 +#: lib/util/sudo_conf.c:686 #, c-format msgid "%s is not a regular file" msgstr "%s är inte en vanlig fil" -#: lib/util/sudo_conf.c:672 src/copy_file.c:164 +#: lib/util/sudo_conf.c:689 src/copy_file.c:164 #, c-format msgid "%s is owned by uid %u, should be %u" msgstr "%s ägs av uid %u, ska vara %u" -#: lib/util/sudo_conf.c:676 +#: lib/util/sudo_conf.c:693 #, c-format msgid "%s is world writable" msgstr "%s är skrivbar för alla" -#: lib/util/sudo_conf.c:679 +#: lib/util/sudo_conf.c:696 #, c-format msgid "%s is group writable" msgstr "%s är skrivbar för gruppen" #: src/apparmor.c:85 msgid "failed to determine AppArmor confinement" -msgstr "kunde inte fastställa AppArmor- läge." +msgstr "kunde inte fastställa AppArmor-inskränkning" #: src/apparmor.c:93 #, c-format @@ -239,7 +242,7 @@ msgstr "%s: inte en vanlig fil" msgid "%s: bad file mode: 0%o" msgstr "%s: felaktigt filläge: 0%o" -#: src/edit_open.c:331 +#: src/edit_open.c:333 msgid "unable to restore current working directory" msgstr "kunde inte återställa aktuell arbetskatalog" @@ -284,18 +287,18 @@ msgstr "kunde inte ändra katalog till %s" msgid "starting from %s" msgstr "börjar från %s" -#: src/exec.c:278 src/exec.c:351 src/exec_monitor.c:569 src/exec_monitor.c:571 -#: src/exec_pty.c:225 src/exec_pty.c:1026 src/exec_pty.c:1028 src/signal.c:144 -#: src/signal.c:151 src/signal.c:165 src/suspend_nopty.c:93 +#: src/exec.c:278 src/exec.c:351 src/exec_monitor.c:552 src/exec_monitor.c:554 +#: src/exec_pty.c:1122 src/exec_pty.c:1124 src/signal.c:144 src/signal.c:151 +#: src/signal.c:165 src/suspend_parent.c:143 #, c-format msgid "unable to set handler for signal %d" msgstr "kunde inte ställa in hanterare för signal %d" -#: src/exec.c:422 +#: src/exec.c:424 msgid "intercept mode is not supported with SELinux RBAC on this system" msgstr "infångningsläge stöds in med SELinux RBAC på detta system" -#: src/exec.c:427 +#: src/exec.c:429 msgid "unable to log sub-commands with SELinux RBAC on this system" msgstr "kan inte logga underkommandon med SELinux RBAC på detta system" @@ -303,239 +306,257 @@ msgstr "kan inte logga underkommandon med SELinux RBAC på detta system" msgid "unable to remove PRIV_PROC_EXEC from PRIV_LIMIT" msgstr "kan inte ta bort PRIV_PROC_EXEC från PRIV_LIMIT" -#: src/exec_intercept.c:70 src/exec_iolog.c:165 src/exec_iolog.c:175 -#: src/exec_iolog.c:220 src/exec_iolog.c:227 src/exec_iolog.c:254 -#: src/exec_monitor.c:468 src/exec_monitor.c:476 src/exec_monitor.c:484 -#: src/exec_monitor.c:491 src/exec_monitor.c:498 src/exec_monitor.c:505 -#: src/exec_monitor.c:512 src/exec_monitor.c:519 src/exec_monitor.c:526 -#: src/exec_monitor.c:533 src/exec_nopty.c:233 src/exec_nopty.c:242 +#: src/exec_intercept.c:70 src/exec_iolog.c:163 src/exec_iolog.c:173 +#: src/exec_iolog.c:218 src/exec_iolog.c:225 src/exec_iolog.c:252 +#: src/exec_monitor.c:426 src/exec_monitor.c:434 src/exec_monitor.c:442 +#: src/exec_monitor.c:449 src/exec_monitor.c:456 src/exec_monitor.c:463 +#: src/exec_monitor.c:470 src/exec_monitor.c:477 src/exec_monitor.c:484 +#: src/exec_monitor.c:491 src/exec_nopty.c:233 src/exec_nopty.c:242 #: src/exec_nopty.c:249 src/exec_nopty.c:256 src/exec_nopty.c:263 #: src/exec_nopty.c:270 src/exec_nopty.c:277 src/exec_nopty.c:284 #: src/exec_nopty.c:291 src/exec_nopty.c:298 src/exec_nopty.c:305 #: src/exec_nopty.c:312 src/exec_nopty.c:320 src/exec_nopty.c:328 -#: src/exec_nopty.c:387 src/exec_nopty.c:453 src/exec_pty.c:360 -#: src/exec_pty.c:462 src/exec_pty.c:517 src/exec_pty.c:884 src/exec_pty.c:893 -#: src/exec_pty.c:900 src/exec_pty.c:907 src/exec_pty.c:914 src/exec_pty.c:921 -#: src/exec_pty.c:928 src/exec_pty.c:935 src/exec_pty.c:942 src/exec_pty.c:949 -#: src/exec_pty.c:956 +#: src/exec_nopty.c:387 src/exec_nopty.c:457 src/exec_pty.c:432 +#: src/exec_pty.c:537 src/exec_pty.c:587 src/exec_pty.c:965 src/exec_pty.c:974 +#: src/exec_pty.c:981 src/exec_pty.c:988 src/exec_pty.c:995 src/exec_pty.c:1002 +#: src/exec_pty.c:1009 src/exec_pty.c:1016 src/exec_pty.c:1023 +#: src/exec_pty.c:1030 src/exec_pty.c:1037 src/exec_pty.c:1044 msgid "unable to add event to queue" msgstr "kunde inte lägga till händelse till kö" -#: src/exec_intercept.c:317 src/sudo.c:1028 +#: src/exec_intercept.c:323 src/sudo.c:1033 msgid "command not set by the security policy" msgstr "kommando inte satt enligt säkerhetspolicyn" -#: src/exec_intercept.c:395 src/exec_intercept.c:435 src/sudo.c:1248 -#: src/sudo.c:1293 src/sudo.c:1337 +#: src/exec_intercept.c:401 src/exec_intercept.c:441 src/sudo.c:1253 +#: src/sudo.c:1298 src/sudo.c:1342 msgid "command rejected by policy" msgstr "kommando avböjt enligt policy" -#: src/exec_intercept.c:505 src/sudo.c:1935 +#: src/exec_intercept.c:512 src/sudo.c:1940 msgid "approval plugin error" msgstr "fel i godkänningsinsticksmodul" -#: src/exec_intercept.c:530 src/sudo.c:1253 src/sudo.c:1298 src/sudo.c:1342 -#: src/sudo.c:1416 +#: src/exec_intercept.c:537 src/sudo.c:1258 src/sudo.c:1303 src/sudo.c:1347 +#: src/sudo.c:1421 msgid "policy plugin error" msgstr "fel i policyinsticksmodul" -#: src/exec_intercept.c:559 +#: src/exec_intercept.c:566 msgid "invalid PolicyCheckRequest" msgstr "ogiltig PolicyCheckRequest" -#: src/exec_intercept.c:702 +#: src/exec_intercept.c:709 #, c-format msgid "client request too large: %zu" msgstr "klientbegäran för stor: %zu" -#: src/exec_intercept.c:744 +#: src/exec_intercept.c:751 #, c-format msgid "unable to unpack %s size %zu" msgstr "kunde inte packa upp %s storlek %zu" -#: src/exec_intercept.c:792 +#: src/exec_intercept.c:799 #, 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" -#: src/exec_intercept.c:818 +#: src/exec_intercept.c:825 #, c-format msgid "server message too large: %zu" msgstr "servermeddelande för stort: %zu" -#: src/exec_iolog.c:323 src/exec_iolog.c:363 src/exec_iolog.c:403 -#: src/exec_iolog.c:454 src/exec_iolog.c:505 +#: src/exec_iolog.c:321 src/exec_iolog.c:361 src/exec_iolog.c:401 +#: src/exec_iolog.c:452 src/exec_iolog.c:503 msgid "I/O plugin error" msgstr "fel i I/O-insticksmodul" -#: src/exec_iolog.c:327 src/exec_iolog.c:367 src/exec_iolog.c:407 -#: src/exec_iolog.c:458 src/exec_iolog.c:509 +#: src/exec_iolog.c:325 src/exec_iolog.c:365 src/exec_iolog.c:405 +#: src/exec_iolog.c:456 src/exec_iolog.c:507 msgid "command rejected by I/O plugin" msgstr "kommando avböjt av I/O-insticksmodul" -#: src/exec_iolog.c:556 +#: src/exec_iolog.c:555 msgid "error logging suspend" msgstr "felloggning avstängd" -#: src/exec_iolog.c:591 +#: src/exec_iolog.c:590 msgid "error changing window size" msgstr "fel vid ändring av fönsterstorlek" -#: src/exec_monitor.c:362 +#: src/exec_monitor.c:328 msgid "error reading from socketpair" msgstr "fel vid läsning från uttagspar" -#: src/exec_monitor.c:379 +#: src/exec_monitor.c:340 #, c-format msgid "unexpected reply type on backchannel: %d" msgstr "oväntad svarstyp i bakkanal: %d" -#: src/exec_monitor.c:587 +#: src/exec_monitor.c:566 msgid "unable to set controlling tty" msgstr "kan inte ställa in kontrollerande tty" -#: src/exec_monitor.c:595 src/exec_nopty.c:498 src/exec_nopty.c:508 -#: src/exec_nopty.c:518 src/exec_nopty.c:552 src/exec_pty.c:1097 -#: src/exec_pty.c:1118 src/exec_pty.c:1138 src/tgetpass.c:305 +#: src/exec_monitor.c:574 src/exec_nopty.c:504 src/exec_nopty.c:514 +#: src/exec_nopty.c:524 src/exec_nopty.c:560 src/exec_pty.c:1195 +#: src/exec_pty.c:1222 src/exec_pty.c:1242 src/exec_pty.c:1262 +#: src/tgetpass.c:306 msgid "unable to create pipe" msgstr "kunde inte skapa rör" -#: src/exec_monitor.c:605 +#: src/exec_monitor.c:584 msgid "unable to receive message from parent" msgstr "kan inte ta emot meddelande från förälder" -#: src/exec_monitor.c:621 src/exec_nopty.c:595 src/exec_pty.c:1176 -#: src/sudo_edit.c:361 src/tgetpass.c:309 +#: src/exec_monitor.c:600 src/exec_nopty.c:603 src/exec_pty.c:1303 +#: src/sudo_edit.c:361 src/tgetpass.c:310 msgid "unable to fork" msgstr "kunde inte grena process" -#: src/exec_monitor.c:625 src/exec_monitor.c:723 src/exec_nopty.c:700 +#: src/exec_monitor.c:604 src/exec_monitor.c:700 src/exec_nopty.c:708 msgid "unable to restore tty label" msgstr "kan inte återställa tty-etikett" -#: src/exec_monitor.c:638 src/sesh.c:217 src/sudo.c:1199 +#: src/exec_monitor.c:615 src/sesh.c:217 src/sudo.c:1204 #, c-format msgid "unable to execute %s" msgstr "kunde inte köra %s" -#: src/exec_nopty.c:546 src/exec_pty.c:1035 +#: src/exec_nopty.c:554 src/exec_pty.c:1131 msgid "policy plugin failed session initialization" msgstr "policyinsticksmodul misslyckades att initiera session" -#: src/exec_nopty.c:561 src/exec_pty.c:1004 src/exec_pty.c:1013 +#: src/exec_nopty.c:569 src/exec_pty.c:1100 src/exec_pty.c:1109 msgid "unable to create sockets" msgstr "kunde inte skapa uttag" -#: src/exec_nopty.c:688 src/exec_pty.c:1274 +#: src/exec_nopty.c:696 src/exec_pty.c:1406 msgid "error in event loop" msgstr "fel i händelseslinga" -#: src/exec_preload.c:167 src/net_ifs.c:206 src/net_ifs.c:372 -#: src/net_ifs.c:433 src/net_ifs.c:620 src/net_ifs.c:851 src/sudo.c:488 -#: src/sudo_edit.c:398 src/sudo_edit.c:406 +#: src/exec_preload.c:167 src/net_ifs.c:206 src/net_ifs.c:372 src/net_ifs.c:433 +#: src/net_ifs.c:620 src/net_ifs.c:852 src/sudo.c:488 src/sudo_edit.c:398 +#: src/sudo_edit.c:406 #, c-format msgid "internal error, %s overflow" msgstr "internt fel, %s spill" -#: src/exec_ptrace.c:1079 src/exec_ptrace.c:1104 src/exec_ptrace.c:1900 +#: src/exec_ptrace.c:1080 src/exec_ptrace.c:1105 src/exec_ptrace.c:1925 #, c-format msgid "unable to set registers for process %d" msgstr "kunde inte sätta register för process %d" -#: src/exec_ptrace.c:1099 src/exec_ptrace.c:1274 src/exec_ptrace.c:1616 +#: src/exec_ptrace.c:1100 src/exec_ptrace.c:1275 src/exec_ptrace.c:1628 #, c-format msgid "process %d exited unexpectedly" msgstr "process %d avslutades oväntat" -#: src/exec_ptrace.c:1208 +#: src/exec_ptrace.c:1209 msgid "unable to set seccomp filter" msgstr "kan inte sätta seccomp-filter" -#: src/exec_ptrace.c:1405 +#: src/exec_ptrace.c:1406 #, c-format msgid "interpreter argument , expected \"%s\", got \"%s\"" msgstr "tolkargument , förväntade \"%s\", fick \"%s\"" -#: src/exec_ptrace.c:1504 +#: src/exec_ptrace.c:1505 #, c-format msgid "pathname mismatch, expected \"%s\", got \"%s\"" msgstr "felmatchning i söknamn, förväntade \"%s\", fick \"%s\"" -#: src/exec_ptrace.c:1513 src/exec_ptrace.c:1520 src/exec_ptrace.c:1533 -#: src/exec_ptrace.c:1541 src/exec_ptrace.c:1547 src/exec_ptrace.c:1553 +#: src/exec_ptrace.c:1514 src/exec_ptrace.c:1521 src/exec_ptrace.c:1545 +#: src/exec_ptrace.c:1553 src/exec_ptrace.c:1559 src/exec_ptrace.c:1565 #, c-format msgid "%s[%d] mismatch, expected \"%s\", got \"%s\"" msgstr "%s[%d] felmatchade, förväntade \"%s\", fick \"%s\"" -#: src/exec_ptrace.c:1620 +#: src/exec_ptrace.c:1632 #, c-format msgid "process %d unexpected status 0x%x" msgstr "process %d oväntad status 0x%x" -#: src/exec_ptrace.c:1711 +#: src/exec_ptrace.c:1723 #, c-format msgid "unable to get event message for process %d" msgstr "kan inte hämta händelsemeddelande för process %d" -#: src/exec_ptrace.c:1718 +#: src/exec_ptrace.c:1730 #, c-format msgid "unable to get registers for process %d" msgstr "kan inte hämta register för process %d" -#: src/exec_pty.c:103 +#: src/exec_pty.c:84 msgid "unable to allocate pty" msgstr "kunde inte allokera pty" -#: src/exec_pty.c:268 src/signal.c:101 src/suspend_nopty.c:99 -#, c-format -msgid "unable to restore handler for signal %d" -msgstr "kunde inte återställa hanterare för signal %d" +#: src/exec_pty.c:131 src/exec_pty.c:284 src/tgetpass.c:251 +msgid "unable to restore terminal settings" +msgstr "kan inte återställa terminalinställningar" -#: src/exec_pty.c:1222 +#: src/exec_pty.c:243 +msgid "unable to set handler for SIGCONT" +msgstr "kunde inte ställa in hanterare för SIGCONT" + +#: src/exec_pty.c:293 +#, c-format +msgid "unable to set handler for SIG%s" +msgstr "kunde inte ställa in hanterare för SIG%s" + +#: src/exec_pty.c:317 +#, c-format +msgid "unable to restore handler for SIG%s" +msgstr "kunde inte återställa hanterare för SIG%s" + +#: src/exec_pty.c:345 +msgid "unable to restore handler for SIGCONT" +msgstr "kunde inte återställa hanterare för SIGCONT" + +#: src/exec_pty.c:1353 msgid "unable to send message to monitor process" msgstr "kan inte skicka meddelande till övervakningsprocess" -#: src/load_plugins.c:73 src/load_plugins.c:220 src/load_plugins.c:230 -#: src/load_plugins.c:240 src/load_plugins.c:287 +#: src/load_plugins.c:75 src/load_plugins.c:222 src/load_plugins.c:232 +#: src/load_plugins.c:242 src/load_plugins.c:289 #, c-format msgid "error in %s, line %d while loading plugin \"%s\"" msgstr "fel i %s, rad %d under inläsning av insticksmodul ”%s”" -#: src/load_plugins.c:184 src/load_plugins.c:255 +#: src/load_plugins.c:186 src/load_plugins.c:257 #, c-format msgid "ignoring duplicate plugin \"%s\" in %s, line %d" msgstr "ignorerar dubblerad insticksmodul ”%s” i %s, rad %d" -#: src/load_plugins.c:222 +#: src/load_plugins.c:224 #, c-format msgid "unable to load %s: %s" msgstr "kunde inte läsa in %s: %s" -#: src/load_plugins.c:232 +#: src/load_plugins.c:234 #, c-format msgid "unable to find symbol \"%s\" in %s" msgstr "kunde inte hitta symbol ”%s” i %s" -#: src/load_plugins.c:242 +#: src/load_plugins.c:244 #, c-format msgid "incompatible plugin major version %d (expected %d) found in %s" msgstr "inkompatibel huvudversion %d för insticksmodul (%d förväntades) hittad i %s" -#: src/load_plugins.c:260 +#: src/load_plugins.c:262 #, c-format msgid "ignoring policy plugin \"%s\" in %s, line %d" msgstr "ignorerar policyinsticksmodul ”%s” i %s, rad %d" -#: src/load_plugins.c:263 +#: src/load_plugins.c:265 msgid "only a single policy plugin may be specified" msgstr "bara en policyinsticksmodul kan anges" -#: src/load_plugins.c:289 +#: src/load_plugins.c:291 #, c-format msgid "unknown plugin type %d found in %s" msgstr "okänd insticksmodulstyp %d hittad i %s" -#: src/load_plugins.c:472 +#: src/load_plugins.c:474 #, c-format msgid "policy plugin %s does not include a check_policy method" msgstr "policyinsticksmodul %s inkluderar inte en check_policy-metod" @@ -545,47 +566,47 @@ msgstr "policyinsticksmodul %s inkluderar inte en check_policy-metod" msgid "invalid environment variable name: %s" msgstr "ogiltigt namn på miljövariabel: %s" -#: src/parse_args.c:317 +#: src/parse_args.c:319 msgid "the argument to -C must be a number greater than or equal to 3" msgstr "argumentet till -C måste vara ett tal större än eller lika med 3" -#: src/parse_args.c:554 +#: src/parse_args.c:556 msgid "you may not specify both the -i and -s options" msgstr "du får inte ange flaggorna -i och -s samtidigt" -#: src/parse_args.c:559 +#: src/parse_args.c:561 msgid "you may not specify both the -i and -E options" msgstr "du får inte ange flaggorna -i och -E samtidigt" -#: src/parse_args.c:569 +#: src/parse_args.c:571 msgid "the -E option is not valid in edit mode" msgstr "flaggan -E är inte giltig i redigeringsläget" -#: src/parse_args.c:572 +#: src/parse_args.c:574 msgid "you may not specify environment variables in edit mode" msgstr "du får inte ange miljövariabler i redigeringsläget" -#: src/parse_args.c:582 +#: src/parse_args.c:584 msgid "the -U option may only be used with the -l option" msgstr "flaggan -U får bara användas med flaggan -l" -#: src/parse_args.c:586 +#: src/parse_args.c:588 msgid "the -A and -S options may not be used together" msgstr "flaggorna -A och -S får inte användas tillsammans" -#: src/parse_args.c:684 +#: src/parse_args.c:686 msgid "sudoedit is not supported on this platform" msgstr "sudoedit stöds inte på denna plattform" -#: src/parse_args.c:767 +#: src/parse_args.c:744 msgid "Only one of the -e, -h, -i, -K, -l, -s, -v or -V options may be specified" msgstr "Endast en av flaggorna -e, -h, -i, -K, -l, -s, -v eller -V får anges" -#: src/parse_args.c:780 +#: src/parse_args.c:757 msgid "Only one of the -K, -k or -N options may be specified" msgstr "Endast en av flaggorna -K, -k eller -N får anges" -#: src/parse_args.c:796 +#: src/parse_args.c:778 #, c-format msgid "" "%s - edit files as another user\n" @@ -594,7 +615,7 @@ msgstr "" "%s - redigera filer som en annan användare\n" "\n" -#: src/parse_args.c:798 +#: src/parse_args.c:780 #, c-format msgid "" "%s - execute a command as another user\n" @@ -603,7 +624,7 @@ msgstr "" "%s - kör ett kommando som en annan användare\n" "\n" -#: src/parse_args.c:804 +#: src/parse_args.c:785 msgid "" "\n" "Options:\n" @@ -611,131 +632,131 @@ msgstr "" "\n" "Flaggor:\n" -#: src/parse_args.c:806 +#: src/parse_args.c:787 msgid "use a helper program for password prompting" msgstr "använd hjälpprogram för att fråga efter lösenord" -#: src/parse_args.c:809 +#: src/parse_args.c:790 msgid "use specified BSD authentication type" msgstr "använd angiven BSD-autentiseringstyp" -#: src/parse_args.c:813 +#: src/parse_args.c:794 msgid "run command in the background" msgstr "kör kommando i bakgrunden" -#: src/parse_args.c:816 +#: src/parse_args.c:797 msgid "ring bell when prompting" msgstr "ring i klockan vid fråga" -#: src/parse_args.c:818 +#: src/parse_args.c:799 msgid "close all file descriptors >= num" msgstr "stäng alla fildeskriptorer >= num" -#: src/parse_args.c:821 +#: src/parse_args.c:802 msgid "run command with the specified BSD login class" msgstr "kör kommando med den angivna BSD-inloggningsklassen" -#: src/parse_args.c:824 +#: src/parse_args.c:805 msgid "change the working directory before running command" msgstr "ändra arbetskatalog innan kommando körs" -#: src/parse_args.c:827 +#: src/parse_args.c:808 msgid "preserve user environment when running command" msgstr "bevara användarens miljö när kommandot körs" -#: src/parse_args.c:829 +#: src/parse_args.c:810 msgid "preserve specific environment variables" msgstr "bevara specifika miljövariabler" -#: src/parse_args.c:831 +#: src/parse_args.c:812 msgid "edit files instead of running a command" msgstr "redigera filer istället för att köra ett kommando" -#: src/parse_args.c:834 +#: src/parse_args.c:815 msgid "run command as the specified group name or ID" msgstr "kör kommando som angivet gruppnamn eller ID" -#: src/parse_args.c:837 +#: src/parse_args.c:818 msgid "set HOME variable to target user's home dir" msgstr "ställ in HOME-variabeln till målanvändarens hemkatalog" -#: src/parse_args.c:840 +#: src/parse_args.c:821 msgid "display help message and exit" msgstr "visa hjälpmeddelande och avsluta" -#: src/parse_args.c:842 +#: src/parse_args.c:823 msgid "run command on host (if supported by plugin)" msgstr "kör kommando på värd (om det stöds av instick)" -#: src/parse_args.c:845 +#: src/parse_args.c:826 msgid "run login shell as the target user; a command may also be specified" msgstr "kör ett inloggningsskal som målanvändaren; ett kommando kan också anges" -#: src/parse_args.c:847 +#: src/parse_args.c:828 msgid "remove timestamp file completely" msgstr "ta bort tidsstämpelfil helt" -#: src/parse_args.c:850 +#: src/parse_args.c:831 msgid "invalidate timestamp file" msgstr "ogiltigförklara tidsstämpelfil" -#: src/parse_args.c:853 +#: src/parse_args.c:834 msgid "list user's privileges or check a specific command; use twice for longer format" msgstr "lista användarens rättigheter eller kontrollera ett specifikt kommando; använd två gånger för längre format" -#: src/parse_args.c:856 +#: src/parse_args.c:837 msgid "non-interactive mode, no prompts are used" msgstr "icke-interaktivt läge, inga frågor ställs" -#: src/parse_args.c:859 +#: src/parse_args.c:840 msgid "preserve group vector instead of setting to target's" msgstr "behåll gruppvektor istället för att ställa in den till målets" -#: src/parse_args.c:862 +#: src/parse_args.c:843 msgid "use the specified password prompt" msgstr "använd angiven lösenordsprompt" -#: src/parse_args.c:864 +#: src/parse_args.c:845 msgid "change the root directory before running command" msgstr "ändra rotkatalog innan kommando körs" -#: src/parse_args.c:867 +#: src/parse_args.c:848 msgid "create SELinux security context with specified role" msgstr "skapa SELinux-säkerhetskontext med angiven roll" -#: src/parse_args.c:870 +#: src/parse_args.c:851 msgid "read password from standard input" msgstr "läs lösenord från standard in" -#: src/parse_args.c:873 +#: src/parse_args.c:854 msgid "run shell as the target user; a command may also be specified" msgstr "kör skal som målanvändaren; ett kommando kan också anges" -#: src/parse_args.c:877 +#: src/parse_args.c:858 msgid "create SELinux security context with specified type" msgstr "skapa SELinux-säkerhetskontext med angiven typ" -#: src/parse_args.c:880 +#: src/parse_args.c:861 msgid "terminate command after the specified time limit" msgstr "avsluta kommando efter den angivna tidsgränsen" -#: src/parse_args.c:883 +#: src/parse_args.c:864 msgid "in list mode, display privileges for user" msgstr "i listläge, visa rättigheter för användaren" -#: src/parse_args.c:886 +#: src/parse_args.c:867 msgid "run command (or edit file) as specified user name or ID" msgstr "kör kommando (eller redigera fil) som angivet användarnamn eller ID" -#: src/parse_args.c:888 +#: src/parse_args.c:869 msgid "display version information and exit" msgstr "visa versionsinformation och avsluta" -#: src/parse_args.c:891 +#: src/parse_args.c:872 msgid "update user's timestamp without running a command" msgstr "uppdatera användarens tidsstämpel utan att köra ett kommando" -#: src/parse_args.c:894 +#: src/parse_args.c:875 msgid "stop processing command line arguments" msgstr "sluta behandla kommandoradsargument" @@ -879,6 +900,11 @@ msgstr "kan inte hämta grupplista" msgid "unable to save handler for signal %d" msgstr "kunde inte spara hanterare för signal %d" +#: src/signal.c:101 src/suspend_parent.c:149 +#, c-format +msgid "unable to restore handler for signal %d" +msgstr "kunde inte återställa hanterare för signal %d" + #: src/solaris.c:72 msgid "resource control limit has been reached" msgstr "begränsning för resurskontroll uppnådd" @@ -922,21 +948,21 @@ msgstr "setproject misslyckades för projekt ”%s”" msgid "warning, resource control assignment failed for project \"%s\"" msgstr "varning, tilldelning av resurskontroll misslyckades för projekt ”%s”" -#: src/sudo.c:216 +#: src/sudo.c:214 #, c-format msgid "Sudo version %s\n" msgstr "Sudo version %s\n" -#: src/sudo.c:218 +#: src/sudo.c:216 #, c-format msgid "Configure options: %s\n" msgstr "Konfigurationsflaggor: %s\n" -#: src/sudo.c:226 +#: src/sudo.c:224 msgid "fatal error, unable to load plugins" msgstr "ödesdigert fel, kunde inte läsa in insticksmoduler" -#: src/sudo.c:272 +#: src/sudo.c:270 msgid "plugin did not return a command to execute" msgstr "insticksmodul returnerade ett kommando att exekvera" @@ -945,128 +971,128 @@ msgstr "insticksmodul returnerade ett kommando att exekvera" msgid "unexpected sudo mode 0x%x" msgstr "oväntat sudo-läge 0x%x" -#: src/sudo.c:555 +#: src/sudo.c:559 #, c-format msgid "you do not exist in the %s database" msgstr "du existerar inte i %s-databasen" -#: src/sudo.c:612 +#: src/sudo.c:616 msgid "unable to determine tty" msgstr "kan inte detektera tty" -#: src/sudo.c:928 +#: src/sudo.c:932 msgid "The \"no new privileges\" flag is set, which prevents sudo from running as root." msgstr "Flaggan \"inga nya privilegier\" är satt, vilket förhindrar sudo från att köra som root." -#: src/sudo.c:930 +#: src/sudo.c:934 msgid "If sudo is running in a container, you may need to adjust the container configuration to disable the flag." msgstr "Om sudo kör i en behållare, kan du behöva justera behållarkonfigurationen för att inaktivera flaggan." -#: src/sudo.c:964 +#: src/sudo.c:968 #, c-format msgid "%s must be owned by uid %d and have the setuid bit set" msgstr "%s måste ägas av uid %d och ha setuid-biten inställd" -#: src/sudo.c:967 +#: src/sudo.c:971 #, c-format msgid "effective uid is not %d, is %s on a file system with the 'nosuid' option set or an NFS file system without root privileges?" msgstr "effektivt uid är inte %d, är %s på ett filsystem med flaggan ”nosuid” inställd eller ett NFS-filsystem utan root-rättigheter?" -#: src/sudo.c:973 +#: src/sudo.c:977 #, c-format msgid "effective uid is not %d, is sudo installed setuid root?" msgstr "effektivt uid är inte %d, har sudo installerats som setuid root?" -#: src/sudo.c:989 src/tgetpass.c:331 +#: src/sudo.c:993 src/tgetpass.c:332 msgid "unable to set supplementary group IDs" msgstr "kan inte ställa in kompletterande grupp-ID:n" -#: src/sudo.c:996 +#: src/sudo.c:1000 #, c-format msgid "unable to set effective gid to runas gid %u" msgstr "kunde inte ställa in effektiv gid till runas gid %u" -#: src/sudo.c:1002 +#: src/sudo.c:1006 #, c-format msgid "unable to set gid to runas gid %u" msgstr "kunde inte ställa in gid för runas gid %u" -#: src/sudo.c:1032 +#: src/sudo.c:1037 msgid "argv not set by the security policy" msgstr "argv inte satt enligt säkerhetspolicyn" -#: src/sudo.c:1036 +#: src/sudo.c:1041 msgid "envp not set by the security policy" msgstr "envp inte satt enligt säkerhetspolicyn" -#: src/sudo.c:1058 +#: src/sudo.c:1063 #, c-format msgid "unexpected child termination condition: %d" msgstr "oväntat barnavslutsvillkor: %d" -#: src/sudo.c:1171 +#: src/sudo.c:1176 msgid "unable to initialize policy plugin" msgstr "kan inte initiera policy-instick" -#: src/sudo.c:1233 +#: src/sudo.c:1238 #, c-format msgid "policy plugin %s is missing the \"check_policy\" method" msgstr "policyinsticksmodul %s saknar metoden ”check_policy”" -#: src/sudo.c:1279 +#: src/sudo.c:1284 #, c-format msgid "policy plugin %s does not support listing privileges" msgstr "policyinsticksmodul %s har inte stöd för att lista rättigheter" -#: src/sudo.c:1323 +#: src/sudo.c:1328 #, c-format msgid "policy plugin %s does not support the -v option" msgstr "policyinsticksmodul %s har inte stöd för flaggan -v" -#: src/sudo.c:1361 +#: src/sudo.c:1366 #, c-format msgid "policy plugin %s does not support the -k/-K options" msgstr "policyinsticksmodul %s har inte stöd för flaggorna -k/-K" -#: src/sudo.c:1490 +#: src/sudo.c:1495 #, c-format msgid "error initializing I/O plugin %s" msgstr "fel vid initiering av I/O-insticksmodul %s" -#: src/sudo.c:1493 +#: src/sudo.c:1498 msgid "error initializing I/O plugin" msgstr "fel vid initiering av I/O-insticksmodul" -#: src/sudo.c:1642 +#: src/sudo.c:1647 #, c-format msgid "error initializing audit plugin %s" msgstr "fel vid initiering av granskningsinsticksmodul %s" -#: src/sudo.c:1721 +#: src/sudo.c:1726 #, c-format msgid "%s: unable to log error event%s%s" msgstr "%s: kunde inte logga felhändelse%s%s" -#: src/sudo.c:1757 +#: src/sudo.c:1762 #, c-format msgid "%s: unable to log accept event%s%s" msgstr "%s: kunde inte logga acceptanshändelse%s%s" -#: src/sudo.c:1762 src/sudo.c:1800 +#: src/sudo.c:1767 src/sudo.c:1805 msgid "audit plugin error" msgstr "fel i audit-insticksmodul" -#: src/sudo.c:1795 +#: src/sudo.c:1800 #, c-format msgid "%s: unable to log reject event%s%s" msgstr "%s: kunde inte logga avböjningshändelse%s%s" -#: src/sudo.c:1855 +#: src/sudo.c:1860 #, c-format msgid "error initializing approval plugin %s" msgstr "fel vid initiering av godkänningsinsticksmodul %s" -#: src/sudo.c:1925 +#: src/sudo.c:1930 msgid "command rejected by approver" msgstr "kommando avböjt av godkännare" @@ -1074,55 +1100,55 @@ msgstr "kommando avböjt av godkännare" msgid "no writable temporary directory found" msgstr "ingen skrivbar temporärkatalog hittad" -#: src/sudo_edit.c:291 +#: src/sudo_edit.c:292 #, c-format msgid "%s left unmodified" msgstr "%s lämnad oförändrad" -#: src/sudo_edit.c:304 src/sudo_edit.c:569 +#: src/sudo_edit.c:305 src/sudo_edit.c:571 #, c-format msgid "%s unchanged" msgstr "%s oförändrad" -#: src/sudo_edit.c:481 +#: src/sudo_edit.c:482 msgid "sesh: internal error: odd number of paths" msgstr "sesh: internt fel: udda antal sökvägar" -#: src/sudo_edit.c:483 +#: src/sudo_edit.c:484 msgid "sesh: unable to create temporary files" msgstr "sesh: kunde inte skapa temporärfiler" -#: src/sudo_edit.c:485 src/sudo_edit.c:604 +#: src/sudo_edit.c:486 src/sudo_edit.c:606 msgid "sesh: killed by a signal" msgstr "sesh: dödad av en signal" -#: src/sudo_edit.c:487 src/sudo_edit.c:607 +#: src/sudo_edit.c:488 src/sudo_edit.c:609 #, c-format msgid "sesh: unknown error %d" msgstr "sesh: okänt fel %d" -#: src/sudo_edit.c:597 +#: src/sudo_edit.c:599 msgid "unable to copy temporary files back to their original location" msgstr "kan inte kopiera temporära filer tillbaka till deras originalplats" -#: src/sudo_edit.c:601 +#: src/sudo_edit.c:603 msgid "unable to copy some of the temporary files back to their original location" msgstr "kan inte kopiera vissa av de temporära filerna tillbaka till deras originalplats" -#: src/sudo_edit.c:646 +#: src/sudo_edit.c:650 #, c-format msgid "unable to change uid to root (%u)" msgstr "kunde inte ändra uid till root (%u)" -#: src/sudo_edit.c:660 +#: src/sudo_edit.c:664 msgid "plugin error: invalid file list for sudoedit" msgstr "insticksfel: felaktig fillista för sudoedit" -#: src/sudo_edit.c:681 +#: src/sudo_edit.c:685 msgid "plugin error: missing file list for sudoedit" msgstr "insticksfel: fillista för sudoedit saknas" -#: src/sudo_edit.c:724 src/sudo_edit.c:739 +#: src/sudo_edit.c:728 src/sudo_edit.c:743 msgid "unable to read the clock" msgstr "kunde inte läsa klockan" @@ -1150,30 +1176,30 @@ msgstr "en terminal krävs för att läsa lösenordet; använd antingen flaggan msgid "no askpass program specified, try setting SUDO_ASKPASS" msgstr "inget askpass-program angivet, prova att ställ in SUDO_ASKPASS" -#: src/tgetpass.c:326 +#: src/tgetpass.c:327 #, c-format msgid "unable to set gid to %u" msgstr "kunde inte ställa in gid till %u" -#: src/tgetpass.c:336 +#: src/tgetpass.c:337 #, c-format msgid "unable to set uid to %u" msgstr "kunde inte ställa in uid till %u" -#: src/tgetpass.c:341 +#: src/tgetpass.c:342 #, c-format msgid "unable to run %s" msgstr "kunde inte köra %s" -#: src/utmp.c:288 +#: src/utmp.c:283 msgid "unable to save stdin" msgstr "kunde inte spara standard in" -#: src/utmp.c:290 +#: src/utmp.c:285 msgid "unable to dup2 stdin" msgstr "kan inte köra dup2 på standard in" -#: src/utmp.c:293 +#: src/utmp.c:288 msgid "unable to restore stdin" msgstr "kan inte återställa standard in" diff --git a/po/uk.mo b/po/uk.mo index 3ad763ac6..f5a67ca85 100644 Binary files a/po/uk.mo and b/po/uk.mo differ diff --git a/po/uk.po b/po/uk.po index cf305c363..250fbf125 100644 --- a/po/uk.po +++ b/po/uk.po @@ -1,13 +1,13 @@ # Ukrainian translation for sudo. # This file is put in the public domain. # -# Yuri Chornoivan , 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023. +# Yuri Chornoivan , 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024. msgid "" msgstr "" -"Project-Id-Version: sudo 1.9.14b1\n" +"Project-Id-Version: sudo 1.9.16b1\n" "Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n" -"POT-Creation-Date: 2023-06-07 13:27-0600\n" -"PO-Revision-Date: 2023-06-08 19:29+0300\n" +"POT-Creation-Date: 2024-06-08 09:06-0600\n" +"PO-Revision-Date: 2024-06-16 18:58+0300\n" "Last-Translator: Yuri Chornoivan \n" "Language-Team: Ukrainian \n" "Language: uk\n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Bugs: Report translation errors to the Language-Team address.\n" -"X-Generator: Lokalize 20.12.0\n" +"X-Generator: Lokalize 23.04.3\n" "Plural-Forms: nplurals=1; plural=0;\n" #: lib/util/aix.c:89 lib/util/aix.c:169 @@ -32,78 +32,80 @@ msgid "unable to restore registry" msgstr "не вдалося відновити регістр" #: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/gidlist.c:76 -#: lib/util/json.c:55 lib/util/json.c:197 lib/util/sudo_conf.c:215 -#: lib/util/sudo_conf.c:301 lib/util/sudo_conf.c:378 lib/util/sudo_conf.c:647 -#: src/conversation.c:78 src/exec_iolog.c:122 src/exec_iolog.c:133 -#: src/exec_iolog.c:210 src/exec_monitor.c:171 src/exec_monitor.c:418 -#: src/exec_monitor.c:424 src/exec_monitor.c:432 src/exec_monitor.c:440 -#: src/exec_monitor.c:447 src/exec_monitor.c:454 src/exec_monitor.c:461 -#: src/exec_monitor.c:468 src/exec_monitor.c:475 src/exec_monitor.c:482 -#: src/exec_monitor.c:489 src/exec_nopty.c:231 src/exec_nopty.c:240 +#: lib/util/json.c:55 lib/util/json.c:197 lib/util/sudo_conf.c:218 +#: lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381 lib/util/sudo_conf.c:672 +#: src/conversation.c:81 src/exec_iolog.c:122 src/exec_iolog.c:133 +#: src/exec_iolog.c:210 src/exec_monitor.c:173 src/exec_monitor.c:430 +#: src/exec_monitor.c:436 src/exec_monitor.c:444 src/exec_monitor.c:452 +#: src/exec_monitor.c:459 src/exec_monitor.c:466 src/exec_monitor.c:473 +#: src/exec_monitor.c:480 src/exec_monitor.c:487 src/exec_monitor.c:494 +#: src/exec_monitor.c:501 src/exec_nopty.c:231 src/exec_nopty.c:240 #: src/exec_nopty.c:247 src/exec_nopty.c:254 src/exec_nopty.c:261 #: src/exec_nopty.c:268 src/exec_nopty.c:275 src/exec_nopty.c:282 #: src/exec_nopty.c:289 src/exec_nopty.c:296 src/exec_nopty.c:303 #: src/exec_nopty.c:310 src/exec_nopty.c:318 src/exec_nopty.c:326 -#: src/exec_nopty.c:744 src/exec_preload.c:343 src/exec_ptrace.c:475 -#: src/exec_ptrace.c:768 src/exec_ptrace.c:983 src/exec_ptrace.c:1096 -#: src/exec_ptrace.c:1271 src/exec_ptrace.c:1624 src/exec_ptrace.c:1651 -#: src/exec_ptrace.c:1841 src/exec_pty.c:581 src/exec_pty.c:765 -#: src/exec_pty.c:963 src/exec_pty.c:972 src/exec_pty.c:979 src/exec_pty.c:986 -#: src/exec_pty.c:993 src/exec_pty.c:1000 src/exec_pty.c:1007 -#: src/exec_pty.c:1014 src/exec_pty.c:1021 src/exec_pty.c:1028 -#: src/exec_pty.c:1035 src/exec_pty.c:1042 src/exec_pty.c:1050 -#: src/load_plugins.c:100 src/load_plugins.c:125 src/load_plugins.c:161 -#: src/load_plugins.c:394 src/load_plugins.c:400 src/parse_args.c:172 -#: src/parse_args.c:193 src/parse_args.c:269 src/parse_args.c:625 -#: src/parse_args.c:647 src/parse_args.c:672 src/preserve_fds.c:46 -#: src/preserve_fds.c:131 src/selinux.c:89 src/selinux.c:362 src/selinux.c:472 -#: src/selinux.c:489 src/selinux.c:496 src/sesh.c:206 src/sesh.c:240 -#: src/sesh.c:246 src/sesh.c:253 src/sesh.c:259 src/sesh.c:470 src/sudo.c:644 -#: src/sudo.c:709 src/sudo.c:719 src/sudo.c:746 src/sudo.c:769 src/sudo.c:778 -#: src/sudo.c:787 src/sudo.c:805 src/sudo.c:846 src/sudo.c:855 src/sudo.c:865 -#: src/sudo.c:898 src/sudo.c:1127 src/sudo.c:1148 src/sudo.c:1441 -#: src/sudo.c:1610 src/sudo.c:1837 src/sudo.c:2171 src/sudo_edit.c:89 -#: src/sudo_edit.c:149 src/sudo_edit.c:430 src/sudo_edit.c:439 -#: src/sudo_edit.c:540 src/sudo_edit.c:547 src/sudo_edit.c:692 -#: src/sudo_edit.c:712 src/sudo_intercept_common.c:115 -#: src/sudo_intercept_common.c:340 +#: src/exec_nopty.c:748 src/exec_preload.c:347 src/exec_ptrace.c:475 +#: src/exec_ptrace.c:768 src/exec_ptrace.c:985 src/exec_ptrace.c:1098 +#: src/exec_ptrace.c:1273 src/exec_ptrace.c:1626 src/exec_ptrace.c:1653 +#: src/exec_ptrace.c:1845 src/exec_pty.c:599 src/exec_pty.c:783 +#: src/exec_pty.c:990 src/exec_pty.c:999 src/exec_pty.c:1006 +#: src/exec_pty.c:1013 src/exec_pty.c:1020 src/exec_pty.c:1027 +#: src/exec_pty.c:1034 src/exec_pty.c:1041 src/exec_pty.c:1048 +#: src/exec_pty.c:1055 src/exec_pty.c:1062 src/exec_pty.c:1069 +#: src/exec_pty.c:1077 src/load_plugins.c:100 src/load_plugins.c:125 +#: src/load_plugins.c:161 src/load_plugins.c:394 src/load_plugins.c:400 +#: src/parse_args.c:171 src/parse_args.c:192 src/parse_args.c:268 +#: src/parse_args.c:624 src/parse_args.c:646 src/parse_args.c:671 +#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89 +#: src/selinux.c:362 src/selinux.c:472 src/selinux.c:489 src/selinux.c:496 +#: src/sesh.c:206 src/sesh.c:240 src/sesh.c:246 src/sesh.c:253 src/sesh.c:259 +#: src/sesh.c:470 src/sudo.c:581 src/sudo.c:607 src/sudo.c:660 src/sudo.c:726 +#: src/sudo.c:737 src/sudo.c:764 src/sudo.c:787 src/sudo.c:796 src/sudo.c:805 +#: src/sudo.c:818 src/sudo.c:827 src/sudo.c:868 src/sudo.c:878 src/sudo.c:888 +#: src/sudo.c:921 src/sudo.c:923 src/sudo.c:1150 src/sudo.c:1171 +#: src/sudo.c:1462 src/sudo.c:1631 src/sudo.c:1858 src/sudo.c:2191 +#: src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:430 +#: src/sudo_edit.c:439 src/sudo_edit.c:540 src/sudo_edit.c:547 +#: src/sudo_edit.c:692 src/sudo_edit.c:712 src/sudo_intercept_common.c:122 +#: src/sudo_intercept_common.c:347 #, c-format msgid "%s: %s" msgstr "%s: %s" #: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/json.c:56 -#: lib/util/json.c:198 lib/util/regex.c:173 lib/util/sudo_conf.c:216 -#: lib/util/sudo_conf.c:301 lib/util/sudo_conf.c:378 lib/util/sudo_conf.c:647 -#: src/conversation.c:79 src/exec_intercept.c:111 src/exec_intercept.c:350 -#: src/exec_intercept.c:525 src/exec_intercept.c:589 src/exec_intercept.c:713 -#: src/exec_intercept.c:837 src/exec_iolog.c:122 src/exec_iolog.c:133 -#: src/exec_iolog.c:210 src/exec_monitor.c:418 src/exec_monitor.c:424 -#: src/exec_monitor.c:432 src/exec_monitor.c:440 src/exec_monitor.c:447 -#: src/exec_monitor.c:454 src/exec_monitor.c:461 src/exec_monitor.c:468 -#: src/exec_monitor.c:475 src/exec_monitor.c:482 src/exec_monitor.c:489 +#: lib/util/json.c:198 lib/util/regex.c:173 lib/util/sudo_conf.c:219 +#: lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381 lib/util/sudo_conf.c:672 +#: src/conversation.c:82 src/exec_intercept.c:112 src/exec_intercept.c:351 +#: src/exec_intercept.c:527 src/exec_intercept.c:591 src/exec_intercept.c:715 +#: src/exec_intercept.c:839 src/exec_iolog.c:122 src/exec_iolog.c:133 +#: src/exec_iolog.c:210 src/exec_monitor.c:430 src/exec_monitor.c:436 +#: src/exec_monitor.c:444 src/exec_monitor.c:452 src/exec_monitor.c:459 +#: src/exec_monitor.c:466 src/exec_monitor.c:473 src/exec_monitor.c:480 +#: src/exec_monitor.c:487 src/exec_monitor.c:494 src/exec_monitor.c:501 #: src/exec_nopty.c:231 src/exec_nopty.c:240 src/exec_nopty.c:247 #: src/exec_nopty.c:254 src/exec_nopty.c:261 src/exec_nopty.c:268 #: src/exec_nopty.c:275 src/exec_nopty.c:282 src/exec_nopty.c:289 #: src/exec_nopty.c:296 src/exec_nopty.c:303 src/exec_nopty.c:310 -#: src/exec_nopty.c:318 src/exec_nopty.c:326 src/exec_preload.c:343 -#: src/exec_ptrace.c:475 src/exec_ptrace.c:768 src/exec_ptrace.c:983 -#: src/exec_ptrace.c:1651 src/exec_ptrace.c:1842 src/exec_pty.c:581 -#: src/exec_pty.c:963 src/exec_pty.c:972 src/exec_pty.c:979 src/exec_pty.c:986 -#: src/exec_pty.c:993 src/exec_pty.c:1000 src/exec_pty.c:1007 -#: src/exec_pty.c:1014 src/exec_pty.c:1021 src/exec_pty.c:1028 -#: src/exec_pty.c:1035 src/exec_pty.c:1042 src/exec_pty.c:1050 -#: src/load_plugins.c:100 src/load_plugins.c:125 src/load_plugins.c:161 -#: src/load_plugins.c:394 src/load_plugins.c:400 src/parse_args.c:172 -#: src/parse_args.c:194 src/parse_args.c:269 src/parse_args.c:625 -#: src/parse_args.c:647 src/parse_args.c:672 src/preserve_fds.c:46 -#: src/preserve_fds.c:131 src/selinux.c:89 src/selinux.c:362 src/selinux.c:472 -#: src/selinux.c:489 src/selinux.c:496 src/sesh.c:206 src/sesh.c:471 -#: src/sudo.c:228 src/sudo.c:644 src/sudo.c:898 src/sudo.c:1127 -#: src/sudo.c:1148 src/sudo.c:1441 src/sudo.c:1610 src/sudo.c:1837 -#: src/sudo.c:2171 src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:430 +#: src/exec_nopty.c:318 src/exec_nopty.c:326 src/exec_preload.c:347 +#: src/exec_ptrace.c:475 src/exec_ptrace.c:768 src/exec_ptrace.c:985 +#: src/exec_ptrace.c:1653 src/exec_ptrace.c:1846 src/exec_pty.c:599 +#: src/exec_pty.c:990 src/exec_pty.c:999 src/exec_pty.c:1006 +#: src/exec_pty.c:1013 src/exec_pty.c:1020 src/exec_pty.c:1027 +#: src/exec_pty.c:1034 src/exec_pty.c:1041 src/exec_pty.c:1048 +#: src/exec_pty.c:1055 src/exec_pty.c:1062 src/exec_pty.c:1069 +#: src/exec_pty.c:1077 src/load_plugins.c:100 src/load_plugins.c:125 +#: src/load_plugins.c:161 src/load_plugins.c:394 src/load_plugins.c:400 +#: src/parse_args.c:171 src/parse_args.c:193 src/parse_args.c:268 +#: src/parse_args.c:624 src/parse_args.c:646 src/parse_args.c:671 +#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89 +#: src/selinux.c:362 src/selinux.c:472 src/selinux.c:489 src/selinux.c:496 +#: src/sesh.c:206 src/sesh.c:471 src/sudo.c:229 src/sudo.c:581 src/sudo.c:607 +#: src/sudo.c:660 src/sudo.c:819 src/sudo.c:921 src/sudo.c:923 src/sudo.c:1150 +#: src/sudo.c:1171 src/sudo.c:1462 src/sudo.c:1631 src/sudo.c:1858 +#: src/sudo.c:2191 src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:430 #: src/sudo_edit.c:439 src/sudo_edit.c:540 src/sudo_edit.c:547 -#: src/sudo_edit.c:692 src/sudo_edit.c:712 src/sudo_intercept_common.c:115 -#: src/sudo_intercept_common.c:340 +#: src/sudo_edit.c:692 src/sudo_edit.c:712 src/sudo_intercept_common.c:122 +#: src/sudo_intercept_common.c:347 msgid "unable to allocate memory" msgstr "не вдалося отримати потрібний об’єм пам’яті" @@ -117,9 +119,9 @@ msgstr "не вдалося виконати stat для %.*s" msgid "%.*s exists but is not a directory (0%o)" msgstr "%.*s існує, але не є каталогом (0%o)" -#: lib/util/mkdir_parents.c:103 lib/util/sudo_conf.c:664 -#: lib/util/sudo_conf.c:683 lib/util/sudo_conf.c:710 src/selinux.c:235 -#: src/selinux.c:265 src/sudo.c:373 src/sudo_edit.c:495 src/sudo_edit.c:559 +#: lib/util/mkdir_parents.c:103 lib/util/sudo_conf.c:689 +#: lib/util/sudo_conf.c:708 lib/util/sudo_conf.c:735 src/selinux.c:235 +#: src/selinux.c:265 src/sudo.c:375 src/sudo_edit.c:495 src/sudo_edit.c:559 #, c-format msgid "unable to open %s" msgstr "не вдалося відкрити %s" @@ -142,55 +144,55 @@ msgstr "задовгий формальний вираз" msgid "Unknown signal" msgstr "Невідомий сигнал" -#: lib/util/strtoid.c:84 lib/util/strtomode.c:52 lib/util/strtonum.c:148 -#: lib/util/strtonum.c:187 src/sesh.c:240 src/sesh.c:253 +#: lib/util/strtoid.c:84 lib/util/strtomode.c:52 lib/util/strtonum.c:147 +#: lib/util/strtonum.c:186 src/sesh.c:240 src/sesh.c:253 msgid "invalid value" msgstr "некоректне значення" -#: lib/util/strtomode.c:58 lib/util/strtonum.c:160 +#: lib/util/strtomode.c:58 lib/util/strtonum.c:159 msgid "value too large" msgstr "надто велике значення" -#: lib/util/strtomode.c:58 lib/util/strtonum.c:154 +#: lib/util/strtomode.c:58 lib/util/strtonum.c:153 msgid "value too small" msgstr "надто мале значення" -#: lib/util/sudo_conf.c:234 +#: lib/util/sudo_conf.c:237 #, c-format msgid "invalid Path value \"%s\" in %s, line %u" msgstr "некоректне значення Path, «%s», у %s, рядок %u" -#: lib/util/sudo_conf.c:400 lib/util/sudo_conf.c:453 +#: lib/util/sudo_conf.c:403 lib/util/sudo_conf.c:456 #, c-format msgid "invalid value for %s \"%s\" in %s, line %u" msgstr "некоректне значення %s, «%s», у %s, рядок %u" -#: lib/util/sudo_conf.c:421 +#: lib/util/sudo_conf.c:424 #, c-format msgid "unsupported group source \"%s\" in %s, line %u" msgstr "непідтримуване джерело групи, «%s», у %s, рядок %u" -#: lib/util/sudo_conf.c:437 +#: lib/util/sudo_conf.c:440 #, c-format msgid "invalid max groups \"%s\" in %s, line %u" msgstr "некоректна максимальна кількість груп, «%s», у %s, рядок %u" -#: lib/util/sudo_conf.c:686 +#: lib/util/sudo_conf.c:711 #, c-format msgid "%s is not a regular file" msgstr "%s не є звичайним файлом" -#: lib/util/sudo_conf.c:689 src/copy_file.c:164 +#: lib/util/sudo_conf.c:714 src/copy_file.c:164 #, c-format msgid "%s is owned by uid %u, should be %u" msgstr "%s належить uid %u, має належати %u" -#: lib/util/sudo_conf.c:693 +#: lib/util/sudo_conf.c:718 #, c-format msgid "%s is world writable" msgstr "Запис до «%s» можливий для довільного користувача" -#: lib/util/sudo_conf.c:696 +#: lib/util/sudo_conf.c:721 #, c-format msgid "%s is group writable" msgstr "Запис до «%s» може здійснювати будь-який користувач з групи" @@ -284,18 +286,18 @@ msgstr "не вдалося змінити каталог на %s" msgid "starting from %s" msgstr "починаючи з %s" -#: src/exec.c:278 src/exec.c:351 src/exec_monitor.c:552 src/exec_monitor.c:554 -#: src/exec_pty.c:1122 src/exec_pty.c:1124 src/signal.c:144 src/signal.c:151 +#: src/exec.c:278 src/exec.c:351 src/exec_monitor.c:564 src/exec_monitor.c:566 +#: src/exec_pty.c:1148 src/exec_pty.c:1150 src/signal.c:144 src/signal.c:151 #: src/signal.c:165 src/suspend_parent.c:143 #, c-format msgid "unable to set handler for signal %d" msgstr "не вдалося встановити обробник для сигналу %d" -#: src/exec.c:424 +#: src/exec.c:447 msgid "intercept mode is not supported with SELinux RBAC on this system" msgstr "у цій системі з RBAC SELinux не передбачено підтримки режиму перехоплення" -#: src/exec.c:429 +#: src/exec.c:452 msgid "unable to log sub-commands with SELinux RBAC on this system" msgstr "у цій системі неможливо записувати до журналу підкоманди з RBAC SELinux" @@ -303,63 +305,63 @@ msgstr "у цій системі неможливо записувати до ж msgid "unable to remove PRIV_PROC_EXEC from PRIV_LIMIT" msgstr "не вдалося вилучити PRIV_PROC_EXEC з PRIV_LIMIT" -#: src/exec_intercept.c:70 src/exec_iolog.c:163 src/exec_iolog.c:173 +#: src/exec_intercept.c:71 src/exec_iolog.c:163 src/exec_iolog.c:173 #: src/exec_iolog.c:218 src/exec_iolog.c:225 src/exec_iolog.c:252 -#: src/exec_monitor.c:426 src/exec_monitor.c:434 src/exec_monitor.c:442 -#: src/exec_monitor.c:449 src/exec_monitor.c:456 src/exec_monitor.c:463 -#: src/exec_monitor.c:470 src/exec_monitor.c:477 src/exec_monitor.c:484 -#: src/exec_monitor.c:491 src/exec_nopty.c:233 src/exec_nopty.c:242 +#: src/exec_monitor.c:438 src/exec_monitor.c:446 src/exec_monitor.c:454 +#: src/exec_monitor.c:461 src/exec_monitor.c:468 src/exec_monitor.c:475 +#: src/exec_monitor.c:482 src/exec_monitor.c:489 src/exec_monitor.c:496 +#: src/exec_monitor.c:503 src/exec_nopty.c:233 src/exec_nopty.c:242 #: src/exec_nopty.c:249 src/exec_nopty.c:256 src/exec_nopty.c:263 #: src/exec_nopty.c:270 src/exec_nopty.c:277 src/exec_nopty.c:284 #: src/exec_nopty.c:291 src/exec_nopty.c:298 src/exec_nopty.c:305 #: src/exec_nopty.c:312 src/exec_nopty.c:320 src/exec_nopty.c:328 -#: src/exec_nopty.c:387 src/exec_nopty.c:457 src/exec_pty.c:432 -#: src/exec_pty.c:537 src/exec_pty.c:587 src/exec_pty.c:965 src/exec_pty.c:974 -#: src/exec_pty.c:981 src/exec_pty.c:988 src/exec_pty.c:995 -#: src/exec_pty.c:1002 src/exec_pty.c:1009 src/exec_pty.c:1016 -#: src/exec_pty.c:1023 src/exec_pty.c:1030 src/exec_pty.c:1037 -#: src/exec_pty.c:1044 +#: src/exec_nopty.c:387 src/exec_nopty.c:457 src/exec_pty.c:441 +#: src/exec_pty.c:555 src/exec_pty.c:605 src/exec_pty.c:992 src/exec_pty.c:1001 +#: src/exec_pty.c:1008 src/exec_pty.c:1015 src/exec_pty.c:1022 +#: src/exec_pty.c:1029 src/exec_pty.c:1036 src/exec_pty.c:1043 +#: src/exec_pty.c:1050 src/exec_pty.c:1057 src/exec_pty.c:1064 +#: src/exec_pty.c:1071 msgid "unable to add event to queue" msgstr "не вдалося додати подію до черги обробки" -#: src/exec_intercept.c:323 src/sudo.c:1033 +#: src/exec_intercept.c:324 src/sudo.c:1056 msgid "command not set by the security policy" msgstr "команду не встановлено правилами захисту" -#: src/exec_intercept.c:401 src/exec_intercept.c:441 src/sudo.c:1253 -#: src/sudo.c:1298 src/sudo.c:1342 +#: src/exec_intercept.c:403 src/exec_intercept.c:443 src/sudo.c:1274 +#: src/sudo.c:1319 src/sudo.c:1363 msgid "command rejected by policy" msgstr "у виконанні команди відмовлено згідно правил" -#: src/exec_intercept.c:512 src/sudo.c:1940 +#: src/exec_intercept.c:514 src/sudo.c:1961 msgid "approval plugin error" msgstr "помилка у додатку підтвердження" -#: src/exec_intercept.c:537 src/sudo.c:1258 src/sudo.c:1303 src/sudo.c:1347 -#: src/sudo.c:1421 +#: src/exec_intercept.c:539 src/sudo.c:1279 src/sudo.c:1324 src/sudo.c:1368 +#: src/sudo.c:1442 msgid "policy plugin error" msgstr "помилка у додатку правил" -#: src/exec_intercept.c:566 +#: src/exec_intercept.c:568 msgid "invalid PolicyCheckRequest" msgstr "некоректне значення PolicyCheckRequest" -#: src/exec_intercept.c:709 +#: src/exec_intercept.c:711 #, c-format msgid "client request too large: %zu" msgstr "надто великий запит клієнта: %zu" -#: src/exec_intercept.c:751 +#: src/exec_intercept.c:753 #, c-format msgid "unable to unpack %s size %zu" msgstr "не вдалося розпакувати %s, розмір %zu" -#: src/exec_intercept.c:799 +#: src/exec_intercept.c:801 #, c-format msgid "unexpected type_case value %d in %s from %s" msgstr "неочікуване значення type_case %d у %s від %s" -#: src/exec_intercept.c:825 +#: src/exec_intercept.c:827 #, c-format msgid "server message too large: %zu" msgstr "надто велике повідомлення сервера: %zu" @@ -382,135 +384,135 @@ msgstr "помилка під час призупинення ведення ж msgid "error changing window size" msgstr "помилка під час зміни розмірів вікна" -#: src/exec_monitor.c:328 +#: src/exec_monitor.c:330 msgid "error reading from socketpair" msgstr "помилка під час спроби читання з пари сокетів" -#: src/exec_monitor.c:340 +#: src/exec_monitor.c:342 #, c-format msgid "unexpected reply type on backchannel: %d" msgstr "неочікуваний тип відповіді на зворотному каналі: %d" -#: src/exec_monitor.c:566 +#: src/exec_monitor.c:578 msgid "unable to set controlling tty" msgstr "не вдалося встановити tty для керування" -#: src/exec_monitor.c:574 src/exec_nopty.c:504 src/exec_nopty.c:514 -#: src/exec_nopty.c:524 src/exec_nopty.c:560 src/exec_pty.c:1195 -#: src/exec_pty.c:1222 src/exec_pty.c:1242 src/exec_pty.c:1262 -#: src/tgetpass.c:306 -msgid "unable to create pipe" -msgstr "не вдалося створити канал" +#: src/exec_monitor.c:590 src/exec_nopty.c:572 src/exec_pty.c:1126 +#: src/exec_pty.c:1135 +msgid "unable to create sockets" +msgstr "не вдалося створити сокети" -#: src/exec_monitor.c:584 +#: src/exec_monitor.c:599 msgid "unable to receive message from parent" msgstr "не вдалося отримати повідомлення від батьківського процесу" -#: src/exec_monitor.c:600 src/exec_nopty.c:603 src/exec_pty.c:1303 +#: src/exec_monitor.c:614 src/exec_nopty.c:606 src/exec_pty.c:1336 #: src/sudo_edit.c:361 src/tgetpass.c:310 msgid "unable to fork" msgstr "не вдалося створити відгалуження" -#: src/exec_monitor.c:604 src/exec_monitor.c:700 src/exec_nopty.c:708 +#: src/exec_monitor.c:618 src/exec_monitor.c:720 src/exec_nopty.c:712 msgid "unable to restore tty label" msgstr "не вдалося відновити позначку tty" -#: src/exec_monitor.c:615 src/sesh.c:217 src/sudo.c:1204 +#: src/exec_monitor.c:629 src/exec_monitor.c:678 src/sesh.c:217 src/sudo.c:1225 #, c-format msgid "unable to execute %s" msgstr "не вдалося виконати %s" -#: src/exec_nopty.c:554 src/exec_pty.c:1131 +#: src/exec_nopty.c:507 src/exec_nopty.c:517 src/exec_nopty.c:527 +#: src/exec_nopty.c:563 src/exec_pty.c:1224 src/exec_pty.c:1251 +#: src/exec_pty.c:1274 src/exec_pty.c:1292 src/tgetpass.c:306 +msgid "unable to create pipe" +msgstr "не вдалося створити канал" + +#: src/exec_nopty.c:557 src/exec_pty.c:1157 msgid "policy plugin failed session initialization" msgstr "не вдалося виконати ініціалізацію сеансу через додаток правил" -#: src/exec_nopty.c:569 src/exec_pty.c:1100 src/exec_pty.c:1109 -msgid "unable to create sockets" -msgstr "не вдалося створити сокети" - -#: src/exec_nopty.c:696 src/exec_pty.c:1406 +#: src/exec_nopty.c:700 src/exec_pty.c:1437 msgid "error in event loop" msgstr "помилка у циклі обробки подій" -#: src/exec_preload.c:167 src/net_ifs.c:206 src/net_ifs.c:372 -#: src/net_ifs.c:433 src/net_ifs.c:620 src/net_ifs.c:852 src/sudo.c:488 -#: src/sudo_edit.c:398 src/sudo_edit.c:406 +#: src/exec_preload.c:168 src/net_ifs.c:206 src/net_ifs.c:372 src/net_ifs.c:433 +#: src/net_ifs.c:620 src/net_ifs.c:852 src/sudo.c:494 src/sudo_edit.c:398 +#: src/sudo_edit.c:406 #, c-format msgid "internal error, %s overflow" msgstr "внутрішня помилка, переповнення %s" -#: src/exec_ptrace.c:1080 src/exec_ptrace.c:1105 src/exec_ptrace.c:1925 +#: src/exec_ptrace.c:1082 src/exec_ptrace.c:1107 src/exec_ptrace.c:1930 #, c-format msgid "unable to set registers for process %d" msgstr "не вдалося встановити регістри для процесу %d" -#: src/exec_ptrace.c:1100 src/exec_ptrace.c:1275 src/exec_ptrace.c:1628 +#: src/exec_ptrace.c:1102 src/exec_ptrace.c:1277 src/exec_ptrace.c:1630 #, c-format msgid "process %d exited unexpectedly" msgstr "процес %d неочікувано завершив роботу" -#: src/exec_ptrace.c:1209 +#: src/exec_ptrace.c:1211 msgid "unable to set seccomp filter" msgstr "не вдалося встановити фільтр seccomp" -#: src/exec_ptrace.c:1406 +#: src/exec_ptrace.c:1408 #, c-format msgid "interpreter argument , expected \"%s\", got \"%s\"" msgstr "аргумент інтерпретатора , мало бути «%s», маємо «%s»" -#: src/exec_ptrace.c:1505 +#: src/exec_ptrace.c:1506 #, c-format msgid "pathname mismatch, expected \"%s\", got \"%s\"" msgstr "невідповідність шляхів: мало бути «%s», маємо «%s»" -#: src/exec_ptrace.c:1514 src/exec_ptrace.c:1521 src/exec_ptrace.c:1545 -#: src/exec_ptrace.c:1553 src/exec_ptrace.c:1559 src/exec_ptrace.c:1565 +#: src/exec_ptrace.c:1515 src/exec_ptrace.c:1522 src/exec_ptrace.c:1546 +#: src/exec_ptrace.c:1554 src/exec_ptrace.c:1560 src/exec_ptrace.c:1566 #, c-format msgid "%s[%d] mismatch, expected \"%s\", got \"%s\"" msgstr "невідповідність %s[%d]: мало бути «%s», маємо «%s»" -#: src/exec_ptrace.c:1632 +#: src/exec_ptrace.c:1634 #, c-format msgid "process %d unexpected status 0x%x" msgstr "неочікуваний стан процесу %d: 0x%x" -#: src/exec_ptrace.c:1723 +#: src/exec_ptrace.c:1727 #, c-format msgid "unable to get event message for process %d" msgstr "не вдалося отримати повідомлення події для процесу %d" -#: src/exec_ptrace.c:1730 +#: src/exec_ptrace.c:1734 #, c-format msgid "unable to get registers for process %d" msgstr "не вдалося отримати регістри для процесу %d" -#: src/exec_pty.c:84 +#: src/exec_pty.c:87 msgid "unable to allocate pty" msgstr "не вдалося розмістити pty" -#: src/exec_pty.c:131 src/exec_pty.c:284 src/tgetpass.c:251 +#: src/exec_pty.c:118 src/exec_pty.c:257 src/tgetpass.c:251 msgid "unable to restore terminal settings" msgstr "не вдалося відновити параметри термінала" -#: src/exec_pty.c:243 +#: src/exec_pty.c:218 msgid "unable to set handler for SIGCONT" msgstr "не вдалося встановити обробник для SIGCONT" -#: src/exec_pty.c:293 +#: src/exec_pty.c:267 #, c-format msgid "unable to set handler for SIG%s" msgstr "не вдалося встановити обробник для SIG%s" -#: src/exec_pty.c:317 +#: src/exec_pty.c:291 #, c-format msgid "unable to restore handler for SIG%s" msgstr "не вдалося відновити обробник для SIG%s" -#: src/exec_pty.c:345 +#: src/exec_pty.c:319 msgid "unable to restore handler for SIGCONT" msgstr "не вдалося відновити обробник для SIGCONT" -#: src/exec_pty.c:1353 +#: src/exec_pty.c:1385 msgid "unable to send message to monitor process" msgstr "не вдалося надіслати повідомлення до процесу аудиту" @@ -559,40 +561,40 @@ msgstr "у %2$s виявлено невідомий тип додатка, %1$d" msgid "policy plugin %s does not include a check_policy method" msgstr "до додатка правил %s не включено метод check_policy" -#: src/parse_args.c:214 +#: src/parse_args.c:213 #, c-format msgid "invalid environment variable name: %s" msgstr "некоректна назва змінної середовища: %s" -#: src/parse_args.c:319 +#: src/parse_args.c:318 msgid "the argument to -C must be a number greater than or equal to 3" msgstr "аргументом параметра -C mмає бути число не менше за 3" -#: src/parse_args.c:556 +#: src/parse_args.c:555 msgid "you may not specify both the -i and -s options" msgstr "не можна одночасно вказувати параметри -i і -s" -#: src/parse_args.c:561 +#: src/parse_args.c:560 msgid "you may not specify both the -i and -E options" msgstr "не можна одночасно вказувати параметри -i і -E" -#: src/parse_args.c:571 +#: src/parse_args.c:570 msgid "the -E option is not valid in edit mode" msgstr "не можна використовувати -E у режимі редагування" -#: src/parse_args.c:574 +#: src/parse_args.c:573 msgid "you may not specify environment variables in edit mode" msgstr "не можна вказувати змінні середовища у режимі редагування" -#: src/parse_args.c:584 +#: src/parse_args.c:583 msgid "the -U option may only be used with the -l option" msgstr "параметр -U можна використовувати лише разом з параметром -l" -#: src/parse_args.c:588 +#: src/parse_args.c:587 msgid "the -A and -S options may not be used together" msgstr "параметри -A і -S не можна використовувати одночасно" -#: src/parse_args.c:686 +#: src/parse_args.c:685 msgid "sudoedit is not supported on this platform" msgstr "підтримки sudoedit для цієї платформи не передбачено" @@ -946,151 +948,151 @@ msgstr "помилка під час виконання setproject для про msgid "warning, resource control assignment failed for project \"%s\"" msgstr "попередження, помилка призначення керування ресурсами проекту «%s»" -#: src/sudo.c:214 +#: src/sudo.c:215 #, c-format msgid "Sudo version %s\n" msgstr "Версія sudo %s\n" -#: src/sudo.c:216 +#: src/sudo.c:217 #, c-format msgid "Configure options: %s\n" msgstr "Параметри налаштування: %s\n" -#: src/sudo.c:224 +#: src/sudo.c:225 msgid "fatal error, unable to load plugins" msgstr "критична помилка, не вдалося завантажити додатки" -#: src/sudo.c:270 +#: src/sudo.c:271 msgid "plugin did not return a command to execute" msgstr "додатком не повернуто команди, яку слід виконати" -#: src/sudo.c:306 +#: src/sudo.c:307 #, c-format msgid "unexpected sudo mode 0x%x" msgstr "неочікуваний режим sudo 0x%x" -#: src/sudo.c:559 +#: src/sudo.c:567 #, c-format msgid "you do not exist in the %s database" msgstr "вас немає у базі даних %s" -#: src/sudo.c:616 +#: src/sudo.c:632 msgid "unable to determine tty" msgstr "не вдалося визначити tty" -#: src/sudo.c:932 +#: src/sudo.c:955 msgid "The \"no new privileges\" flag is set, which prevents sudo from running as root." msgstr "Встановлено прапорець «без нових привілеїв», який забороняє запуск sudo від імені користувача root." -#: src/sudo.c:934 +#: src/sudo.c:957 msgid "If sudo is running in a container, you may need to adjust the container configuration to disable the flag." msgstr "Якщо sudo запущено у контейнері, вам, можливо, слід скоригувати налаштування контейнера, щоб вимкнути цей прапорець." -#: src/sudo.c:968 +#: src/sudo.c:991 #, c-format msgid "%s must be owned by uid %d and have the setuid bit set" msgstr "%s має належати користувачеві з uid %d, крім того, має бути встановлено біт setuid" -#: src/sudo.c:971 +#: src/sudo.c:994 #, c-format msgid "effective uid is not %d, is %s on a file system with the 'nosuid' option set or an NFS file system without root privileges?" msgstr "поточним uid не є %d. Можливо %s зберігається у файловій системі зі встановленим параметром «nosuid» або у файловій системі NFS без прав доступу root?" -#: src/sudo.c:977 +#: src/sudo.c:1000 #, c-format msgid "effective uid is not %d, is sudo installed setuid root?" msgstr "поточним uid не є %d, sudo встановлено з ідентифікатором користувача root?" -#: src/sudo.c:993 src/tgetpass.c:332 +#: src/sudo.c:1016 src/tgetpass.c:332 msgid "unable to set supplementary group IDs" msgstr "не вдалося встановити ідентифікатори додаткових груп" -#: src/sudo.c:1000 +#: src/sudo.c:1023 #, c-format msgid "unable to set effective gid to runas gid %u" msgstr "не вдалося встановити ефективний ідентифікатор групи для ідентифікатора групи запуску %u" -#: src/sudo.c:1006 +#: src/sudo.c:1029 #, c-format msgid "unable to set gid to runas gid %u" msgstr "не вдалося встановити ідентифікатор групи для ідентифікатора групи запуску %u" -#: src/sudo.c:1037 +#: src/sudo.c:1060 msgid "argv not set by the security policy" msgstr "argv не встановлено правилами захисту" -#: src/sudo.c:1041 +#: src/sudo.c:1064 msgid "envp not set by the security policy" msgstr "envp не встановлено правилами захисту" -#: src/sudo.c:1063 +#: src/sudo.c:1086 #, c-format msgid "unexpected child termination condition: %d" msgstr "неочікувана умова переривання дочірнього процесу: %d" -#: src/sudo.c:1176 +#: src/sudo.c:1198 msgid "unable to initialize policy plugin" msgstr "не вдалося ініціалізувати додаток правил" -#: src/sudo.c:1238 +#: src/sudo.c:1259 #, c-format msgid "policy plugin %s is missing the \"check_policy\" method" msgstr "до додатка правил %s не включено метод check_policy" -#: src/sudo.c:1284 +#: src/sudo.c:1305 #, c-format msgid "policy plugin %s does not support listing privileges" msgstr "у додатку правил %s не передбачено підтримки побудови списку прав доступу" -#: src/sudo.c:1328 +#: src/sudo.c:1349 #, c-format msgid "policy plugin %s does not support the -v option" msgstr "у додатку правил %s не передбачено підтримки параметра -v" -#: src/sudo.c:1366 +#: src/sudo.c:1387 #, c-format msgid "policy plugin %s does not support the -k/-K options" msgstr "у додатку правил %s не передбачено підтримки параметрів -k/-K" -#: src/sudo.c:1495 +#: src/sudo.c:1516 #, c-format msgid "error initializing I/O plugin %s" msgstr "помилка під час спроби ініціалізації додатка введення/виведення даних %s" -#: src/sudo.c:1498 +#: src/sudo.c:1519 msgid "error initializing I/O plugin" msgstr "помилка під час спроби ініціалізації додатка введення/виведення даних" -#: src/sudo.c:1647 +#: src/sudo.c:1668 #, c-format msgid "error initializing audit plugin %s" msgstr "помилка під час спроби ініціалізації додатка аудиту %s" -#: src/sudo.c:1726 +#: src/sudo.c:1747 #, c-format msgid "%s: unable to log error event%s%s" msgstr "%s: не вдалося записати до журналу подію помилки%s%s" -#: src/sudo.c:1762 +#: src/sudo.c:1783 #, c-format msgid "%s: unable to log accept event%s%s" msgstr "%s: не вдалося записати до журналу подію прийняття%s%s" -#: src/sudo.c:1767 src/sudo.c:1805 +#: src/sudo.c:1788 src/sudo.c:1826 msgid "audit plugin error" msgstr "помилка у додатку аудиту" -#: src/sudo.c:1800 +#: src/sudo.c:1821 #, c-format msgid "%s: unable to log reject event%s%s" msgstr "%s: не вдалося записати до журналу подію відмови%s%s" -#: src/sudo.c:1860 +#: src/sudo.c:1881 #, c-format msgid "error initializing approval plugin %s" msgstr "помилка під час спроби ініціалізації додатка підтвердження %s" -#: src/sudo.c:1930 +#: src/sudo.c:1951 msgid "command rejected by approver" msgstr "у виконанні команди відмовлено засобом підтвердження" @@ -1150,7 +1152,7 @@ msgstr "помилка додатка: не вистачає списку фай msgid "unable to read the clock" msgstr "не вдалося прочитати час на годиннику" -#: src/sudo_intercept_common.c:365 +#: src/sudo_intercept_common.c:372 msgid "intercept port not set" msgstr "порт перехоплення не встановлено" @@ -1189,6 +1191,12 @@ msgstr "не вдалося встановити uid у значення %u" msgid "unable to run %s" msgstr "не вдалося виконати %s" +#: src/ttyname.c:139 src/ttyname.c:182 src/ttyname.c:199 src/ttyname.c:284 +#: src/ttyname.c:312 src/ttyname.c:356 +#, c-format +msgid "unable to find terminal name for device %u, %u" +msgstr "не вдалося знайти назву термінала для пристрою %u, %u" + #: src/utmp.c:283 msgid "unable to save stdin" msgstr "не вдалося зберегти stdin" diff --git a/po/zh_CN.mo b/po/zh_CN.mo index 5d41aa1cf..628d24e53 100644 Binary files a/po/zh_CN.mo and b/po/zh_CN.mo differ diff --git a/po/zh_CN.po b/po/zh_CN.po index 2361109d2..05f6f643f 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -2,14 +2,14 @@ # sudo 的简体中文翻译。 # This file is put in the public domain. # Wylmer Wang , 2011, 2012, 2013, 2014, 2015, 2016, 2018. -# Boyuan Yang <073plan@gmail.com>, 2019, 2020, 2021, 2022. +# Boyuan Yang <073plan@gmail.com>, 2019, 2020, 2021, 2022, 2024. # msgid "" msgstr "" -"Project-Id-Version: sudo-1.9.14b1\n" +"Project-Id-Version: sudo-1.9.16b1\n" "Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n" -"POT-Creation-Date: 2023-06-07 13:27-0600\n" -"PO-Revision-Date: 2023-10-22 09:31-0400\n" +"POT-Creation-Date: 2024-06-08 09:06-0600\n" +"PO-Revision-Date: 2024-06-17 14:43-0400\n" "Last-Translator: Boyuan Yang <073plan@gmail.com>\n" "Language-Team: Chinese (simplified) \n" "Language: zh_CN\n" @@ -17,7 +17,7 @@ msgstr "" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Bugs: Report translation errors to the Language-Team address.\n" -"X-Generator: Poedit 2.4.3\n" +"X-Generator: Poedit 3.4.4\n" #: lib/util/aix.c:89 lib/util/aix.c:169 msgid "unable to open userdb" @@ -33,78 +33,80 @@ msgid "unable to restore registry" msgstr "无法恢复注册表" #: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/gidlist.c:76 -#: lib/util/json.c:55 lib/util/json.c:197 lib/util/sudo_conf.c:215 -#: lib/util/sudo_conf.c:301 lib/util/sudo_conf.c:378 lib/util/sudo_conf.c:647 -#: src/conversation.c:78 src/exec_iolog.c:122 src/exec_iolog.c:133 -#: src/exec_iolog.c:210 src/exec_monitor.c:171 src/exec_monitor.c:418 -#: src/exec_monitor.c:424 src/exec_monitor.c:432 src/exec_monitor.c:440 -#: src/exec_monitor.c:447 src/exec_monitor.c:454 src/exec_monitor.c:461 -#: src/exec_monitor.c:468 src/exec_monitor.c:475 src/exec_monitor.c:482 -#: src/exec_monitor.c:489 src/exec_nopty.c:231 src/exec_nopty.c:240 +#: lib/util/json.c:55 lib/util/json.c:197 lib/util/sudo_conf.c:218 +#: lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381 lib/util/sudo_conf.c:672 +#: src/conversation.c:81 src/exec_iolog.c:122 src/exec_iolog.c:133 +#: src/exec_iolog.c:210 src/exec_monitor.c:173 src/exec_monitor.c:430 +#: src/exec_monitor.c:436 src/exec_monitor.c:444 src/exec_monitor.c:452 +#: src/exec_monitor.c:459 src/exec_monitor.c:466 src/exec_monitor.c:473 +#: src/exec_monitor.c:480 src/exec_monitor.c:487 src/exec_monitor.c:494 +#: src/exec_monitor.c:501 src/exec_nopty.c:231 src/exec_nopty.c:240 #: src/exec_nopty.c:247 src/exec_nopty.c:254 src/exec_nopty.c:261 #: src/exec_nopty.c:268 src/exec_nopty.c:275 src/exec_nopty.c:282 #: src/exec_nopty.c:289 src/exec_nopty.c:296 src/exec_nopty.c:303 #: src/exec_nopty.c:310 src/exec_nopty.c:318 src/exec_nopty.c:326 -#: src/exec_nopty.c:744 src/exec_preload.c:343 src/exec_ptrace.c:475 -#: src/exec_ptrace.c:768 src/exec_ptrace.c:983 src/exec_ptrace.c:1096 -#: src/exec_ptrace.c:1271 src/exec_ptrace.c:1624 src/exec_ptrace.c:1651 -#: src/exec_ptrace.c:1841 src/exec_pty.c:581 src/exec_pty.c:765 -#: src/exec_pty.c:963 src/exec_pty.c:972 src/exec_pty.c:979 src/exec_pty.c:986 -#: src/exec_pty.c:993 src/exec_pty.c:1000 src/exec_pty.c:1007 -#: src/exec_pty.c:1014 src/exec_pty.c:1021 src/exec_pty.c:1028 -#: src/exec_pty.c:1035 src/exec_pty.c:1042 src/exec_pty.c:1050 -#: src/load_plugins.c:100 src/load_plugins.c:125 src/load_plugins.c:161 -#: src/load_plugins.c:394 src/load_plugins.c:400 src/parse_args.c:172 -#: src/parse_args.c:193 src/parse_args.c:269 src/parse_args.c:625 -#: src/parse_args.c:647 src/parse_args.c:672 src/preserve_fds.c:46 -#: src/preserve_fds.c:131 src/selinux.c:89 src/selinux.c:362 src/selinux.c:472 -#: src/selinux.c:489 src/selinux.c:496 src/sesh.c:206 src/sesh.c:240 -#: src/sesh.c:246 src/sesh.c:253 src/sesh.c:259 src/sesh.c:470 src/sudo.c:644 -#: src/sudo.c:709 src/sudo.c:719 src/sudo.c:746 src/sudo.c:769 src/sudo.c:778 -#: src/sudo.c:787 src/sudo.c:805 src/sudo.c:846 src/sudo.c:855 src/sudo.c:865 -#: src/sudo.c:898 src/sudo.c:1127 src/sudo.c:1148 src/sudo.c:1441 -#: src/sudo.c:1610 src/sudo.c:1837 src/sudo.c:2171 src/sudo_edit.c:89 -#: src/sudo_edit.c:149 src/sudo_edit.c:430 src/sudo_edit.c:439 -#: src/sudo_edit.c:540 src/sudo_edit.c:547 src/sudo_edit.c:692 -#: src/sudo_edit.c:712 src/sudo_intercept_common.c:115 -#: src/sudo_intercept_common.c:340 +#: src/exec_nopty.c:748 src/exec_preload.c:347 src/exec_ptrace.c:475 +#: src/exec_ptrace.c:768 src/exec_ptrace.c:985 src/exec_ptrace.c:1098 +#: src/exec_ptrace.c:1273 src/exec_ptrace.c:1626 src/exec_ptrace.c:1653 +#: src/exec_ptrace.c:1845 src/exec_pty.c:599 src/exec_pty.c:783 +#: src/exec_pty.c:990 src/exec_pty.c:999 src/exec_pty.c:1006 +#: src/exec_pty.c:1013 src/exec_pty.c:1020 src/exec_pty.c:1027 +#: src/exec_pty.c:1034 src/exec_pty.c:1041 src/exec_pty.c:1048 +#: src/exec_pty.c:1055 src/exec_pty.c:1062 src/exec_pty.c:1069 +#: src/exec_pty.c:1077 src/load_plugins.c:100 src/load_plugins.c:125 +#: src/load_plugins.c:161 src/load_plugins.c:394 src/load_plugins.c:400 +#: src/parse_args.c:171 src/parse_args.c:192 src/parse_args.c:268 +#: src/parse_args.c:624 src/parse_args.c:646 src/parse_args.c:671 +#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89 +#: src/selinux.c:362 src/selinux.c:472 src/selinux.c:489 src/selinux.c:496 +#: src/sesh.c:206 src/sesh.c:240 src/sesh.c:246 src/sesh.c:253 src/sesh.c:259 +#: src/sesh.c:470 src/sudo.c:581 src/sudo.c:607 src/sudo.c:660 src/sudo.c:726 +#: src/sudo.c:737 src/sudo.c:764 src/sudo.c:787 src/sudo.c:796 src/sudo.c:805 +#: src/sudo.c:818 src/sudo.c:827 src/sudo.c:868 src/sudo.c:878 src/sudo.c:888 +#: src/sudo.c:921 src/sudo.c:923 src/sudo.c:1150 src/sudo.c:1171 +#: src/sudo.c:1462 src/sudo.c:1631 src/sudo.c:1858 src/sudo.c:2191 +#: src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:430 +#: src/sudo_edit.c:439 src/sudo_edit.c:540 src/sudo_edit.c:547 +#: src/sudo_edit.c:692 src/sudo_edit.c:712 src/sudo_intercept_common.c:122 +#: src/sudo_intercept_common.c:347 #, c-format msgid "%s: %s" msgstr "%s:%s" #: lib/util/aix.c:272 lib/util/gidlist.c:66 lib/util/json.c:56 -#: lib/util/json.c:198 lib/util/regex.c:173 lib/util/sudo_conf.c:216 -#: lib/util/sudo_conf.c:301 lib/util/sudo_conf.c:378 lib/util/sudo_conf.c:647 -#: src/conversation.c:79 src/exec_intercept.c:111 src/exec_intercept.c:350 -#: src/exec_intercept.c:525 src/exec_intercept.c:589 src/exec_intercept.c:713 -#: src/exec_intercept.c:837 src/exec_iolog.c:122 src/exec_iolog.c:133 -#: src/exec_iolog.c:210 src/exec_monitor.c:418 src/exec_monitor.c:424 -#: src/exec_monitor.c:432 src/exec_monitor.c:440 src/exec_monitor.c:447 -#: src/exec_monitor.c:454 src/exec_monitor.c:461 src/exec_monitor.c:468 -#: src/exec_monitor.c:475 src/exec_monitor.c:482 src/exec_monitor.c:489 +#: lib/util/json.c:198 lib/util/regex.c:173 lib/util/sudo_conf.c:219 +#: lib/util/sudo_conf.c:304 lib/util/sudo_conf.c:381 lib/util/sudo_conf.c:672 +#: src/conversation.c:82 src/exec_intercept.c:112 src/exec_intercept.c:351 +#: src/exec_intercept.c:527 src/exec_intercept.c:591 src/exec_intercept.c:715 +#: src/exec_intercept.c:839 src/exec_iolog.c:122 src/exec_iolog.c:133 +#: src/exec_iolog.c:210 src/exec_monitor.c:430 src/exec_monitor.c:436 +#: src/exec_monitor.c:444 src/exec_monitor.c:452 src/exec_monitor.c:459 +#: src/exec_monitor.c:466 src/exec_monitor.c:473 src/exec_monitor.c:480 +#: src/exec_monitor.c:487 src/exec_monitor.c:494 src/exec_monitor.c:501 #: src/exec_nopty.c:231 src/exec_nopty.c:240 src/exec_nopty.c:247 #: src/exec_nopty.c:254 src/exec_nopty.c:261 src/exec_nopty.c:268 #: src/exec_nopty.c:275 src/exec_nopty.c:282 src/exec_nopty.c:289 #: src/exec_nopty.c:296 src/exec_nopty.c:303 src/exec_nopty.c:310 -#: src/exec_nopty.c:318 src/exec_nopty.c:326 src/exec_preload.c:343 -#: src/exec_ptrace.c:475 src/exec_ptrace.c:768 src/exec_ptrace.c:983 -#: src/exec_ptrace.c:1651 src/exec_ptrace.c:1842 src/exec_pty.c:581 -#: src/exec_pty.c:963 src/exec_pty.c:972 src/exec_pty.c:979 src/exec_pty.c:986 -#: src/exec_pty.c:993 src/exec_pty.c:1000 src/exec_pty.c:1007 -#: src/exec_pty.c:1014 src/exec_pty.c:1021 src/exec_pty.c:1028 -#: src/exec_pty.c:1035 src/exec_pty.c:1042 src/exec_pty.c:1050 -#: src/load_plugins.c:100 src/load_plugins.c:125 src/load_plugins.c:161 -#: src/load_plugins.c:394 src/load_plugins.c:400 src/parse_args.c:172 -#: src/parse_args.c:194 src/parse_args.c:269 src/parse_args.c:625 -#: src/parse_args.c:647 src/parse_args.c:672 src/preserve_fds.c:46 -#: src/preserve_fds.c:131 src/selinux.c:89 src/selinux.c:362 src/selinux.c:472 -#: src/selinux.c:489 src/selinux.c:496 src/sesh.c:206 src/sesh.c:471 -#: src/sudo.c:228 src/sudo.c:644 src/sudo.c:898 src/sudo.c:1127 src/sudo.c:1148 -#: src/sudo.c:1441 src/sudo.c:1610 src/sudo.c:1837 src/sudo.c:2171 -#: src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:430 +#: src/exec_nopty.c:318 src/exec_nopty.c:326 src/exec_preload.c:347 +#: src/exec_ptrace.c:475 src/exec_ptrace.c:768 src/exec_ptrace.c:985 +#: src/exec_ptrace.c:1653 src/exec_ptrace.c:1846 src/exec_pty.c:599 +#: src/exec_pty.c:990 src/exec_pty.c:999 src/exec_pty.c:1006 +#: src/exec_pty.c:1013 src/exec_pty.c:1020 src/exec_pty.c:1027 +#: src/exec_pty.c:1034 src/exec_pty.c:1041 src/exec_pty.c:1048 +#: src/exec_pty.c:1055 src/exec_pty.c:1062 src/exec_pty.c:1069 +#: src/exec_pty.c:1077 src/load_plugins.c:100 src/load_plugins.c:125 +#: src/load_plugins.c:161 src/load_plugins.c:394 src/load_plugins.c:400 +#: src/parse_args.c:171 src/parse_args.c:193 src/parse_args.c:268 +#: src/parse_args.c:624 src/parse_args.c:646 src/parse_args.c:671 +#: src/preserve_fds.c:46 src/preserve_fds.c:131 src/selinux.c:89 +#: src/selinux.c:362 src/selinux.c:472 src/selinux.c:489 src/selinux.c:496 +#: src/sesh.c:206 src/sesh.c:471 src/sudo.c:229 src/sudo.c:581 src/sudo.c:607 +#: src/sudo.c:660 src/sudo.c:819 src/sudo.c:921 src/sudo.c:923 src/sudo.c:1150 +#: src/sudo.c:1171 src/sudo.c:1462 src/sudo.c:1631 src/sudo.c:1858 +#: src/sudo.c:2191 src/sudo_edit.c:89 src/sudo_edit.c:149 src/sudo_edit.c:430 #: src/sudo_edit.c:439 src/sudo_edit.c:540 src/sudo_edit.c:547 -#: src/sudo_edit.c:692 src/sudo_edit.c:712 src/sudo_intercept_common.c:115 -#: src/sudo_intercept_common.c:340 +#: src/sudo_edit.c:692 src/sudo_edit.c:712 src/sudo_intercept_common.c:122 +#: src/sudo_intercept_common.c:347 msgid "unable to allocate memory" msgstr "无法分配内存" @@ -118,9 +120,9 @@ msgstr "无法 stat %.*s" msgid "%.*s exists but is not a directory (0%o)" msgstr "%.*s 存在但不是目录(0%o)" -#: lib/util/mkdir_parents.c:103 lib/util/sudo_conf.c:664 -#: lib/util/sudo_conf.c:683 lib/util/sudo_conf.c:710 src/selinux.c:235 -#: src/selinux.c:265 src/sudo.c:373 src/sudo_edit.c:495 src/sudo_edit.c:559 +#: lib/util/mkdir_parents.c:103 lib/util/sudo_conf.c:689 +#: lib/util/sudo_conf.c:708 lib/util/sudo_conf.c:735 src/selinux.c:235 +#: src/selinux.c:265 src/sudo.c:375 src/sudo_edit.c:495 src/sudo_edit.c:559 #, c-format msgid "unable to open %s" msgstr "无法打开 %s" @@ -143,55 +145,55 @@ msgstr "正则表达式太大" msgid "Unknown signal" msgstr "未知信号" -#: lib/util/strtoid.c:84 lib/util/strtomode.c:52 lib/util/strtonum.c:148 -#: lib/util/strtonum.c:187 src/sesh.c:240 src/sesh.c:253 +#: lib/util/strtoid.c:84 lib/util/strtomode.c:52 lib/util/strtonum.c:147 +#: lib/util/strtonum.c:186 src/sesh.c:240 src/sesh.c:253 msgid "invalid value" msgstr "值无效" -#: lib/util/strtomode.c:58 lib/util/strtonum.c:160 +#: lib/util/strtomode.c:58 lib/util/strtonum.c:159 msgid "value too large" msgstr "值过大" -#: lib/util/strtomode.c:58 lib/util/strtonum.c:154 +#: lib/util/strtomode.c:58 lib/util/strtonum.c:153 msgid "value too small" msgstr "值过小" -#: lib/util/sudo_conf.c:234 +#: lib/util/sudo_conf.c:237 #, c-format msgid "invalid Path value \"%s\" in %s, line %u" msgstr "%2$s 第 %3$u 行的路径值“%1$s”无效" -#: lib/util/sudo_conf.c:400 lib/util/sudo_conf.c:453 +#: lib/util/sudo_conf.c:403 lib/util/sudo_conf.c:456 #, c-format msgid "invalid value for %s \"%s\" in %s, line %u" msgstr "%3$s 第 %4$u 行的 %1$s 的值“%2$s”无效" -#: lib/util/sudo_conf.c:421 +#: lib/util/sudo_conf.c:424 #, c-format msgid "unsupported group source \"%s\" in %s, line %u" msgstr "不支持 %2$s 第 %3$u 行的组来源“%1$s”" -#: lib/util/sudo_conf.c:437 +#: lib/util/sudo_conf.c:440 #, c-format msgid "invalid max groups \"%s\" in %s, line %u" msgstr "%2$s 第 %3$u 行的最大组数“%1$s”无效" -#: lib/util/sudo_conf.c:686 +#: lib/util/sudo_conf.c:711 #, c-format msgid "%s is not a regular file" msgstr "%s 不是常规文件" -#: lib/util/sudo_conf.c:689 src/copy_file.c:164 +#: lib/util/sudo_conf.c:714 src/copy_file.c:164 #, c-format msgid "%s is owned by uid %u, should be %u" msgstr "%s 属于用户 ID %u,应为 %u" -#: lib/util/sudo_conf.c:693 +#: lib/util/sudo_conf.c:718 #, c-format msgid "%s is world writable" msgstr "%s 可被任何人写" -#: lib/util/sudo_conf.c:696 +#: lib/util/sudo_conf.c:721 #, c-format msgid "%s is group writable" msgstr "%s 可被用户组写" @@ -285,18 +287,18 @@ msgstr "无法将目录切换到 %s" msgid "starting from %s" msgstr "起始于 %s" -#: src/exec.c:278 src/exec.c:351 src/exec_monitor.c:552 src/exec_monitor.c:554 -#: src/exec_pty.c:1122 src/exec_pty.c:1124 src/signal.c:144 src/signal.c:151 +#: src/exec.c:278 src/exec.c:351 src/exec_monitor.c:564 src/exec_monitor.c:566 +#: src/exec_pty.c:1148 src/exec_pty.c:1150 src/signal.c:144 src/signal.c:151 #: src/signal.c:165 src/suspend_parent.c:143 #, c-format msgid "unable to set handler for signal %d" msgstr "无法设置 %d 信号的处理程序" -#: src/exec.c:424 +#: src/exec.c:447 msgid "intercept mode is not supported with SELinux RBAC on this system" msgstr "本系统上的 SELinux RBAC 不支持拦截模式" -#: src/exec.c:429 +#: src/exec.c:452 msgid "unable to log sub-commands with SELinux RBAC on this system" msgstr "本系统上的 SELinux RBAC 无法记录子命令" @@ -304,62 +306,63 @@ msgstr "本系统上的 SELinux RBAC 无法记录子命令" msgid "unable to remove PRIV_PROC_EXEC from PRIV_LIMIT" msgstr "无法从 PRIV_LIMIT 中移除 PRIV_PROC_EXEC" -#: src/exec_intercept.c:70 src/exec_iolog.c:163 src/exec_iolog.c:173 +#: src/exec_intercept.c:71 src/exec_iolog.c:163 src/exec_iolog.c:173 #: src/exec_iolog.c:218 src/exec_iolog.c:225 src/exec_iolog.c:252 -#: src/exec_monitor.c:426 src/exec_monitor.c:434 src/exec_monitor.c:442 -#: src/exec_monitor.c:449 src/exec_monitor.c:456 src/exec_monitor.c:463 -#: src/exec_monitor.c:470 src/exec_monitor.c:477 src/exec_monitor.c:484 -#: src/exec_monitor.c:491 src/exec_nopty.c:233 src/exec_nopty.c:242 +#: src/exec_monitor.c:438 src/exec_monitor.c:446 src/exec_monitor.c:454 +#: src/exec_monitor.c:461 src/exec_monitor.c:468 src/exec_monitor.c:475 +#: src/exec_monitor.c:482 src/exec_monitor.c:489 src/exec_monitor.c:496 +#: src/exec_monitor.c:503 src/exec_nopty.c:233 src/exec_nopty.c:242 #: src/exec_nopty.c:249 src/exec_nopty.c:256 src/exec_nopty.c:263 #: src/exec_nopty.c:270 src/exec_nopty.c:277 src/exec_nopty.c:284 #: src/exec_nopty.c:291 src/exec_nopty.c:298 src/exec_nopty.c:305 #: src/exec_nopty.c:312 src/exec_nopty.c:320 src/exec_nopty.c:328 -#: src/exec_nopty.c:387 src/exec_nopty.c:457 src/exec_pty.c:432 -#: src/exec_pty.c:537 src/exec_pty.c:587 src/exec_pty.c:965 src/exec_pty.c:974 -#: src/exec_pty.c:981 src/exec_pty.c:988 src/exec_pty.c:995 src/exec_pty.c:1002 -#: src/exec_pty.c:1009 src/exec_pty.c:1016 src/exec_pty.c:1023 -#: src/exec_pty.c:1030 src/exec_pty.c:1037 src/exec_pty.c:1044 +#: src/exec_nopty.c:387 src/exec_nopty.c:457 src/exec_pty.c:441 +#: src/exec_pty.c:555 src/exec_pty.c:605 src/exec_pty.c:992 src/exec_pty.c:1001 +#: src/exec_pty.c:1008 src/exec_pty.c:1015 src/exec_pty.c:1022 +#: src/exec_pty.c:1029 src/exec_pty.c:1036 src/exec_pty.c:1043 +#: src/exec_pty.c:1050 src/exec_pty.c:1057 src/exec_pty.c:1064 +#: src/exec_pty.c:1071 msgid "unable to add event to queue" msgstr "无法将事件添加到队列" -#: src/exec_intercept.c:323 src/sudo.c:1033 +#: src/exec_intercept.c:324 src/sudo.c:1056 msgid "command not set by the security policy" msgstr "命令因安全策略未设置" -#: src/exec_intercept.c:401 src/exec_intercept.c:441 src/sudo.c:1253 -#: src/sudo.c:1298 src/sudo.c:1342 +#: src/exec_intercept.c:403 src/exec_intercept.c:443 src/sudo.c:1274 +#: src/sudo.c:1319 src/sudo.c:1363 msgid "command rejected by policy" msgstr "命令被策略拒绝" -#: src/exec_intercept.c:512 src/sudo.c:1940 +#: src/exec_intercept.c:514 src/sudo.c:1961 msgid "approval plugin error" msgstr "批准插件出错" -#: src/exec_intercept.c:537 src/sudo.c:1258 src/sudo.c:1303 src/sudo.c:1347 -#: src/sudo.c:1421 +#: src/exec_intercept.c:539 src/sudo.c:1279 src/sudo.c:1324 src/sudo.c:1368 +#: src/sudo.c:1442 msgid "policy plugin error" msgstr "策略插件错误" -#: src/exec_intercept.c:566 +#: src/exec_intercept.c:568 msgid "invalid PolicyCheckRequest" msgstr "无效的 PolicyCheckRequest" -#: src/exec_intercept.c:709 +#: src/exec_intercept.c:711 #, c-format msgid "client request too large: %zu" msgstr "客户端请求过大:%zu" -#: src/exec_intercept.c:751 +#: src/exec_intercept.c:753 #, c-format msgid "unable to unpack %s size %zu" msgstr "无法解包 %s(大小 %zu)" -#: src/exec_intercept.c:799 +#: src/exec_intercept.c:801 #, c-format msgid "unexpected type_case value %d in %s from %s" msgstr "未预期的 type_case 值 %d,位于 %s,来自 %s" -#: src/exec_intercept.c:825 +#: src/exec_intercept.c:827 #, c-format msgid "server message too large: %zu" msgstr "服务器消息过大:%zu" @@ -382,135 +385,135 @@ msgstr "记录挂起事件时出错" msgid "error changing window size" msgstr "变更窗口大小出错" -#: src/exec_monitor.c:328 +#: src/exec_monitor.c:330 msgid "error reading from socketpair" msgstr "从套接字对读取出错" -#: src/exec_monitor.c:340 +#: src/exec_monitor.c:342 #, c-format msgid "unexpected reply type on backchannel: %d" msgstr "联络通道的回应类型异常:%d" -#: src/exec_monitor.c:566 +#: src/exec_monitor.c:578 msgid "unable to set controlling tty" msgstr "无法设置控制终端" -#: src/exec_monitor.c:574 src/exec_nopty.c:504 src/exec_nopty.c:514 -#: src/exec_nopty.c:524 src/exec_nopty.c:560 src/exec_pty.c:1195 -#: src/exec_pty.c:1222 src/exec_pty.c:1242 src/exec_pty.c:1262 -#: src/tgetpass.c:306 -msgid "unable to create pipe" -msgstr "无法创建管道" +#: src/exec_monitor.c:590 src/exec_nopty.c:572 src/exec_pty.c:1126 +#: src/exec_pty.c:1135 +msgid "unable to create sockets" +msgstr "无法创建套接字" -#: src/exec_monitor.c:584 +#: src/exec_monitor.c:599 msgid "unable to receive message from parent" msgstr "无法从父(进程)接收消息" -#: src/exec_monitor.c:600 src/exec_nopty.c:603 src/exec_pty.c:1303 +#: src/exec_monitor.c:614 src/exec_nopty.c:606 src/exec_pty.c:1336 #: src/sudo_edit.c:361 src/tgetpass.c:310 msgid "unable to fork" msgstr "无法执行 fork" -#: src/exec_monitor.c:604 src/exec_monitor.c:700 src/exec_nopty.c:708 +#: src/exec_monitor.c:618 src/exec_monitor.c:720 src/exec_nopty.c:712 msgid "unable to restore tty label" msgstr "无法恢复终端标签" -#: src/exec_monitor.c:615 src/sesh.c:217 src/sudo.c:1204 +#: src/exec_monitor.c:629 src/exec_monitor.c:678 src/sesh.c:217 src/sudo.c:1225 #, c-format msgid "unable to execute %s" msgstr "无法执行 %s" -#: src/exec_nopty.c:554 src/exec_pty.c:1131 +#: src/exec_nopty.c:507 src/exec_nopty.c:517 src/exec_nopty.c:527 +#: src/exec_nopty.c:563 src/exec_pty.c:1224 src/exec_pty.c:1251 +#: src/exec_pty.c:1274 src/exec_pty.c:1292 src/tgetpass.c:306 +msgid "unable to create pipe" +msgstr "无法创建管道" + +#: src/exec_nopty.c:557 src/exec_pty.c:1157 msgid "policy plugin failed session initialization" msgstr "策略插件会话初始化失败" -#: src/exec_nopty.c:569 src/exec_pty.c:1100 src/exec_pty.c:1109 -msgid "unable to create sockets" -msgstr "无法创建套接字" - -#: src/exec_nopty.c:696 src/exec_pty.c:1406 +#: src/exec_nopty.c:700 src/exec_pty.c:1437 msgid "error in event loop" msgstr "事件循环中有错误" -#: src/exec_preload.c:167 src/net_ifs.c:206 src/net_ifs.c:372 src/net_ifs.c:433 -#: src/net_ifs.c:620 src/net_ifs.c:852 src/sudo.c:488 src/sudo_edit.c:398 +#: src/exec_preload.c:168 src/net_ifs.c:206 src/net_ifs.c:372 src/net_ifs.c:433 +#: src/net_ifs.c:620 src/net_ifs.c:852 src/sudo.c:494 src/sudo_edit.c:398 #: src/sudo_edit.c:406 #, c-format msgid "internal error, %s overflow" msgstr "内部错误,%s 溢出" -#: src/exec_ptrace.c:1080 src/exec_ptrace.c:1105 src/exec_ptrace.c:1925 +#: src/exec_ptrace.c:1082 src/exec_ptrace.c:1107 src/exec_ptrace.c:1930 #, c-format msgid "unable to set registers for process %d" msgstr "无法设置进程 %d 的寄存器" -#: src/exec_ptrace.c:1100 src/exec_ptrace.c:1275 src/exec_ptrace.c:1628 +#: src/exec_ptrace.c:1102 src/exec_ptrace.c:1277 src/exec_ptrace.c:1630 #, c-format msgid "process %d exited unexpectedly" msgstr "进程 %d 未预期地退出" -#: src/exec_ptrace.c:1209 +#: src/exec_ptrace.c:1211 msgid "unable to set seccomp filter" msgstr "无法设置 seccomp 过滤器" -#: src/exec_ptrace.c:1406 +#: src/exec_ptrace.c:1408 #, c-format msgid "interpreter argument , expected \"%s\", got \"%s\"" msgstr "解释器参数,期望为“%s”,得到了“%s”" -#: src/exec_ptrace.c:1505 +#: src/exec_ptrace.c:1506 #, c-format msgid "pathname mismatch, expected \"%s\", got \"%s\"" msgstr "路径名不匹配,期望为“%s”,得到了“%s”" -#: src/exec_ptrace.c:1514 src/exec_ptrace.c:1521 src/exec_ptrace.c:1545 -#: src/exec_ptrace.c:1553 src/exec_ptrace.c:1559 src/exec_ptrace.c:1565 +#: src/exec_ptrace.c:1515 src/exec_ptrace.c:1522 src/exec_ptrace.c:1546 +#: src/exec_ptrace.c:1554 src/exec_ptrace.c:1560 src/exec_ptrace.c:1566 #, c-format msgid "%s[%d] mismatch, expected \"%s\", got \"%s\"" msgstr "%s[%d] 不匹配,期望为“%s”,得到了“%s”" -#: src/exec_ptrace.c:1632 +#: src/exec_ptrace.c:1634 #, c-format msgid "process %d unexpected status 0x%x" msgstr "进程 %d 未预期的状态 0x%x" -#: src/exec_ptrace.c:1723 +#: src/exec_ptrace.c:1727 #, c-format msgid "unable to get event message for process %d" msgstr "无法获取进程 %d 的事件消息" -#: src/exec_ptrace.c:1730 +#: src/exec_ptrace.c:1734 #, c-format msgid "unable to get registers for process %d" msgstr "无法获取进程 %d 的寄存器" -#: src/exec_pty.c:84 +#: src/exec_pty.c:87 msgid "unable to allocate pty" msgstr "无法分配伪终端" -#: src/exec_pty.c:131 src/exec_pty.c:284 src/tgetpass.c:251 +#: src/exec_pty.c:118 src/exec_pty.c:257 src/tgetpass.c:251 msgid "unable to restore terminal settings" msgstr "无法恢复终端设置" -#: src/exec_pty.c:243 +#: src/exec_pty.c:218 msgid "unable to set handler for SIGCONT" msgstr "无法设置 SIGCONT 信号的处理程序" -#: src/exec_pty.c:293 +#: src/exec_pty.c:267 #, c-format msgid "unable to set handler for SIG%s" msgstr "无法设置 SIG%s 信号的处理程序" -#: src/exec_pty.c:317 +#: src/exec_pty.c:291 #, c-format msgid "unable to restore handler for SIG%s" msgstr "无法恢复 SIG%s 信号的处理程序" -#: src/exec_pty.c:345 +#: src/exec_pty.c:319 msgid "unable to restore handler for SIGCONT" msgstr "无法恢复 SIGCONT 信号的处理程序" -#: src/exec_pty.c:1353 +#: src/exec_pty.c:1385 msgid "unable to send message to monitor process" msgstr "无法向监视进程发送消息" @@ -559,40 +562,40 @@ msgstr "未知的插件类型 %d,在 %s" msgid "policy plugin %s does not include a check_policy method" msgstr "策略插件 %s 不包含 check_policy 方法" -#: src/parse_args.c:214 +#: src/parse_args.c:213 #, c-format msgid "invalid environment variable name: %s" msgstr "无效的环境变量名:%s" -#: src/parse_args.c:319 +#: src/parse_args.c:318 msgid "the argument to -C must be a number greater than or equal to 3" msgstr "-C 选项的参数必须是一个大于等于 3 的数字" -#: src/parse_args.c:556 +#: src/parse_args.c:555 msgid "you may not specify both the -i and -s options" msgstr "您不能同时指定 -i 和 -s 选项" -#: src/parse_args.c:561 +#: src/parse_args.c:560 msgid "you may not specify both the -i and -E options" msgstr "您不能同时指定 -i 和 -E 选项" -#: src/parse_args.c:571 +#: src/parse_args.c:570 msgid "the -E option is not valid in edit mode" msgstr "-E 选项在编辑模式中无效" -#: src/parse_args.c:574 +#: src/parse_args.c:573 msgid "you may not specify environment variables in edit mode" msgstr "在编辑模式中您不能指定环境变量" -#: src/parse_args.c:584 +#: src/parse_args.c:583 msgid "the -U option may only be used with the -l option" msgstr "-U 选项只能与 -l 选项一起使用" -#: src/parse_args.c:588 +#: src/parse_args.c:587 msgid "the -A and -S options may not be used together" msgstr "-A 和 -S 选项不可同时使用" -#: src/parse_args.c:686 +#: src/parse_args.c:685 msgid "sudoedit is not supported on this platform" msgstr "此平台不支持 sudoedit" @@ -684,7 +687,7 @@ msgstr "显示帮助消息并退出" #: src/parse_args.c:823 msgid "run command on host (if supported by plugin)" -msgstr "在主机上运行命令(如果插件支持)" +msgstr "在主机上运行命令(如果插件支持)" #: src/parse_args.c:826 msgid "run login shell as the target user; a command may also be specified" @@ -744,7 +747,7 @@ msgstr "在列表模式中显示用户的权限" #: src/parse_args.c:867 msgid "run command (or edit file) as specified user name or ID" -msgstr "以指定用户或 ID 运行命令(或编辑文件)" +msgstr "以指定用户或 ID 运行命令(或编辑文件)" #: src/parse_args.c:869 msgid "display version information and exit" @@ -946,151 +949,151 @@ msgstr "对项目“%s”执行 setproject 失败" msgid "warning, resource control assignment failed for project \"%s\"" msgstr "警告,对项目“%s”的资源控制分配失败" -#: src/sudo.c:214 +#: src/sudo.c:215 #, c-format msgid "Sudo version %s\n" msgstr "Sudo 版本 %s\n" -#: src/sudo.c:216 +#: src/sudo.c:217 #, c-format msgid "Configure options: %s\n" msgstr "当前选项:%s\n" -#: src/sudo.c:224 +#: src/sudo.c:225 msgid "fatal error, unable to load plugins" msgstr "致命错误,无法加载插件" -#: src/sudo.c:270 +#: src/sudo.c:271 msgid "plugin did not return a command to execute" msgstr "插件未返回能执行的命令" -#: src/sudo.c:306 +#: src/sudo.c:307 #, c-format msgid "unexpected sudo mode 0x%x" msgstr "异常的 sudo 模式 0x%x" -#: src/sudo.c:559 +#: src/sudo.c:567 #, c-format msgid "you do not exist in the %s database" msgstr "%s 数据库中没有您" -#: src/sudo.c:616 +#: src/sudo.c:632 msgid "unable to determine tty" msgstr "无法确定终端" -#: src/sudo.c:932 +#: src/sudo.c:955 msgid "The \"no new privileges\" flag is set, which prevents sudo from running as root." msgstr "已设置“no new privileges”标志,它阻止 sudo 以 root 身份运行。" -#: src/sudo.c:934 +#: src/sudo.c:957 msgid "If sudo is running in a container, you may need to adjust the container configuration to disable the flag." msgstr "如果 sudo 正在容器中运行,您可能需要调整容器配置以禁用该标志。" -#: src/sudo.c:968 +#: src/sudo.c:991 #, c-format msgid "%s must be owned by uid %d and have the setuid bit set" msgstr "%s 必须属于用户 ID %d(的用户)并且设置 setuid 位" -#: src/sudo.c:971 +#: src/sudo.c:994 #, c-format msgid "effective uid is not %d, is %s on a file system with the 'nosuid' option set or an NFS file system without root privileges?" msgstr "有效用户 ID 不是 %d,%s 位于一个设置了“nosuid”选项的文件系统或没有 root 权限的 NFS 文件系统中吗?" -#: src/sudo.c:977 +#: src/sudo.c:1000 #, c-format msgid "effective uid is not %d, is sudo installed setuid root?" msgstr "有效用户 ID 不是 %d,sudo 属于 root 并设置了 setuid 位吗?" -#: src/sudo.c:993 src/tgetpass.c:332 +#: src/sudo.c:1016 src/tgetpass.c:332 msgid "unable to set supplementary group IDs" msgstr "无法设置补充组 ID" -#: src/sudo.c:1000 +#: src/sudo.c:1023 #, c-format msgid "unable to set effective gid to runas gid %u" msgstr "无法设置有效组 ID 来以组 ID %u 运行" -#: src/sudo.c:1006 +#: src/sudo.c:1029 #, c-format msgid "unable to set gid to runas gid %u" msgstr "无法设置组 ID 来以组 ID %u 运行" -#: src/sudo.c:1037 +#: src/sudo.c:1060 msgid "argv not set by the security policy" msgstr "因安全策略,argv 未设置" -#: src/sudo.c:1041 +#: src/sudo.c:1064 msgid "envp not set by the security policy" msgstr "因安全策略,envp 未设置" -#: src/sudo.c:1063 +#: src/sudo.c:1086 #, c-format msgid "unexpected child termination condition: %d" msgstr "异常的子进程终止条件:%d" -#: src/sudo.c:1176 +#: src/sudo.c:1198 msgid "unable to initialize policy plugin" msgstr "无法初始化策略插件" -#: src/sudo.c:1238 +#: src/sudo.c:1259 #, c-format msgid "policy plugin %s is missing the \"check_policy\" method" msgstr "check_policy 方法中缺少策略插件 %s" -#: src/sudo.c:1284 +#: src/sudo.c:1305 #, c-format msgid "policy plugin %s does not support listing privileges" msgstr "策略插件 %s 不支持列出权限" -#: src/sudo.c:1328 +#: src/sudo.c:1349 #, c-format msgid "policy plugin %s does not support the -v option" msgstr "策略插件 %s不支持 -v 选项" -#: src/sudo.c:1366 +#: src/sudo.c:1387 #, c-format msgid "policy plugin %s does not support the -k/-K options" msgstr "策略插件 %s 不支持 -k/-K 选项" -#: src/sudo.c:1495 +#: src/sudo.c:1516 #, c-format msgid "error initializing I/O plugin %s" msgstr "初始化 I/O 插件 %s 出错" -#: src/sudo.c:1498 +#: src/sudo.c:1519 msgid "error initializing I/O plugin" msgstr "初始化 I/O 插件出错" -#: src/sudo.c:1647 +#: src/sudo.c:1668 #, c-format msgid "error initializing audit plugin %s" msgstr "初始化审计插件 %s 出错" -#: src/sudo.c:1726 +#: src/sudo.c:1747 #, c-format msgid "%s: unable to log error event%s%s" msgstr "%s:无法记录错误事件%s%s" -#: src/sudo.c:1762 +#: src/sudo.c:1783 #, c-format msgid "%s: unable to log accept event%s%s" msgstr "%s:无法记录接受事件%s%s" -#: src/sudo.c:1767 src/sudo.c:1805 +#: src/sudo.c:1788 src/sudo.c:1826 msgid "audit plugin error" msgstr "审计插件错误" -#: src/sudo.c:1800 +#: src/sudo.c:1821 #, c-format msgid "%s: unable to log reject event%s%s" msgstr "%s:无法记录拒绝事件%s%s" -#: src/sudo.c:1860 +#: src/sudo.c:1881 #, c-format msgid "error initializing approval plugin %s" msgstr "初始化批准插件 %s 出错" -#: src/sudo.c:1930 +#: src/sudo.c:1951 msgid "command rejected by approver" msgstr "命令被批准者拒绝" @@ -1150,7 +1153,7 @@ msgstr "插件错误:缺少 sudoedit 的文件列表" msgid "unable to read the clock" msgstr "无法读取时钟" -#: src/sudo_intercept_common.c:365 +#: src/sudo_intercept_common.c:372 msgid "intercept port not set" msgstr "未设置侦听端口" @@ -1189,6 +1192,12 @@ msgstr "无法将用户 ID 设为 %u" msgid "unable to run %s" msgstr "无法执行 %s" +#: src/ttyname.c:139 src/ttyname.c:182 src/ttyname.c:199 src/ttyname.c:284 +#: src/ttyname.c:312 src/ttyname.c:356 +#, c-format +msgid "unable to find terminal name for device %u, %u" +msgstr "无法找到设备 %u, %u 的终端名称" + #: src/utmp.c:283 msgid "unable to save stdin" msgstr "无法保存 stdin" @@ -1246,9 +1255,6 @@ msgstr "无法恢复 stdin" #~ msgid "internal error, tried allocate zero bytes" #~ msgstr "内部错误,试图分配 0 个字节" -#~ msgid "unable to set terminal to raw mode" -#~ msgstr "无法将终端设为原始模式" - #~ msgid "unable to open socket" #~ msgstr "无法打开套接字" diff --git a/scripts/config.guess b/scripts/config.guess index 69188da73..cdfc43920 100755 --- a/scripts/config.guess +++ b/scripts/config.guess @@ -4,7 +4,7 @@ # shellcheck disable=SC2006,SC2268 # see below for rationale -timestamp='2023-01-01' +timestamp='2023-08-22' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -47,7 +47,7 @@ me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] -Output the configuration name of the system \`$me' is run on. +Output the configuration name of the system '$me' is run on. Options: -h, --help print this help, then exit @@ -66,7 +66,7 @@ This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" -Try \`$me --help' for more information." +Try '$me --help' for more information." # Parse command line while test $# -gt 0 ; do @@ -102,8 +102,8 @@ GUESS= # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. +# Historically, 'CC_FOR_BUILD' used to be named 'HOST_CC'. We still +# use 'HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. @@ -155,6 +155,9 @@ Linux|GNU|GNU/*) set_cc_for_build cat <<-EOF > "$dummy.c" + #if defined(__ANDROID__) + LIBC=android + #else #include #if defined(__UCLIBC__) LIBC=uclibc @@ -169,6 +172,7 @@ Linux|GNU|GNU/*) LIBC=musl #endif #endif + #endif EOF cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` eval "$cc_set_libc" @@ -459,7 +463,7 @@ case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in UNAME_RELEASE=`uname -v` ;; esac - # Japanese Language versions have a version number like `4.1.3-JL'. + # Japanese Language versions have a version number like '4.1.3-JL'. SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'` GUESS=sparc-sun-sunos$SUN_REL ;; @@ -904,7 +908,7 @@ EOF fi ;; *:FreeBSD:*:*) - UNAME_PROCESSOR=`/usr/bin/uname -p` + UNAME_PROCESSOR=`uname -p` case $UNAME_PROCESSOR in amd64) UNAME_PROCESSOR=x86_64 ;; @@ -976,7 +980,27 @@ EOF GUESS=$UNAME_MACHINE-unknown-minix ;; aarch64:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + set_cc_for_build + CPU=$UNAME_MACHINE + LIBCABI=$LIBC + if test "$CC_FOR_BUILD" != no_compiler_found; then + ABI=64 + sed 's/^ //' << EOF > "$dummy.c" + #ifdef __ARM_EABI__ + #ifdef __ARM_PCS_VFP + ABI=eabihf + #else + ABI=eabi + #endif + #endif +EOF + cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'` + eval "$cc_set_abi" + case $ABI in + eabi | eabihf) CPU=armv8l; LIBCABI=$LIBC$ABI ;; + esac + fi + GUESS=$CPU-unknown-linux-$LIBCABI ;; aarch64_be:Linux:*:*) UNAME_MACHINE=aarch64_be @@ -1042,6 +1066,15 @@ EOF k1om:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; + kvx:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + kvx:cos:*:*) + GUESS=$UNAME_MACHINE-unknown-cos + ;; + kvx:mbr:*:*) + GUESS=$UNAME_MACHINE-unknown-mbr + ;; loongarch32:Linux:*:* | loongarch64:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; @@ -1197,7 +1230,7 @@ EOF GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION ;; i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility + # If we were able to find 'uname', then EMX Unix compatibility # is probably installed. GUESS=$UNAME_MACHINE-pc-os2-emx ;; @@ -1338,7 +1371,7 @@ EOF GUESS=ns32k-sni-sysv fi ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + PENTIUM:*:4.0*:*) # Unisys 'ClearPath HMP IX 4000' SVR4/MP effort # says GUESS=i586-unisys-sysv4 ;; diff --git a/scripts/config.sub b/scripts/config.sub index de4259e40..defe52c0c 100755 --- a/scripts/config.sub +++ b/scripts/config.sub @@ -4,7 +4,7 @@ # shellcheck disable=SC2006,SC2268 # see below for rationale -timestamp='2023-01-21' +timestamp='2023-09-19' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -82,7 +82,7 @@ This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" -Try \`$me --help' for more information." +Try '$me --help' for more information." # Parse command line while test $# -gt 0 ; do @@ -130,7 +130,7 @@ IFS=$saved_IFS # Separate into logical components for further validation case $1 in *-*-*-*-*) - echo Invalid configuration \`"$1"\': more than four components >&2 + echo "Invalid configuration '$1': more than four components" >&2 exit 1 ;; *-*-*-*) @@ -145,7 +145,8 @@ case $1 in nto-qnx* | linux-* | uclinux-uclibc* \ | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ - | storm-chaos* | os2-emx* | rtmk-nova* | managarm-*) + | storm-chaos* | os2-emx* | rtmk-nova* | managarm-* \ + | windows-* ) basic_machine=$field1 basic_os=$maybe_os ;; @@ -943,7 +944,7 @@ $basic_machine EOF IFS=$saved_IFS ;; - # We use `pc' rather than `unknown' + # We use 'pc' rather than 'unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) @@ -1180,7 +1181,7 @@ case $cpu-$vendor in case $cpu in 1750a | 580 \ | a29k \ - | aarch64 | aarch64_be \ + | aarch64 | aarch64_be | aarch64c | arm64ec \ | abacus \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \ @@ -1199,12 +1200,14 @@ case $cpu-$vendor in | d10v | d30v | dlx | dsp16xx \ | e2k | elxsi | epiphany \ | f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \ + | javascript \ | h8300 | h8500 \ | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | hexagon \ | i370 | i*86 | i860 | i960 | ia16 | ia64 \ | ip2k | iq2000 \ | k1om \ + | kvx \ | le32 | le64 \ | lm32 \ | loongarch32 | loongarch64 \ @@ -1213,31 +1216,7 @@ case $cpu-$vendor in | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \ | m88110 | m88k | maxq | mb | mcore | mep | metag \ | microblaze | microblazeel \ - | mips | mipsbe | mipseb | mipsel | mipsle \ - | mips16 \ - | mips64 | mips64eb | mips64el \ - | mips64octeon | mips64octeonel \ - | mips64orion | mips64orionel \ - | mips64r5900 | mips64r5900el \ - | mips64vr | mips64vrel \ - | mips64vr4100 | mips64vr4100el \ - | mips64vr4300 | mips64vr4300el \ - | mips64vr5000 | mips64vr5000el \ - | mips64vr5900 | mips64vr5900el \ - | mipsisa32 | mipsisa32el \ - | mipsisa32r2 | mipsisa32r2el \ - | mipsisa32r3 | mipsisa32r3el \ - | mipsisa32r5 | mipsisa32r5el \ - | mipsisa32r6 | mipsisa32r6el \ - | mipsisa64 | mipsisa64el \ - | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64r3 | mipsisa64r3el \ - | mipsisa64r5 | mipsisa64r5el \ - | mipsisa64r6 | mipsisa64r6el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipsr5900 | mipsr5900el \ - | mipstx39 | mipstx39el \ + | mips* \ | mmix \ | mn10200 | mn10300 \ | moxie \ @@ -1285,7 +1264,7 @@ case $cpu-$vendor in ;; *) - echo Invalid configuration \`"$1"\': machine \`"$cpu-$vendor"\' not recognized 1>&2 + echo "Invalid configuration '$1': machine '$cpu-$vendor' not recognized" 1>&2 exit 1 ;; esac @@ -1306,11 +1285,12 @@ esac # Decode manufacturer-specific aliases for certain operating systems. -if test x$basic_os != x +if test x"$basic_os" != x then # First recognize some ad-hoc cases, or perhaps split kernel-os, or else just # set os. +obj= case $basic_os in gnu/linux*) kernel=linux @@ -1510,10 +1490,16 @@ case $os in os=eabi ;; *) - os=elf + os= + obj=elf ;; esac ;; + aout* | coff* | elf* | pe*) + # These are machine code file formats, not OSes + obj=$os + os= + ;; *) # No normalization, but not necessarily accepted, that comes below. ;; @@ -1532,12 +1518,15 @@ else # system, and we'll never get to this point. kernel= +obj= case $cpu-$vendor in score-*) - os=elf + os= + obj=elf ;; spu-*) - os=elf + os= + obj=elf ;; *-acorn) os=riscix1.2 @@ -1547,28 +1536,35 @@ case $cpu-$vendor in os=gnu ;; arm*-semi) - os=aout + os= + obj=aout ;; c4x-* | tic4x-*) - os=coff + os= + obj=coff ;; c8051-*) - os=elf + os= + obj=elf ;; clipper-intergraph) os=clix ;; hexagon-*) - os=elf + os= + obj=elf ;; tic54x-*) - os=coff + os= + obj=coff ;; tic55x-*) - os=coff + os= + obj=coff ;; tic6x-*) - os=coff + os= + obj=coff ;; # This must come before the *-dec entry. pdp10-*) @@ -1590,19 +1586,24 @@ case $cpu-$vendor in os=sunos3 ;; m68*-cisco) - os=aout + os= + obj=aout ;; mep-*) - os=elf + os= + obj=elf ;; mips*-cisco) - os=elf + os= + obj=elf ;; mips*-*) - os=elf + os= + obj=elf ;; or32-*) - os=coff + os= + obj=coff ;; *-tti) # must be before sparc entry or we get the wrong os. os=sysv3 @@ -1611,7 +1612,8 @@ case $cpu-$vendor in os=sunos4.1.1 ;; pru-*) - os=elf + os= + obj=elf ;; *-be) os=beos @@ -1692,10 +1694,12 @@ case $cpu-$vendor in os=uxpv ;; *-rom68k) - os=coff + os= + obj=coff ;; *-*bug) - os=coff + os= + obj=coff ;; *-apple) os=macos @@ -1713,7 +1717,8 @@ esac fi -# Now, validate our (potentially fixed-up) OS. +# Now, validate our (potentially fixed-up) individual pieces (OS, OBJ). + case $os in # Sometimes we do "kernel-libc", so those need to count as OSes. musl* | newlib* | relibc* | uclibc*) @@ -1724,6 +1729,9 @@ case $os in # VxWorks passes extra cpu info in the 4th filed. simlinux | simwindows | spe) ;; + # See `case $cpu-$os` validation below + ghcjs) + ;; # Now accept the basic system types. # The portable systems comes first. # Each alternative MUST end in a * to match a version number. @@ -1732,7 +1740,7 @@ case $os in | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \ | sym* | plan9* | psp* | sim* | xray* | os68k* | v88r* \ | hiux* | abug | nacl* | netware* | windows* \ - | os9* | macos* | osx* | ios* \ + | os9* | macos* | osx* | ios* | tvos* | watchos* \ | mpw* | magic* | mmixware* | mon960* | lnews* \ | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \ | aos* | aros* | cloudabi* | sortix* | twizzler* \ @@ -1741,11 +1749,11 @@ case $os in | mirbsd* | netbsd* | dicos* | openedition* | ose* \ | bitrig* | openbsd* | secbsd* | solidbsd* | libertybsd* | os108* \ | ekkobsd* | freebsd* | riscix* | lynxos* | os400* \ - | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \ - | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \ + | bosx* | nextstep* | cxux* | oabi* \ + | ptx* | ecoff* | winnt* | domain* | vsta* \ | udi* | lites* | ieee* | go32* | aux* | hcos* \ | chorusrdb* | cegcc* | glidix* | serenity* \ - | cygwin* | msys* | pe* | moss* | proelf* | rtems* \ + | cygwin* | msys* | moss* | proelf* | rtems* \ | midipix* | mingw32* | mingw64* | mint* \ | uxpv* | beos* | mpeix* | udk* | moxiebox* \ | interix* | uwin* | mks* | rhapsody* | darwin* \ @@ -1758,7 +1766,7 @@ case $os in | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \ | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \ - | fiwix* | mlibc* ) + | fiwix* | mlibc* | cos* | mbr* ) ;; # This one is extra strict with allowed versions sco3.2v2 | sco3.2v[4-9]* | sco5v6*) @@ -1766,54 +1774,99 @@ case $os in ;; none) ;; - kernel* ) + kernel* | msvc* ) # Restricted further below ;; + '') + if test x"$obj" = x + then + echo "Invalid configuration '$1': Blank OS only allowed with explicit machine code file format" 1>&2 + fi + ;; *) - echo Invalid configuration \`"$1"\': OS \`"$os"\' not recognized 1>&2 + echo "Invalid configuration '$1': OS '$os' not recognized" 1>&2 + exit 1 + ;; +esac + +case $obj in + aout* | coff* | elf* | pe*) + ;; + '') + # empty is fine + ;; + *) + echo "Invalid configuration '$1': Machine code format '$obj' not recognized" 1>&2 + exit 1 + ;; +esac + +# Here we handle the constraint that a (synthetic) cpu and os are +# valid only in combination with each other and nowhere else. +case $cpu-$os in + # The "javascript-unknown-ghcjs" triple is used by GHC; we + # accept it here in order to tolerate that, but reject any + # variations. + javascript-ghcjs) + ;; + javascript-* | *-ghcjs) + echo "Invalid configuration '$1': cpu '$cpu' is not valid with os '$os$obj'" 1>&2 exit 1 ;; esac # As a final step for OS-related things, validate the OS-kernel combination # (given a valid OS), if there is a kernel. -case $kernel-$os in - linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \ - | linux-musl* | linux-relibc* | linux-uclibc* | linux-mlibc* ) +case $kernel-$os-$obj in + linux-gnu*- | linux-dietlibc*- | linux-android*- | linux-newlib*- \ + | linux-musl*- | linux-relibc*- | linux-uclibc*- | linux-mlibc*- ) ;; - uclinux-uclibc* ) + uclinux-uclibc*- ) ;; - managarm-mlibc* | managarm-kernel* ) + managarm-mlibc*- | managarm-kernel*- ) ;; - -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* | -mlibc* ) + windows*-msvc*-) + ;; + -dietlibc*- | -newlib*- | -musl*- | -relibc*- | -uclibc*- | -mlibc*- ) # These are just libc implementations, not actual OSes, and thus # require a kernel. - echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2 + echo "Invalid configuration '$1': libc '$os' needs explicit kernel." 1>&2 exit 1 ;; - -kernel* ) - echo "Invalid configuration \`$1': \`$os' needs explicit kernel." 1>&2 + -kernel*- ) + echo "Invalid configuration '$1': '$os' needs explicit kernel." 1>&2 exit 1 ;; - *-kernel* ) - echo "Invalid configuration \`$1': \`$kernel' does not support \`$os'." 1>&2 + *-kernel*- ) + echo "Invalid configuration '$1': '$kernel' does not support '$os'." 1>&2 exit 1 ;; - kfreebsd*-gnu* | kopensolaris*-gnu*) + *-msvc*- ) + echo "Invalid configuration '$1': '$os' needs 'windows'." 1>&2 + exit 1 ;; - vxworks-simlinux | vxworks-simwindows | vxworks-spe) + kfreebsd*-gnu*- | kopensolaris*-gnu*-) ;; - nto-qnx*) + vxworks-simlinux- | vxworks-simwindows- | vxworks-spe-) ;; - os2-emx) + nto-qnx*-) ;; - *-eabi* | *-gnueabi*) + os2-emx-) ;; - -*) + *-eabi*- | *-gnueabi*-) + ;; + none--*) + # None (no kernel, i.e. freestanding / bare metal), + # can be paired with an machine code file format + ;; + -*-) # Blank kernel with real OS is always fine. ;; - *-*) - echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2 + --*) + # Blank kernel and OS with real machine code file format is always fine. + ;; + *-*-*) + echo "Invalid configuration '$1': Kernel '$kernel' not known to work with OS '$os'." 1>&2 exit 1 ;; esac @@ -1896,7 +1949,7 @@ case $vendor in ;; esac -echo "$cpu-$vendor-${kernel:+$kernel-}$os" +echo "$cpu-$vendor${kernel:+-$kernel}${os:+-$os}${obj:+-$obj}" exit # Local variables: diff --git a/scripts/mkdep.pl b/scripts/mkdep.pl index ebd98606d..c25161857 100755 --- a/scripts/mkdep.pl +++ b/scripts/mkdep.pl @@ -156,7 +156,7 @@ sub mkdep { #$dir_vars{'top_builddir'} = '.'; $dir_vars{'incdir'} = 'include'; - # Find implicit rules for generated .o and .lo files + # Find implicit rules for generated .i, .lo, .o and .plog files %implicit = (); while ($makefile =~ /^\.[ci]\.(l?o|i|plog):\s*\n\t+(.*)$/mg) { $implicit{$1} = $2; @@ -214,7 +214,6 @@ sub mkdep { # PVS Studio files (.i and .plog) but only do them once. if ($ext ne "o" || !exists($objs{"$base.lo"})) { - $imp = $implicit{"i"}; if (exists $implicit{"i"} && exists $implicit{"plog"}) { if ($src =~ /\.pb-c.c$/) { # Do not check protobuf-c generated files @@ -223,6 +222,7 @@ sub mkdep { $new_makefile .= "\ttouch \$@\n"; } else { $imp = $implicit{"i"}; + $imp =~ s/\$/dev/null` # Note, must indent with tabs, not spaces due to IFS trickery if [ "$flavor" = "ldap" ]; then - configure_opts="${configure_opts}${configure_opts+$tab}--with-ldap - --with-ldap-conf-file=/etc/sudo-ldap.conf" + configure_opts="--with-ldap${tab}--with-ldap-conf-file=/etc/sudo-ldap.conf${configure_opts+$tab}${configure_opts}" else - configure_opts="${configure_opts}${configure_opts+$tab}--with-sssd" + configure_opts="--with-sssd${configure_opts+$tab}${configure_opts}" if [ -n "$MULTIARCH" ]; then # SSSD backend needs to know where to find the sssd lib - configure_opts="${configure_opts}${configure_opts+$tab}--with-sssd-lib=/usr/lib/$MULTIARCH" + configure_opts="--with-sssd-lib=/usr/lib/$MULTIARCH${configure_opts+$tab}${configure_opts}" fi fi - if [ X"$with_apparmor" = X"true" ]; then - configure_opts="${configure_opts}${configure_opts+$tab}--with-apparmor" - fi configure_opts="--prefix=/usr --with-all-insults - --with-pam --enable-zlib=system --with-fqdn --with-logging=syslog @@ -356,20 +371,23 @@ case "$osversion" in --with-sendmail=/usr/sbin/sendmail --mandir=/usr/share/man --libexecdir=/usr/$libexec - --with-linux-audit $configure_opts" - # Use correct libaudit dependency - for f in /lib/${MULTIARCH}${MULTIARCH:+/}libaudit.so.[0-9]* /lib/libaudit.so.[0-9]*; do - if [ -f "$f" ]; then - linux_audit=`dpkg-query -S "$f" 2>/dev/null | sed -n 's/:.*//p'` - test -n "$linux_audit" && break + # Use correct libaudit dependency for Linux audit + case "$configure_opts" in + *--with-linux-audit*) + for f in /usr/lib/${MULTIARCH}${MULTIARCH:+/}libaudit.so.[0-9]* /usr/lib/libaudit.so.[0-9]* /lib/${MULTIARCH}${MULTIARCH:+/}libaudit.so.[0-9]* /lib/libaudit.so.[0-9]*; do + if [ -f "$f" ]; then + linux_audit=`dpkg-query -S "$f" 2>/dev/null | sed -n 's/:.*//p'` + test -n "$linux_audit" && break + fi + done + if [ -z "$linux_audit" ]; then + echo "unable to determine package for libaudit" 1>&2 + exit 1 fi - done - if [ -z "$linux_audit" ]; then - echo "unable to determine package for libaudit" 1>&2 - exit 1 - fi - PPVARS="${PPVARS}${PPVARS+$space}linux_audit=$linux_audit" + PPVARS="${PPVARS}${PPVARS+$space}linux_audit=$linux_audit" + ;; + esac # Use correct libssl dependency libssl_dep=`dpkg-query -S /usr/lib/${MULTIARCH}${MULTIARCH:+/}libssl.so.[1-9]* /lib/${MULTIARCH}${MULTIARCH:+/}libssl.so.[1-9]* 2>/dev/null | sort -rn | awk -F: '{ print $1; exit }'` if [ -z "$libssl_dep" ]; then diff --git a/scripts/pp b/scripts/pp index 2a9413f56..a1c5638a8 100755 --- a/scripts/pp +++ b/scripts/pp @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2023 One Identity LLC. ALL RIGHTS RESERVED -pp_revision="20231108" +# Copyright 2024 One Identity LLC. ALL RIGHTS RESERVED +pp_revision="20240518" # Copyright 2018 One Identity LLC. ALL RIGHTS RESERVED. # # Redistribution and use in source and binary forms, with or without @@ -8394,7 +8394,6 @@ pp_backend_bsd_cleanup () { } pp_backend_bsd_probe () { - echo "${pp_bsd_os}-${pp_bsd_platform_std}" echo "${pp_bsd_os}${pp_bsd_os_rev}-${pp_bsd_platform_std}" } @@ -8968,7 +8967,7 @@ pp_systemd_service_install_common () { _pp_systemd_enable () { local svc="$1" - local RUNNING + local RUNNING=0 # If $systemctl_cmd is not set, then call _pp_systemd_init. If still not # set, we do not know where the systemctl command is so do nothing; diff --git a/src/Makefile.in b/src/Makefile.in index e2ff91941..bb1e4631d 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -1,7 +1,7 @@ # # SPDX-License-Identifier: ISC # -# Copyright (c) 2010-2023 Todd C. Miller +# Copyright (c) 2010-2024 Todd C. Miller # # Permission to use, copy, modify, and distribute this software for any # purpose with or without fee is hereby granted, provided that the above @@ -34,6 +34,7 @@ cross_compiling = @CROSS_COMPILING@ # Compiler & tools to use CC = @CC@ +CPP = @CPP@ LIBTOOL = @LIBTOOL@ EGREP = @EGREP@ SED = @SED@ @@ -195,7 +196,7 @@ Makefile: $(srcdir)/Makefile.in $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $< .c.i: - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $< > $@ .i.plog: ifile=$<; rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $${ifile%i}c --i-file $< --output-file $@ @@ -396,9 +397,9 @@ apparmor.i: $(srcdir)/apparmor.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ $(incdir)/sudo_util.h $(srcdir)/sudo.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/apparmor.c > $@ apparmor.plog: apparmor.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/apparmor.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/apparmor.c --i-file apparmor.i --output-file $@ check_net_ifs.o: $(srcdir)/regress/net_ifs/check_net_ifs.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h @@ -406,9 +407,9 @@ check_net_ifs.o: $(srcdir)/regress/net_ifs/check_net_ifs.c \ check_net_ifs.i: $(srcdir)/regress/net_ifs/check_net_ifs.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/net_ifs/check_net_ifs.c > $@ check_net_ifs.plog: check_net_ifs.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/net_ifs/check_net_ifs.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/net_ifs/check_net_ifs.c --i-file check_net_ifs.i --output-file $@ check_noexec.o: $(srcdir)/regress/noexec/check_noexec.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_plugin.h \ @@ -420,9 +421,9 @@ check_noexec.i: $(srcdir)/regress/noexec/check_noexec.c \ $(incdir)/sudo_fatal.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ $(srcdir)/sudo_exec.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/noexec/check_noexec.c > $@ check_noexec.plog: check_noexec.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/noexec/check_noexec.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/noexec/check_noexec.c --i-file check_noexec.i --output-file $@ check_ttyname.o: $(srcdir)/regress/ttyname/check_ttyname.c \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_fatal.h \ @@ -434,9 +435,9 @@ check_ttyname.i: $(srcdir)/regress/ttyname/check_ttyname.c \ $(incdir)/sudo_debug.h $(incdir)/sudo_fatal.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ $(incdir)/sudo_util.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/ttyname/check_ttyname.c > $@ check_ttyname.plog: check_ttyname.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/ttyname/check_ttyname.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/ttyname/check_ttyname.c --i-file check_ttyname.i --output-file $@ conversation.o: $(srcdir)/conversation.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_event.h \ @@ -454,9 +455,9 @@ conversation.i: $(srcdir)/conversation.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_util.h $(srcdir)/sudo.h \ $(srcdir)/sudo_plugin_int.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/conversation.c > $@ conversation.plog: conversation.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/conversation.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/conversation.c --i-file conversation.i --output-file $@ copy_file.o: $(srcdir)/copy_file.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_event.h \ @@ -472,9 +473,9 @@ copy_file.i: $(srcdir)/copy_file.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ $(incdir)/sudo_util.h $(srcdir)/sudo.h $(srcdir)/sudo_edit.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/copy_file.c > $@ copy_file.plog: copy_file.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/copy_file.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/copy_file.c --i-file copy_file.i --output-file $@ edit_open.o: $(srcdir)/edit_open.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_event.h \ @@ -490,9 +491,9 @@ edit_open.i: $(srcdir)/edit_open.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ $(incdir)/sudo_util.h $(srcdir)/sudo.h $(srcdir)/sudo_edit.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/edit_open.c > $@ edit_open.plog: edit_open.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/edit_open.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/edit_open.c --i-file edit_open.i --output-file $@ env_hooks.o: $(srcdir)/env_hooks.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_dso.h \ @@ -508,9 +509,9 @@ env_hooks.i: $(srcdir)/env_hooks.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/sudo.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/env_hooks.c > $@ env_hooks.plog: env_hooks.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/env_hooks.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/env_hooks.c --i-file env_hooks.i --output-file $@ exec.o: $(srcdir)/exec.c $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h $(incdir)/sudo_event.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ @@ -524,9 +525,9 @@ exec.i: $(srcdir)/exec.c $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ $(srcdir)/sudo.h $(srcdir)/sudo_exec.h $(srcdir)/sudo_plugin_int.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/exec.c > $@ exec.plog: exec.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/exec.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/exec.c --i-file exec.i --output-file $@ exec_common.o: $(srcdir)/exec_common.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_event.h \ @@ -542,9 +543,9 @@ exec_common.i: $(srcdir)/exec_common.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ $(incdir)/sudo_util.h $(srcdir)/sudo.h $(srcdir)/sudo_exec.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/exec_common.c > $@ exec_common.plog: exec_common.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/exec_common.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/exec_common.c --i-file exec_common.i --output-file $@ exec_intercept.o: $(srcdir)/exec_intercept.c $(incdir)/compat/stdbool.h \ $(incdir)/intercept.pb-c.h $(incdir)/protobuf-c/protobuf-c.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ @@ -566,9 +567,9 @@ exec_intercept.i: $(srcdir)/exec_intercept.c $(incdir)/compat/stdbool.h \ $(srcdir)/exec_intercept.h $(srcdir)/sudo.h \ $(srcdir)/sudo_exec.h $(srcdir)/sudo_plugin_int.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/exec_intercept.c > $@ exec_intercept.plog: exec_intercept.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/exec_intercept.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/exec_intercept.c --i-file exec_intercept.i --output-file $@ exec_iolog.o: $(srcdir)/exec_iolog.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_event.h \ @@ -586,9 +587,9 @@ exec_iolog.i: $(srcdir)/exec_iolog.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_util.h $(srcdir)/sudo.h $(srcdir)/sudo_exec.h \ $(srcdir)/sudo_plugin_int.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/exec_iolog.c > $@ exec_iolog.plog: exec_iolog.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/exec_iolog.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/exec_iolog.c --i-file exec_iolog.i --output-file $@ exec_monitor.o: $(srcdir)/exec_monitor.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_event.h \ @@ -606,9 +607,9 @@ exec_monitor.i: $(srcdir)/exec_monitor.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_util.h $(srcdir)/sudo.h $(srcdir)/sudo_exec.h \ $(srcdir)/sudo_plugin_int.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/exec_monitor.c > $@ exec_monitor.plog: exec_monitor.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/exec_monitor.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/exec_monitor.c --i-file exec_monitor.i --output-file $@ exec_nopty.o: $(srcdir)/exec_nopty.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_event.h \ @@ -626,9 +627,9 @@ exec_nopty.i: $(srcdir)/exec_nopty.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_util.h $(srcdir)/sudo.h $(srcdir)/sudo_exec.h \ $(srcdir)/sudo_plugin_int.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/exec_nopty.c > $@ exec_nopty.plog: exec_nopty.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/exec_nopty.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/exec_nopty.c --i-file exec_nopty.i --output-file $@ exec_preload.lo: $(srcdir)/exec_preload.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_event.h \ @@ -644,9 +645,9 @@ exec_preload.i: $(srcdir)/exec_preload.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ $(incdir)/sudo_util.h $(srcdir)/sudo.h $(srcdir)/sudo_exec.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/exec_preload.c > $@ exec_preload.plog: exec_preload.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/exec_preload.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/exec_preload.c --i-file exec_preload.i --output-file $@ exec_preload.o: $(srcdir)/exec_preload.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_event.h \ @@ -674,9 +675,9 @@ exec_ptrace.i: $(srcdir)/exec_ptrace.c $(incdir)/compat/endian.h \ $(srcdir)/exec_intercept.h $(srcdir)/exec_ptrace.h \ $(srcdir)/sudo.h $(srcdir)/sudo_exec.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/exec_ptrace.c > $@ exec_ptrace.plog: exec_ptrace.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/exec_ptrace.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/exec_ptrace.c --i-file exec_ptrace.i --output-file $@ exec_pty.o: $(srcdir)/exec_pty.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_event.h \ @@ -694,9 +695,9 @@ exec_pty.i: $(srcdir)/exec_pty.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_util.h $(srcdir)/sudo.h $(srcdir)/sudo_exec.h \ $(srcdir)/sudo_plugin_int.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/exec_pty.c > $@ exec_pty.plog: exec_pty.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/exec_pty.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/exec_pty.c --i-file exec_pty.i --output-file $@ get_pty.o: $(srcdir)/get_pty.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_event.h \ @@ -712,9 +713,9 @@ get_pty.i: $(srcdir)/get_pty.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ $(incdir)/sudo_util.h $(srcdir)/sudo.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/get_pty.c > $@ get_pty.plog: get_pty.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/get_pty.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/get_pty.c --i-file get_pty.i --output-file $@ hooks.o: $(srcdir)/hooks.c $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h $(incdir)/sudo_event.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ @@ -728,9 +729,9 @@ hooks.i: $(srcdir)/hooks.c $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ $(srcdir)/sudo.h $(srcdir)/sudo_plugin_int.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/hooks.c > $@ hooks.plog: hooks.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/hooks.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/hooks.c --i-file hooks.i --output-file $@ intercept.pb-c.lo: $(srcdir)/intercept.pb-c.c $(incdir)/intercept.pb-c.h \ $(incdir)/protobuf-c/protobuf-c.h $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/intercept.pb-c.c @@ -752,9 +753,9 @@ limits.i: $(srcdir)/limits.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/sudo.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/limits.c > $@ limits.plog: limits.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/limits.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/limits.c --i-file limits.i --output-file $@ load_plugins.o: $(srcdir)/load_plugins.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_dso.h \ @@ -772,9 +773,9 @@ load_plugins.i: $(srcdir)/load_plugins.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/sudo.h \ $(srcdir)/sudo_plugin_int.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/load_plugins.c > $@ load_plugins.plog: load_plugins.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/load_plugins.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/load_plugins.c --i-file load_plugins.i --output-file $@ net_ifs.o: $(srcdir)/net_ifs.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_event.h \ @@ -790,9 +791,9 @@ net_ifs.i: $(srcdir)/net_ifs.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ $(incdir)/sudo_util.h $(srcdir)/sudo.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/net_ifs.c > $@ net_ifs.plog: net_ifs.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/net_ifs.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/net_ifs.c --i-file net_ifs.i --output-file $@ openbsd.o: $(srcdir)/openbsd.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_event.h \ @@ -808,9 +809,9 @@ openbsd.i: $(srcdir)/openbsd.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ $(incdir)/sudo_util.h $(srcdir)/sudo.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/openbsd.c > $@ openbsd.plog: openbsd.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/openbsd.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/openbsd.c --i-file openbsd.i --output-file $@ parse_args.o: $(srcdir)/parse_args.c $(incdir)/compat/getopt.h \ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ @@ -828,9 +829,9 @@ parse_args.i: $(srcdir)/parse_args.c $(incdir)/compat/getopt.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ $(incdir)/sudo_util.h $(srcdir)/sudo.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h ./sudo_usage.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/parse_args.c > $@ parse_args.plog: parse_args.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/parse_args.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/parse_args.c --i-file parse_args.i --output-file $@ preload.o: $(srcdir)/preload.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_dso.h $(incdir)/sudo_event.h \ @@ -846,9 +847,9 @@ preload.i: $(srcdir)/preload.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ $(incdir)/sudo_util.h $(srcdir)/sudo.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/preload.c > $@ preload.plog: preload.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/preload.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/preload.c --i-file preload.i --output-file $@ preserve_fds.o: $(srcdir)/preserve_fds.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_event.h \ @@ -864,9 +865,9 @@ preserve_fds.i: $(srcdir)/preserve_fds.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ $(incdir)/sudo_util.h $(srcdir)/sudo.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/preserve_fds.c > $@ preserve_fds.plog: preserve_fds.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/preserve_fds.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/preserve_fds.c --i-file preserve_fds.i --output-file $@ selinux.o: $(srcdir)/selinux.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_event.h \ @@ -882,9 +883,9 @@ selinux.i: $(srcdir)/selinux.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ $(incdir)/sudo_util.h $(srcdir)/sudo.h $(srcdir)/sudo_exec.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/selinux.c > $@ selinux.plog: selinux.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/selinux.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/selinux.c --i-file selinux.i --output-file $@ sesh.o: $(srcdir)/sesh.c $(incdir)/compat/getopt.h $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_event.h $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ @@ -898,9 +899,9 @@ sesh.i: $(srcdir)/sesh.c $(incdir)/compat/getopt.h $(incdir)/compat/stdbool.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ $(srcdir)/sudo.h $(srcdir)/sudo_edit.h $(srcdir)/sudo_exec.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/sesh.c > $@ sesh.plog: sesh.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sesh.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sesh.c --i-file sesh.i --output-file $@ signal.o: $(srcdir)/signal.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_event.h $(incdir)/sudo_fatal.h \ @@ -916,9 +917,9 @@ signal.i: $(srcdir)/signal.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/sudo.h \ $(srcdir)/sudo_exec.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/signal.c > $@ signal.plog: signal.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/signal.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/signal.c --i-file signal.i --output-file $@ solaris.o: $(srcdir)/solaris.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_dso.h $(incdir)/sudo_event.h \ @@ -934,9 +935,9 @@ solaris.i: $(srcdir)/solaris.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ $(incdir)/sudo_util.h $(srcdir)/sudo.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/solaris.c > $@ solaris.plog: solaris.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/solaris.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/solaris.c --i-file solaris.i --output-file $@ sudo.o: $(srcdir)/sudo.c $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h $(incdir)/sudo_event.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ @@ -950,9 +951,9 @@ sudo.i: $(srcdir)/sudo.c $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ $(srcdir)/sudo.h $(srcdir)/sudo_plugin_int.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/sudo.c > $@ sudo.plog: sudo.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sudo.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sudo.c --i-file sudo.i --output-file $@ sudo_edit.o: $(srcdir)/sudo_edit.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_event.h \ @@ -970,9 +971,9 @@ sudo_edit.i: $(srcdir)/sudo_edit.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_util.h $(srcdir)/sudo.h $(srcdir)/sudo_edit.h \ $(srcdir)/sudo_exec.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/sudo_edit.c > $@ sudo_edit.plog: sudo_edit.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sudo_edit.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sudo_edit.c --i-file sudo_edit.i --output-file $@ sudo_intercept.lo: $(srcdir)/sudo_intercept.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ @@ -982,9 +983,9 @@ sudo_intercept.i: $(srcdir)/sudo_intercept.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/sudo_intercept.c > $@ sudo_intercept.plog: sudo_intercept.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sudo_intercept.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sudo_intercept.c --i-file sudo_intercept.i --output-file $@ sudo_intercept_common.lo: $(srcdir)/sudo_intercept_common.c \ $(incdir)/compat/stdbool.h \ $(incdir)/intercept.pb-c.h \ @@ -1004,9 +1005,9 @@ sudo_intercept_common.i: $(srcdir)/sudo_intercept_common.c \ $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ $(srcdir)/sudo_exec.h $(top_builddir)/config.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/sudo_intercept_common.c > $@ sudo_intercept_common.plog: sudo_intercept_common.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sudo_intercept_common.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sudo_intercept_common.c --i-file sudo_intercept_common.i --output-file $@ suspend_parent.o: $(srcdir)/suspend_parent.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_fatal.h \ $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ @@ -1018,9 +1019,9 @@ suspend_parent.i: $(srcdir)/suspend_parent.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \ $(incdir)/sudo_queue.h $(srcdir)/sudo_exec.h \ $(top_builddir)/config.h $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/suspend_parent.c > $@ suspend_parent.plog: suspend_parent.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/suspend_parent.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/suspend_parent.c --i-file suspend_parent.i --output-file $@ test_ptrace.o: $(srcdir)/regress/intercept/test_ptrace.c \ $(incdir)/compat/endian.h $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ @@ -1042,9 +1043,9 @@ test_ptrace.i: $(srcdir)/regress/intercept/test_ptrace.c \ $(srcdir)/exec_ptrace.c $(srcdir)/exec_ptrace.h \ $(srcdir)/sudo.h $(srcdir)/sudo_exec.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/regress/intercept/test_ptrace.c > $@ test_ptrace.plog: test_ptrace.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/intercept/test_ptrace.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/intercept/test_ptrace.c --i-file test_ptrace.i --output-file $@ tgetpass.o: $(srcdir)/tgetpass.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_event.h \ @@ -1060,9 +1061,9 @@ tgetpass.i: $(srcdir)/tgetpass.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ $(incdir)/sudo_util.h $(srcdir)/sudo.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/tgetpass.c > $@ tgetpass.plog: tgetpass.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/tgetpass.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/tgetpass.c --i-file tgetpass.i --output-file $@ ttyname.o: $(srcdir)/ttyname.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_event.h \ @@ -1078,9 +1079,9 @@ ttyname.i: $(srcdir)/ttyname.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ $(incdir)/sudo_util.h $(srcdir)/sudo.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/ttyname.c > $@ ttyname.plog: ttyname.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/ttyname.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/ttyname.c --i-file ttyname.i --output-file $@ utmp.o: $(srcdir)/utmp.c $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h $(incdir)/sudo_event.h \ $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \ @@ -1094,6 +1095,6 @@ utmp.i: $(srcdir)/utmp.c $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \ $(srcdir)/sudo.h $(srcdir)/sudo_exec.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -E -o $@ $(CPPFLAGS) $< + $(CPP) $(CPPFLAGS) $(srcdir)/utmp.c > $@ utmp.plog: utmp.i - rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/utmp.c --i-file $< --output-file $@ + rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/utmp.c --i-file utmp.i --output-file $@ diff --git a/src/exec.c b/src/exec.c index 46fc8bc41..2020babf0 100644 --- a/src/exec.c +++ b/src/exec.c @@ -84,7 +84,7 @@ close_fds(struct command_details *details, int errfd, int intercept_fd) } /* - * Setup the execution environment immediately prior to the call to execve(). + * Set up the execution environment immediately prior to the call to execve(). * Group setup is performed by policy_init_session(), called earlier. * Returns true on success and false on failure. */ @@ -253,7 +253,7 @@ done: } /* - * Setup the execution environment and execute the command. + * Set up the execution environment and execute the command. * If SELinux is enabled, run the command via sesh, otherwise * execute it directly. * If the exec fails, cstat is filled in with the value of errno. diff --git a/src/exec_intercept.c b/src/exec_intercept.c index de9d894ba..005b7ed8f 100644 --- a/src/exec_intercept.c +++ b/src/exec_intercept.c @@ -145,7 +145,7 @@ bad: } /* - * Reset intercept_closure so it can be re-used. + * Reset intercept_closure so it can be reused. */ void intercept_closure_reset(struct intercept_closure *closure) @@ -777,7 +777,7 @@ unpack: if (!ret) goto done; if (!ISSET(closure->details->flags, CD_INTERCEPT)) { - /* Just logging, re-use event to read next InterceptHello. */ + /* Just logging, reuse event to read next InterceptHello. */ ret = enable_read_event(fd, RECV_HELLO, intercept_cb, closure); goto done; } @@ -987,7 +987,7 @@ intercept_write(int fd, struct intercept_closure *closure) switch (closure->state) { case RECV_HELLO_INITIAL: - /* Re-use the listener event. */ + /* Reuse the listener event. */ close(fd); if (!enable_read_event(closure->listen_sock, RECV_CONNECTION, intercept_accept_cb, closure)) @@ -997,7 +997,7 @@ intercept_write(int fd, struct intercept_closure *closure) accept_closure = closure; break; case POLICY_ACCEPT: - /* Re-use event to read InterceptHello from sudo_intercept.so ctor. */ + /* Reuse event to read InterceptHello from sudo_intercept.so ctor. */ if (!enable_read_event(fd, RECV_HELLO, intercept_cb, closure)) goto done; break; diff --git a/src/exec_monitor.c b/src/exec_monitor.c index 9681e56d0..c5c4a14b6 100644 --- a/src/exec_monitor.c +++ b/src/exec_monitor.c @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: ISC * - * Copyright (c) 2009-2023 Todd C. Miller + * Copyright (c) 2009-2024 Todd C. Miller * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -118,6 +118,8 @@ deliver_signal(struct monitor_closure *mc, int signo, bool from_parent) /* NOTREACHED */ default: /* Relay signal to command. */ + sudo_debug_printf(SUDO_DEBUG_NOTICE, "%s: killpg(%d, %d)", + __func__, (int)mc->cmnd_pid, signo); killpg(mc->cmnd_pid, signo); break; } @@ -150,7 +152,7 @@ send_status(int fd, struct command_status *cstat) /* * Wait for command status after receiving SIGCHLD. - * If the command was stopped, the status is send back to the parent. + * If the command was stopped, the status is sent back to the parent. * Otherwise, cstat is filled in but not sent. */ static void diff --git a/src/exec_ptrace.c b/src/exec_ptrace.c index b8a07892f..3d44b82e2 100644 --- a/src/exec_ptrace.c +++ b/src/exec_ptrace.c @@ -878,11 +878,12 @@ ptrace_write_vec(pid_t pid, struct sudo_ptrace_regs *regs, char **vec, unsigned long addr, unsigned long strtab) { const unsigned long strtab0 = strtab; + ssize_t nwritten; size_t i; debug_decl(ptrace_write_vec, SUDO_DEBUG_EXEC); #ifdef HAVE_PROCESS_VM_READV - ssize_t nwritten = ptrace_writev_vec(pid, regs, vec, addr, strtab); + nwritten = ptrace_writev_vec(pid, regs, vec, addr, strtab); if (nwritten != -1 || errno != ENOSYS) debug_return_ssize_t(nwritten); #endif /* HAVE_PROCESS_VM_READV */ @@ -1797,7 +1798,7 @@ ptrace_intercept_execve(pid_t pid, struct intercept_closure *closure) goto done; } - /* We can only pass the pathname to exececute via argv[0] (plugin API). */ + /* We can only pass the pathname to execute via argv[0] (plugin API). */ orig_argv0 = argv[0] ? argv[0] : (char *)""; argv[0] = pathname; if (argc == 0) { diff --git a/src/exec_pty.c b/src/exec_pty.c index 1b4bc0e5c..8a5b9446f 100644 --- a/src/exec_pty.c +++ b/src/exec_pty.c @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: ISC * - * Copyright (c) 2009-2023 Todd C. Miller + * Copyright (c) 2009-2024 Todd C. Miller * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -61,11 +61,12 @@ static struct exec_closure pty_ec; static void sync_ttysize(struct exec_closure *ec); static void schedule_signal(struct exec_closure *ec, int signo); +static void send_command_status(struct exec_closure *ec, int type, int val); /* * Allocate a pty if /dev/tty is a tty. * Fills in io_fds[SFD_USERTTY], io_fds[SFD_LEADER] and io_fds[SFD_FOLLOWER]. - * Returns the dyamically allocated pty name on success, NULL on failure. + * Returns the dynamically allocated pty name on success, NULL on failure. */ static char * pty_setup(struct command_details *details) @@ -234,7 +235,7 @@ suspend_sudo_pty(struct exec_closure *ec, int signo) } if (ec->foreground) { sudo_debug_printf(SUDO_DEBUG_INFO, - "%s: command received SIG%s, parent running in the foregound", + "%s: command received SIG%s, parent running in the foreground", __func__, signame); if (!ec->term_raw) { if (sudo_term_raw(io_fds[SFD_USERTTY], term_raw_flags)) @@ -331,6 +332,32 @@ sigttin(int signo) got_sigttin = 1; } +/* + * Close the leader fd to revoke the pty and signal the foreground pgrp. + * We send SIGHUP to the foreground process group (or the command's + * process group if no pty) after closing the leader fd. We cannot + * just forward the SIGHUP we receive from the kernel since the + * command may not be the foreground process. This fixes a problem + * on Linux with, e.g. "sudo su" where su(1) blocks SIGHUP. + */ +static void +revoke_pty(struct exec_closure *ec) +{ + pid_t pgrp = ec->cmnd_pid; + debug_decl(revoke_pty, SUDO_DEBUG_EXEC); + + sudo_debug_printf(SUDO_DEBUG_NOTICE, "user's tty revoked"); + if (io_fds[SFD_LEADER] != -1) { + const pid_t tcpgrp = tcgetpgrp(io_fds[SFD_LEADER]); + if (tcpgrp != -1) + pgrp = tcpgrp; + close(io_fds[SFD_LEADER]); + } + sudo_debug_printf(SUDO_DEBUG_NOTICE, "%s: killpg(%d, SIGHUP)", + __func__, (int)pgrp); + kill(pgrp, SIGHUP); +} + /* * Read an iobuf that is ready. */ @@ -383,8 +410,17 @@ read_callback(int fd, int what, void *v) ev_free_by_fd(evbase, fd); /* If writer already consumed the buffer, close it too. */ if (iob->wevent != NULL && iob->off == iob->len) { - safe_close(sudo_ev_get_fd(iob->wevent)); - ev_free_by_fd(evbase, sudo_ev_get_fd(iob->wevent)); + /* + * Don't close the pty leader yet, it will invalidate the pty. + * We ask the monitor to signal the running process first. + */ + const int wfd = sudo_ev_get_fd(iob->wevent); + if (wfd == io_fds[SFD_LEADER]) { + revoke_pty(iob->ec); + } else { + safe_close(wfd); + } + ev_free_by_fd(evbase, wfd); iob->off = iob->len = 0; } break; @@ -461,8 +497,17 @@ write_callback(int fd, int what, void *v) iob->len - iob->off, fd); /* Close reader if there is one. */ if (iob->revent != NULL) { - safe_close(sudo_ev_get_fd(iob->revent)); - ev_free_by_fd(evbase, sudo_ev_get_fd(iob->revent)); + /* + * Don't close the pty leader, it will invalidate the pty. + * We ask the monitor to signal the running process first. + */ + const int rfd = sudo_ev_get_fd(iob->revent); + if (rfd == io_fds[SFD_LEADER]) { + revoke_pty(iob->ec); + } else { + safe_close(rfd); + } + ev_free_by_fd(evbase, rfd); } safe_close(fd); ev_free_by_fd(evbase, fd); @@ -656,6 +701,13 @@ backchannel_cb(int fd, int what, void *v) case sizeof(cstat): /* Check command status. */ switch (cstat.type) { + case CMD_ERRNO: + /* Monitor was unable to execute command or broken pipe. */ + sudo_debug_printf(SUDO_DEBUG_INFO, "errno from monitor: %s", + strerror(cstat.val)); + sudo_ev_loopbreak(ec->evbase); + *ec->cstat = cstat; + break; case CMD_PID: ec->cmnd_pid = cstat.val; sudo_debug_printf(SUDO_DEBUG_INFO, "executed %s, pid %d", @@ -693,13 +745,6 @@ backchannel_cb(int fd, int what, void *v) *ec->cstat = cstat; } break; - case CMD_ERRNO: - /* Monitor was unable to execute command or broken pipe. */ - sudo_debug_printf(SUDO_DEBUG_INFO, "errno from monitor: %s", - strerror(cstat.val)); - sudo_ev_loopbreak(ec->evbase); - *ec->cstat = cstat; - break; } /* Keep reading command status messages until EAGAIN or EOF. */ break; @@ -718,7 +763,7 @@ backchannel_cb(int fd, int what, void *v) } /* - * Handle changes to the monitors's status (SIGCHLD). + * Handle changes to the monitor's status (SIGCHLD). */ static void handle_sigchld_pty(struct exec_closure *ec) @@ -819,6 +864,15 @@ signal_cb_pty(int signo, int what, void *v) case SIGWINCH: sync_ttysize(ec); break; + case SIGHUP: + /* + * Avoid forwarding SIGHUP sent by the kernel, it probably means + * that the user's terminal was revoked. When we detect that the + * terminal has been revoked, the monitor will send SIGHUP itself. + */ + if (!USER_SIGNALED(sc->siginfo)) + break; + FALLTHROUGH; default: /* * Do not forward signals sent by the command itself or a member of the @@ -1233,7 +1287,7 @@ exec_pty(struct command_details *details, sudo_fatal("dup"); } else { sudo_debug_printf(SUDO_DEBUG_INFO, - "stderr /dev/tty, creating a pipe"); + "stderr not user's tty, creating a pipe"); if (pipe2(io_pipe[STDERR_FILENO], O_CLOEXEC) != 0) sudo_fatal("%s", U_("unable to create pipe")); io_buf_new(io_pipe[STDERR_FILENO][0], STDERR_FILENO, @@ -1382,7 +1436,7 @@ exec_pty(struct command_details *details, if (sudo_ev_dispatch(ec->evbase) == -1) sudo_warn("%s", U_("error in event loop")); if (sudo_ev_got_break(ec->evbase)) { - /* error from callback or monitor died */ + /* error from callback */ sudo_debug_printf(SUDO_DEBUG_ERROR, "event loop exited prematurely"); /* XXX: no good way to know if we should terminate the command. */ if (cstat->val == CMD_INVALID && ec->cmnd_pid != -1) { diff --git a/src/load_plugins.c b/src/load_plugins.c index df08b9579..d8cb1ebe2 100644 --- a/src/load_plugins.c +++ b/src/load_plugins.c @@ -40,7 +40,7 @@ sudo_qualify_plugin(struct plugin_info *info, char *fullpath, size_t pathsize) { const char *plugin_dir = sudo_conf_plugin_dir_path(); int len; - debug_decl(sudo_stat_plugin, SUDO_DEBUG_PLUGIN); + debug_decl(sudo_qualify_plugin, SUDO_DEBUG_PLUGIN); if (info->path[0] == '/') { if (strlcpy(fullpath, info->path, pathsize) >= pathsize) { diff --git a/src/parse_args.c b/src/parse_args.c index f74738fb4..2a84fd176 100644 --- a/src/parse_args.c +++ b/src/parse_args.c @@ -85,7 +85,6 @@ static struct sudo_settings sudo_settings[] = { { "askpass" }, { "intercept_setid" }, { "intercept_ptrace" }, - { "apparmor_profile" }, { NULL } }; diff --git a/src/regress/ttyname/check_ttyname.c b/src/regress/ttyname/check_ttyname.c index 715423d1d..779f73612 100644 --- a/src/regress/ttyname/check_ttyname.c +++ b/src/regress/ttyname/check_ttyname.c @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: ISC * - * Copyright (c) 2013-2020, 2022 Todd C. Miller + * Copyright (c) 2013-2020, 2022, 2024 Todd C. Miller * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -40,7 +40,7 @@ sudo_dso_public int main(int argc, char *argv[]); int sudo_debug_instance = SUDO_DEBUG_INSTANCE_INITIALIZER; -extern char *get_process_ttyname(char *name, size_t namelen); +extern dev_t get_process_ttyname(char *name, size_t namelen); static int match_ttys(const char *tty1, const char *tty2) @@ -69,6 +69,7 @@ main(int argc, char *argv[]) char *tty_libc = NULL, *tty_sudo = NULL; char pathbuf[PATH_MAX]; bool verbose = false; + dev_t ttydev = -1; int ch, errors = 0, ntests = 1; initprogname(argc > 0 ? argv[0] : "check_ttyname"); @@ -85,9 +86,30 @@ main(int argc, char *argv[]) } /* Lookup tty name using kernel info if possible. */ - if (get_process_ttyname(pathbuf, sizeof(pathbuf)) != NULL) + ttydev = get_process_ttyname(pathbuf, sizeof(pathbuf)); + if (ttydev != (dev_t)-1) { + char numbuf[STRLEN_MAX_SIGNED(long long) + 1]; + const char *errstr; + dev_t newdev; + + /* For comparison below. */ tty_sudo = pathbuf; + /* Check that we can format a dev_t as a string and parse it. */ + ntests++; + (void)snprintf(numbuf, sizeof(numbuf), "%lld", (long long)ttydev); + newdev = sudo_strtonum(numbuf, LLONG_MIN, LLONG_MAX, &errstr); + if (errstr != NULL) { + printf("%s: FAIL unable to parse device number %s: %s", + getprogname(), numbuf, errstr); + errors++; + } else if (ttydev != newdev) { + printf("%s: FAIL device mismatch for %s, %s != %lld", + getprogname(), pathbuf, numbuf, (long long)ttydev); + errors++; + } + } + #if defined(HAVE_KINFO_PROC2_NETBSD) || \ defined(HAVE_KINFO_PROC_OPENBSD) || \ defined(HAVE_KINFO_PROC_FREEBSD) || \ diff --git a/src/sudo.c b/src/sudo.c index 9d929e4a3..3700a79ee 100644 --- a/src/sudo.c +++ b/src/sudo.c @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: ISC * - * Copyright (c) 2009-2023 Todd C. Miller + * Copyright (c) 2009-2024 Todd C. Miller * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -507,8 +507,9 @@ static char ** get_user_info(struct user_details *ud) { char *cp, **info, path[PATH_MAX]; - size_t info_max = 32 + RLIM_NLIMITS; + size_t info_max = 33 + RLIM_NLIMITS; size_t i = 0, n; + dev_t ttydev; mode_t mask; struct passwd *pw; int ttyfd; @@ -617,7 +618,10 @@ get_user_info(struct user_details *ud) ud->cwd = info[i] + sizeof("cwd=") - 1; } - if (get_process_ttyname(path, sizeof(path)) != NULL) { + ttydev = get_process_ttyname(path, sizeof(path)); + if (ttydev != (dev_t)-1) { + if (asprintf(&info[++i], "ttydev=%lld", (long long)ttydev) == -1) + goto oom; info[++i] = sudo_new_key_val("tty", path); if (info[i] == NULL) goto oom; diff --git a/src/sudo.h b/src/sudo.h index 5156cc3b5..bc42827a5 100644 --- a/src/sudo.h +++ b/src/sudo.h @@ -105,7 +105,6 @@ #define ARG_ASKPASS 26 #define ARG_INTERCEPT_SETID 27 #define ARG_INTERCEPT_PTRACE 28 -#define ARG_APPARMOR_PROFILE 29 /* * Flags for tgetpass() @@ -316,7 +315,8 @@ char *getenv_unhooked(const char *name); /* interfaces.c */ int get_net_ifs(char **addrinfo); -char *get_process_ttyname(char *name, size_t namelen); +/* ttyname.c */ +dev_t get_process_ttyname(char *name, size_t namelen); /* signal.c */ struct sigaction; diff --git a/src/sudo_edit.c b/src/sudo_edit.c index b7f7ca5e7..aacb39654 100644 --- a/src/sudo_edit.c +++ b/src/sudo_edit.c @@ -141,7 +141,7 @@ sudo_edit_mktemp(const char *ofile, char **tfile) suff = strrchr(base, '.'); if (suff != NULL) { len = asprintf(tfile, "%s/%.*sXXXXXXXX%s", edit_tmpdir, - (int)(size_t)(suff - base), base, suff); + (int)(suff - base), base, suff); } else { len = asprintf(tfile, "%s/%s.XXXXXXXX", edit_tmpdir, base); } diff --git a/src/ttyname.c b/src/ttyname.c index 45f8c216a..ae8bc9789 100644 --- a/src/ttyname.c +++ b/src/ttyname.c @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: ISC * - * Copyright (c) 2012-2022 Todd C. Miller + * Copyright (c) 2012-2023 Todd C. Miller * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -97,13 +97,13 @@ * Store the name of the tty to which the process is attached in name. * Returns name on success and NULL on failure, setting errno. */ -char * +dev_t get_process_ttyname(char *name, size_t namelen) { struct sudo_kinfo_proc *ki_proc = NULL; size_t size = sizeof(*ki_proc); int mib[6], rc, serrno = errno; - char *ret = NULL; + dev_t ttydev = (dev_t)-1; debug_decl(get_process_ttyname, SUDO_DEBUG_UTIL); /* @@ -133,11 +133,12 @@ get_process_ttyname(char *name, size_t namelen) if (rc != -1) { if ((dev_t)ki_proc->sudo_kp_tdev != (dev_t)-1) { errno = serrno; - ret = sudo_ttyname_dev((dev_t)ki_proc->sudo_kp_tdev, name, namelen); - if (ret == NULL) { - sudo_debug_printf(SUDO_DEBUG_WARN|SUDO_DEBUG_LINENO|SUDO_DEBUG_ERRNO, - "unable to map device number %lu to name", - (unsigned long)ki_proc->sudo_kp_tdev); + ttydev = (dev_t)ki_proc->sudo_kp_tdev; + if (sudo_ttyname_dev(ttydev, name, namelen) == NULL) { + sudo_warnx( + U_("unable to find terminal name for device %u, %u"), + (unsigned int)major(ttydev), (unsigned int)minor(ttydev)); + ttydev = (dev_t)-1; } } } else { @@ -146,18 +147,19 @@ get_process_ttyname(char *name, size_t namelen) } free(ki_proc); - debug_return_str(ret); + debug_return_dev_t(ttydev); } #elif defined(HAVE_STRUCT_PSINFO_PR_TTYDEV) /* * Store the name of the tty to which the process is attached in name. * Returns name on success and NULL on failure, setting errno. */ -char * +dev_t get_process_ttyname(char *name, size_t namelen) { - char path[PATH_MAX], *ret = NULL; + dev_t ttydev = (dev_t)-1; struct psinfo psinfo; + char path[PATH_MAX]; ssize_t nread; int fd, serrno = errno; debug_decl(get_process_ttyname, SUDO_DEBUG_UTIL); @@ -168,14 +170,19 @@ get_process_ttyname(char *name, size_t namelen) nread = read(fd, &psinfo, sizeof(psinfo)); close(fd); if (nread == (ssize_t)sizeof(psinfo)) { - dev_t rdev = (dev_t)psinfo.pr_ttydev; + ttydev = (dev_t)psinfo.pr_ttydev; #if defined(_AIX) && defined(DEVNO64) if ((psinfo.pr_ttydev & DEVNO64) && sizeof(dev_t) == 4) - rdev = makedev(major64(psinfo.pr_ttydev), minor64(psinfo.pr_ttydev)); + ttydev = makedev(major64(psinfo.pr_ttydev), minor64(psinfo.pr_ttydev)); #endif - if (rdev != (dev_t)-1) { + if (ttydev != (dev_t)-1) { errno = serrno; - ret = sudo_ttyname_dev(rdev, name, namelen); + if (sudo_ttyname_dev(ttydev, name, namelen) == NULL) { + sudo_warnx( + U_("unable to find terminal name for device %u, %u"), + (unsigned int)major(ttydev), (unsigned int)minor(ttydev)); + ttydev = (dev_t)-1; + } goto done; } } @@ -186,7 +193,13 @@ get_process_ttyname(char *name, size_t namelen) /* Missing /proc/pid/psinfo file. */ for (i = STDIN_FILENO; i <= STDERR_FILENO; i++) { if (sudo_isatty(i, &sb)) { - ret = sudo_ttyname_dev(sb.st_rdev, name, namelen); + ttydev = sb.st_rdev; + if (sudo_ttyname_dev(ttydev, name, namelen) == NULL) { + sudo_warnx( + U_("unable to find terminal name for device %u, %u"), + (unsigned int)major(ttydev), (unsigned int)minor(ttydev)); + ttydev = (dev_t)-1; + } goto done; } } @@ -194,23 +207,23 @@ get_process_ttyname(char *name, size_t namelen) errno = ENOENT; done: - if (ret == NULL) + if (ttydev == (dev_t)-1) sudo_debug_printf(SUDO_DEBUG_WARN|SUDO_DEBUG_LINENO|SUDO_DEBUG_ERRNO, "unable to resolve tty via %s", path); - debug_return_str(ret); + debug_return_dev_t(ttydev); } #elif defined(__linux__) /* * Store the name of the tty to which the process is attached in name. * Returns name on success and NULL on failure, setting errno. */ -char * +dev_t get_process_ttyname(char *name, size_t namelen) { const char path[] = "/proc/self/stat"; + dev_t ttydev = (dev_t)-1; char *cp, buf[1024]; - char *ret = NULL; int serrno = errno; pid_t ppid = 0; ssize_t nread; @@ -264,9 +277,14 @@ get_process_ttyname(char *name, size_t namelen) * signed int but the actual device number is an * unsigned int and dev_t is unsigned long long. */ - dev_t tdev = (unsigned int)tty_nr; + ttydev = (unsigned int)tty_nr; errno = serrno; - ret = sudo_ttyname_dev(tdev, name, namelen); + if (sudo_ttyname_dev(ttydev, name, namelen) == NULL) { + sudo_warnx( + U_("unable to find terminal name for device %u, %u"), + (unsigned int)major(ttydev), (unsigned int)minor(ttydev)); + ttydev = (dev_t)-1; + } goto done; } break; @@ -288,7 +306,13 @@ get_process_ttyname(char *name, size_t namelen) /* No parent pid found, /proc/self/stat is missing or corrupt. */ for (i = STDIN_FILENO; i <= STDERR_FILENO; i++) { if (sudo_isatty(i, &sb)) { - ret = sudo_ttyname_dev(sb.st_rdev, name, namelen); + ttydev = sb.st_rdev; + if (sudo_ttyname_dev(sb.st_rdev, name, namelen) == NULL) { + sudo_warnx( + U_("unable to find terminal name for device %u, %u"), + (unsigned int)major(ttydev), (unsigned int)minor(ttydev)); + ttydev = (dev_t)-1; + } goto done; } } @@ -298,23 +322,23 @@ get_process_ttyname(char *name, size_t namelen) done: if (fd != -1) close(fd); - if (ret == NULL) + if (ttydev == (dev_t)-1) sudo_debug_printf(SUDO_DEBUG_WARN|SUDO_DEBUG_LINENO|SUDO_DEBUG_ERRNO, "unable to resolve tty via %s", path); - debug_return_str(ret); + debug_return_dev_t(ttydev); } #elif defined(HAVE_PSTAT_GETPROC) /* * Store the name of the tty to which the process is attached in name. * Returns name on success and NULL on failure, setting errno. */ -char * +dev_t get_process_ttyname(char *name, size_t namelen) { - struct pst_status pst; - char *ret = NULL; + dev_t ttydev = (dev_t)-1; int rc, serrno = errno; + struct pst_status pst; debug_decl(get_process_ttyname, SUDO_DEBUG_UTIL); /* @@ -326,26 +350,31 @@ get_process_ttyname(char *name, size_t namelen) if (rc != -1 || errno == EOVERFLOW) { if (pst.pst_term.psd_major != -1 && pst.pst_term.psd_minor != -1) { errno = serrno; - ret = sudo_ttyname_dev(makedev(pst.pst_term.psd_major, - pst.pst_term.psd_minor), name, namelen); + ttydev = makedev(pst.pst_term.psd_major, pst.pst_term.psd_minor); + if (sudo_ttyname_dev(ttydev, name, namelen) == NULL) { + sudo_warnx( + U_("unable to find terminal name for device %u, %u"), + (unsigned int)pst.pst_term.psd_major, + (unsigned int)pst.pst_term.psd_minor); + ttydev = (dev_t)-1; + } goto done; } } + sudo_debug_printf(SUDO_DEBUG_WARN|SUDO_DEBUG_LINENO|SUDO_DEBUG_ERRNO, + "unable to resolve tty via pstat"); errno = ENOENT; done: - if (ret == NULL) - sudo_debug_printf(SUDO_DEBUG_WARN|SUDO_DEBUG_LINENO|SUDO_DEBUG_ERRNO, - "unable to resolve tty via pstat"); - debug_return_str(ret); + debug_return_dev_t(ttydev); } #else /* * Store the name of the tty to which the process is attached in name. * Returns name on success and NULL on failure, setting errno. */ -char * +dev_t get_process_ttyname(char *name, size_t namelen) { struct stat sb; @@ -365,14 +394,14 @@ get_process_ttyname(char *name, size_t namelen) sudo_debug_printf( SUDO_DEBUG_WARN|SUDO_DEBUG_LINENO|SUDO_DEBUG_ERRNO, "unable to store tty from ttyname"); - debug_return_str(NULL); + debug_return_dev_t(-1); } - debug_return_str(name); + debug_return_dev_t(sb.st_rdev); } sudo_debug_printf(SUDO_DEBUG_WARN|SUDO_DEBUG_LINENO|SUDO_DEBUG_ERRNO, "unable to resolve tty via ttyname"); errno = ENOENT; - debug_return_str(NULL); + debug_return_dev_t((dev_t)-1); } #endif